KR20220028128A - 화자 종속 음성 모델(들)을 사용한 화자 인식 - Google Patents

화자 종속 음성 모델(들)을 사용한 화자 인식 Download PDF

Info

Publication number
KR20220028128A
KR20220028128A KR1020227004112A KR20227004112A KR20220028128A KR 20220028128 A KR20220028128 A KR 20220028128A KR 1020227004112 A KR1020227004112 A KR 1020227004112A KR 20227004112 A KR20227004112 A KR 20227004112A KR 20220028128 A KR20220028128 A KR 20220028128A
Authority
KR
South Korea
Prior art keywords
audio data
model
speaker
instance
additional
Prior art date
Application number
KR1020227004112A
Other languages
English (en)
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 KR20220028128A publication Critical patent/KR20220028128A/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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • 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
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • 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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/065Adaptation
    • G10L15/07Adaptation to the speaker
    • 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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/065Adaptation
    • G10L15/07Adaptation to the speaker
    • G10L15/075Adaptation to the speaker supervised, i.e. under machine guidance
    • 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/20Speech recognition techniques specially adapted for robustness in adverse environments, e.g. in noise, of stress induced speech
    • 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/20Pattern transformations or operations aimed at increasing system robustness, e.g. against channel noise or different working conditions
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Machine Translation (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 명세서에 개시된 기법은 클라이언트 디바이스의 임의의 사용자에게 개인화될 수 있는 화자 종속(SD, speaker dependent) 음성 모델을 트레이닝 및/또는 활용할 수 있게 한다. 다양한 구현예는 오디오 데이터의 인스턴스와 함께 타겟 사용자에 대응하는 화자 임베딩을 SD 음성 모델을 사용하여 프로세싱함으로써 타겟 사용자를 위한 SD 음성 모델을 개인화하는 것을 포함한다. SD 음성 모델은 오디오 데이터의 다른 인스턴스와 함께 추가 타겟 사용자에 대응하는 추가 화자 임베딩을 SD 음성 모델을 사용하여 프로세싱함으로써 추가 타겟 사용자에 대해 개인화될 수 있다. 추가 또는 대안 구현예는 교사 학생 학습을 사용하는 화자 독립 음성 모델에 기초하여 SD 음성 모델을 트레이닝하는 것을 포함한다.

Description

화자 종속 음성 모델(들)을 사용한 화자 인식
자동화된 어시스턴트("퍼스널 어시스턴트", "모바일 어시스턴트"로도 알려짐)는 스마트폰, 태블릿 컴퓨터, 웨어러블 디바이스, 오토모빌 시스템, 단독형 퍼스널 어시스턴트 디바이스 등과 같은 다양한 클라이언트 디바이스들을 통해 사용자에 의해 인터렉션될 수 있다. 자동화된 어시스턴트는 음성 자연어 입력(즉, 발언)을 포함하는 사용자로부터의 입력을 수신하고, 다른 디바이스를 제어 및/또는 응답 콘텐츠(예를 들어, 시각적 및/또는 청각적 자연어 출력)를 제공하여 액션을 수행함으로써 응답할 수 있다. 클라이언트 디바이스를 통해 인터렉션하는 자동화된 어시스턴트는 클라이언트 디바이스 그 자체를 통해 및/또는 상기 클라이언트 디바이스와 네트워크 통신을 하는 하나 이상의 원격 컴퓨팅 디바이스들(예를 들어 "클라우드"의 컴퓨팅 디바이스(들))을 통해 구현될 수 있다.
자동화된 어시스턴트는 사용자의 음성 발화에 대응하는 오디오 데이터를 대응하는 텍스트(또는 다른 의미론적 표현)로 변환할 수 있다. 예를 들어, 오디오 데이터는 자동화된 어시스턴트를 포함하는 클라이언트 디바이스의 하나 이상의 마이크로폰을 통한 사용자의 음성 발화의 검출에 기초하여 생성될 수 있다. 자동화된 어시스턴트는 오디오 데이터에 캡처된 음성 발화의 다양한 특성, 예를 들어 음성 발화에 의해 생성된 소리(예: 음소), 발음된 소리의 순서, 음성 리듬, 억양 등을 인식하려고 시도하는 음성 인식 엔진을 포함할 수 있다. 또한, 음성 인식 엔진은 이러한 특성으로 표현되는 텍스트 단어 또는 구를 식별할 수 있다. 그 다음, 텍스트는 음성 발화에 대한 응답 콘텐츠를 결정함에 있어 (예를 들어, 자연어 이해 엔진 및/또는 대화 상태 엔진을 사용하여) 자동화된 어시스턴트에 의해 추가로 프로세싱될 수 있다. 음성 인식 엔진은 클라이언트 디바이스 및/또는 클라이언트 디바이스로부터 멀리 떨어져 있지만 클라이언트 디바이스와 네트워크 통신하는 하나 이상의 자동화된 어시스턴트 컴포넌트(들)에 의해 구현될 수 있다.
본 명세서에 기술된 기법은 트레이닝된 화자 독립(SI) 음성 모델(SI 음성 모델)에 기초하여 화자 종속(SD) 음성 모델(SD 음성 모델)을 트레이닝하는 것에 관한 것이며, SD 음성 모델은 일단 트레이닝되면 임의의 사용자에게 개인화될 수 있다. 본 명세서에 기술된 기법은 추가로 또는 대안적으로 트레이닝된 SD 음성 모델을 사용하여 타겟 사용자에게 개인화된 출력을 생성하기 위해 타겟 사용자에 대한 화자 임베딩과 함께 오디오 데이터를 프로세싱하는 것에 관한 것이다. 출력은 오디오 데이터에 포함된 타겟 사용자(있는 경우)의 음성 발화(들)만 반영한다는 점에서 타겟 사용자에게 개인화된다. 하나의 비제한적인 예로서, 트레이닝된 SD 음성 모델이 핫워드 검출 모델인 경우, 출력은 오디오 데이터가 타겟 사용자가 말한 핫워드를 포함하는지 여부를 반영할 것이다. 따라서, 오디오 데이터가 다른 타겟 사용자에 의해 발화된 핫워드만을 포함한다면, 출력은 오디오 데이터가 타겟 사용자가 말한 핫워드를 포함하지 않는다는 것을 반영할 것이다. 반면에 오디오 데이터가 타겟 사용자가 말한 핫워드가 포함하는 경우, 출력은 오디오 데이터가 타겟 사용자가 말한 핫워드가 포함함을 나타낸다. 본 명세서에 기술된 바와 같이, 트레이닝된 SD 음성 모델을 사용하여 생성된 출력은 트레이닝된 SD 음성 모델을 사용하고 오디오 데이터와 함께 타겟 사용자에 대한 화자 임베딩을 사용하여 프로세싱한 결과로서 타겟 사용자에게 개인화된다. 따라서, 동일한 트레이닝된 SD 음성 모델(또는 그 사본)을 사용하고 오디오 데이터와 함께 상이한 타겟 사용자에 대한 상이한 화자 임베딩이 프로세싱되어 상이한 타겟 사용자에게 개인화되는 상이한 출력을 생성할 수 있다. 이러한 방식 및 다른 방식으로, 동일한 SD 음성 모델(또는 그 사본)이 사용되며 SD 음성 모델을 사용하여 대응하는 오디오 데이터와 함께 사용자들 중 대응하는 사용자에 대한 화자 임베딩을 프로세싱하여 복수의 사용자 중 임의의 대응하는 사용자에게 맞춤화될 수 있다.
하나의 특정 예로서, Katherine에 대한 제1 화자 임베딩, Caleb에 대한 제2 화자 임베딩, 그리고 Katherine의 음성 발화(들)를 캡처하지만 Caleb의 어떤 음성 발화(들)도 캡처하지 않는 오디오 데이터를 가정한다. SD 음성 모델이 (a) Katherine의 음성 발화(들)을 캡처하지만 Caleb의 음성 발화를 캡처하지 않는 오디오 데이터 및 (b) 제1 화자 임베딩(Katherine에 대응)을 프로세싱하는데 사용되는 경우, Katherine에게 개인화된 출력이 생성될 것이다. 예를 들어, SD 음성 모델이 자동 음성 인식(ASR) 모델인 경우 출력은 Katherine의 음성 발화에 대해 인식된 텍스트(직, 간접적으로)를 나타낼 수 있다(오디오 데이터에 캡처되었을 수 있는 다른 사용자(들)의 발화(들)에 대한 임의의 인식된 텍스트를 표시하지 않음). 반면에 SD 음성 모델이 (a) Katherine의 음성 발화(들)를 캡처하지만 Caleb의 음성 발화(들)는 캡처하지 않는 오디오 데이터 및 (b) 제2 화자 임베딩(Caleb에 대응)을 프로세싱하는데 사용되는 경우, Caleb에게 개인화된 출력이 생성될 것이다. 예를 들어, SD 음성 모델이 ASR 모델인 경우, 출력은 오디오 데이터에 대해 인식된 텍스트가 없음을 (직, 간접적으로) 표시할 수 있다(즉, 오디오 데이터가 Caleb의 음성 발화(들)를 캡처하지 않기 때문에). 특정 예의 연속으로, Caleb의 음성 발화(들)을 캡처하지만 Katherine의 음성 발화(들)은 캡처하지 않는 추가 오디오 데이터를 가정한다. 추가 오디오 데이터가 SD 음성 모델을 사용하여 제2 화자 임베딩(Caleb용)과 함께 프로세싱되면, Caleb에게 개인화된 출력이 생성될 것이다. 예를 들어, SD 음성 모델이 ASR 모델인 경우 출력은 Caleb의 음성 발화에 대해 인식된 텍스트(직, 간접적으로)를 나타낼 수 있다(추가 오디오 데이터에 캡처되었을 수 있는 다른 사용자(들)의 발화(들)에 대한 임의의 인식된 텍스트를 표시하지 않음). 반면에 제1 화자 임베딩(Katherine용)과 함께 SD 음성 모델을 사용하여 추가 오디오 데이터가 프로세싱되면, Katherine에게 개인화된 출력이 생성될 것이다. 예를 들어, SD 음성 모델이 ASR 모델인 경우, 출력은 오디오 데이터에 대해 인식된 텍스트가 없음을 (직, 간접적으로) 표시할 수 있다(즉, 추가 오디오 데이터가 Katherine의 음성 발화(들)를 캡처하지 않기 때문에).
많은 트레이닝 구현예에서, SD 음성 모델은 교사-학생 학습 기법(들)을 사용하여 SI 음성 모델에 기초하여 트레이닝될 수 있다. 교사-학생 학습에서, 소스 영역 모델(즉, SI 음성 모델)에 의해 생성된 확률은 타겟 영역 모델(즉, SD 음성 모델)을 트레이닝하는데 사용될 수 있다. SD 음성 모델을 트레이닝할 때, SI 음성 모델은 SI 출력을 생성하기 위해 단일 타겟 화자의 발화(들)를 캡처하는 오디오 데이터의 깨끗한 인스턴스를 프로세싱하는데 사용될 수 있다. SD 음성 모델은 타겟 화자에 대응하는 화자 임베딩과 함께 오디오 데이터의 잡음이 있는 인스턴스를 프로세싱하여 SD 출력을 생성하는데 사용될 수 있고, 여기서 오디오 데이터의 잡음이 있는 인스턴스는 단일 타겟 화자의 발화(들)을 캡처하는 오디오 데이터의 인스턴스와 타겟 화자로부터의 것이 아닌 하나 이상의 추가 사운드(예: 하나 이상의 추가 화자로부터의 발언(들), 배경 소음(들) 등)를 결합함으로써 생성된다. 따라서, SI 출력은 SI 음성 모델을 사용하여 오디오 데이터의 깨끗한 인스턴스를 프로세싱하고, 화자 임베딩을 프로세싱하지 않는 것에 기초하여 생성된다. 반면에, SD 출력은 SD 음성 모델을 사용하여 오디오 데이터의 잡음이 있는 인스턴스 및 화자 임베딩을 프로세싱하는 것에 기초하여 생성된다. SI 출력과 SD 출력의 차이에 따라 손실이 결정될 수 있다(예를 들어, SI 출력과 SD 출력에 기초하여 크로스 엔트로피 손실이 결정될 수 있다). 많은 구현예에서, SD 음성 모델의 하나 이상의 부분은 결정된 손실에 기초하여 업데이트될 수 있다. 예를 들어, SD 음성 모델은 손실 및 선택적으로 추가 손실(들)에 기초하여 업데이트될 수 있다(예를 들어, 배치 트레이닝 기법으로). 다양한 오디오 데이터 인스턴스와 다양한 화자 임베딩에 대한 대량의 반복을 통해 SD 음성 모델은 모든 타겟 화자에게 개인화할 수 있도록 트레이닝될 수 있다.
다양한 구현예에서, SI 음성 모델은 SD 음성 모델을 트레이닝하는 동안 동결될 수 있다. 즉, 결정된 손실에 기초하여 SI 음성 모델은 업데이트되지 않는다. 다양한 구현예에서, SD 음성 모델은 SI 음성 모델과 동일한 네트워크 토폴로지를 가질 수 있다. 추가적으로 또는 대안적으로, SD 음성 모델은 더 작은 네트워크 토폴로지와 같은 SI 음성 모델과 다른 네트워크 토폴로지를 가질 수 있다. 예를 들어, SD 음성 모델은 더 적은 노드를 가질 수 있으므로 더 작은 메모리 풋프린트를 가질 수 있고 및/또는 모델은 더 작은 스토리지 풋프린트를 가질 수 있다. 더 작은 메모리 및/또는 스토리지 풋프린트는 종종 리소스가 제한된 클라이언트 디바이스로 하여금 트레이닝된 SD 음성 모델을 활용하게 하거나 및/또는 트레이닝된 SD 음성 모델을 활용하는데 더 적은 메모리 리소스를 활용하게 할 수 있다.
일부 구현예에서, 인간 화자는 인간 화자의 발화(들)를 캡처하는 오디오 데이터에서 라벨링될 수 있다. 화자 임베딩은 라벨링된 화자에 대응하는 미리 계산된 화자 임베딩을 선택하여 결정될 수 있다. 예를 들어, James에 대응하는 미리 계산된 화자 임베딩은 James의 발화(들)을 캡처하는 것으로 라벨링된 오디오 데이터의 인스턴스에 대해 선택될 수 있다. 추가적으로 또는 대안적으로, 화자 임베딩 모델을 사용하여 오디오 데이터(및/또는 동일한 화자로부터 나온 것으로 알려진 다른 오디오 데이터)의 일부(들)를 프로세싱함으로써 화자 임베딩이 생성될 수 있다. 즉, 라벨링된 오디오 데이터가 필요 없이 오디오 데이터 자체의 인스턴스에 기초하여 화자 임베딩이 생성될 수 있다. 이를 통해 비구조화된 데이터를 사용하여 SD 음성 모델을 트레이닝할 수 있다.
본 명세서에 개시된 기법은 자동 음성 인식(ASR) 모델, 음성 활동 검출(VAD) 모델, 핫워드 검출 모델, 음성 향상 모델 및/또는 추가 음성 모델을 포함하는 다양한 음성 모델 중 임의의 것과 함께 활용될 수 있다. 예를 들어, 화자 종속 VAD 모델(SD VAD 모델)은 화자 독립 VAD 모델(SI VAD 모델)에 기초하여 트레이닝될 수 있다. 유사하게, 화자 종속 핫워드 검출 모델은 화자 독립 핫워드 검출 모델에 기초하여 트레이닝될 수 있다.
많은 구현예에서, 시스템은 다수의 SD 음성 모델을 포함할 수 있다. 예를 들어, 시스템은 VAD 모델, 핫워드 검출 모델 및 ASR 모델을 포함할 수 있고, 여기서 VAD 모델을 사용하여 생성된 출력은 핫워드 검출 모델을 사용하여 오디오 데이터를 프로세싱할지 여부를 결정하는데 사용되며, 핫워드 검출 모델을 사용하여 생성된 출력은 ASR 모델을 사용하여 오디오 데이터를 프로세싱할지 여부를 결정하는데 사용된다. 일부 구현예에서, 시스템의 모든 음성 모델은 SD 음성 모델이다. 예를 들어, 시스템은 SD VAD 모델, SD 핫워드 검출 모델 및 SD ASR 모델을 포함할 수 있다. 일부 다른 구현예에서, 시스템의 모든 음성 모델은 아니지만 일부는 SD 음성 모델이다. 예를 들어, 시스템은 SD VAD 모델, SI 핫워드 검출 모델 및 SI ASR 모델을 포함할 수 있고; 시스템은 SD VAD 모델, SD 핫워드 검출 모델 및 SI ASR 모델을 포함할 수 있고; 시스템은 SI VAD 모델, SI 핫워드 검출 모델 및 SD ASR 모델을 포함할 수 있다. 화자 종속 및/또는 화자 독립 음성 모델의 추가 또는 대안적 조합은 많은 구현예에 따라 시스템 내에서 활용될 수 있다.
따라서, 다양한 구현예는 교사-학생 학습을 사용하여 SI 음성 모델에 기초하여 SD 음성 모델을 트레이닝하기 위한 기법을 제시한다. 완전 지도(supervised) 방식으로 트레이닝 인스턴스를 생성하는 것은 리소스 및/또는 노동 집약적일 수 있다. 예를 들어, 단일 트레이닝 인스턴스를 생성할 때, 관련 데이터(예: 단일 화자의 음성 발화를 캡처하는 오디오 데이터)는 검토자의 클라이언트 디바이스로 전송되어야 하며, 클라이언트 디바이스의 검토자가 주석을 제공하게 하는데 활용되어야 하고(예: 오디오 데이터의 인스턴스에 단일 화자 라벨링), 주석은 트레이닝 인스턴스 생성을 위해 다시 전송되어야 한다. 본 명세서에 개시된 구현예는 구조화되지 않은 데이터(예: 화자를 식별하는 대응 라벨이 없는 오디오 데이터)를 사용하여 트레이닝 인스턴스를 생성하는 것을 활용하여, 시스템이 검토자의 클라이언트 디바이스로 데이터를 전송하지 않고 그리고 검토자가 제공한 주석을 얻을 때 해당 클라이언트 디바이스의 리소스를 활용하지 않고 다양한 별개의 화자에 대응하는 트레이닝 데이터를 빠르게 생성할 수 있게 한다. 추가적으로 또는 대안적으로, 다수의 트레이닝 인스턴스가 다양한 리소스로부터 자동으로 생성될 수 있으며, 이는 그러한 트레이닝 인스턴스에 대해 트레이닝된 SD 음성 모델을 사용하여 생성된 출력의 정확성 및/또는 견고성을 향상시킬 수 있다. 많은 구현예에서, SD 음성 모델은 자동으로 생성된 트레이닝 데이터를 사용하여 트레이닝될 수 있다. 예를 들어, 화자 임베딩은 오디오 데이터 인스턴스의 일부(들)에 기반하여 자동으로 생성될 수 있고, 오디오 데이터의 잡음이 있는 인스턴스는 오디오 데이터의 발화(들)를 오디오 데이터에서 캡처된 발화(들)의 화자로부터의 것이 아닌 추가 잡음과 결합하여 자동으로 생성될 수 있다.
또한, SD 음성 모델은 오디오 데이터와 함께 대응하는 화자 임베딩의 프로세싱을 통해 모든 타겟 사용자에 대해 개인화될 수 있으며, 이에 따라 타겟 사용자 및 오디오 데이터에 특정적인 출력을 생성한다. 따라서 SD 음성 모델을 사용하여 생성된 출력은 (대응하는 오디오 데이터와 함께) 모델을 사용하여 프로세싱된 화자 임베딩에 대응하는 타겟 사용자의 발화(들)만 반영한다. 따라서, SD 음성 모델을 사용하여 생성된 특정 출력(들)의 발생에 응답하여만 수행되는 다운스트림 프로세스(들)는 타겟 사용자로부터의 발화(들)에 대해서만 수행된다. 이것은 이러한 다운스트림 프로세스(들)가 타겟 사용자가 아닌 사용자에 대해 활성화되는 인스턴스의 양을 감소시켜 이러한 다운스트림 프로세스(들)를 수행하는데 활용되는 다양한 리소스를 보존할 수 있다. 예를 들어, SD VAD 모델을 사용하여 Sam에 대한 임베딩과 함께 오디오 데이터를 프로세싱하면 오디오 데이터가 Sam의 음성 활동을 포함하는 경우 오디오 데이터의 다운스트림 프로세싱(예: ASR)을 야기하는 출력(예: 임계값을 충족하는 확률 또는 다른 측정값)을 생성하면서, 오디오 데이터가 Dean의 음성 활동을 포함하는 경우, 오디오 데이터의 추가 다운스트림 프로세싱을 방지하는 다른 출력(예: 임계값을 충족하지 못하는 확률 또는 다른 측정값)을 생성한다. 이러한 방식 및 다른 방식으로, SD VAD 모델의 다운스트림 ASR 모델과 같은 다운스트림 음성 모델은 오디오 데이터의 더 작은 부분을 프로세싱하는데 사용될 수 있으므로, 시스템 리소스(예: 배터리 전원, 프로세서 사이클, 메모리 등)를 보존한다. 또 다른 예로서, Sam에 대한 임베딩과 함께 오디오 데이터를 프로세싱하기 위해 SD 음성 모델을 사용하면 오디오 데이터가 그러한 발화(들)를 포함하는 경우 Sam의 발화(들)에 대해 (직, 간접적으로) 인식된 텍스트를 나타내는 출력을 생성할 수 있고, 오디오 데이터가 Sam의 음성 발화를 포함하지 않는 경우 인식된 텍스트가 없음을 나타내는 출력을 생성한다(다른 사용자의 음성 발언이 포함될 수 있음에도 불구하고). 따라서 인식된 텍스트를 프로세싱하는 자연어 이해(NLU) 모델 및/또는 인식된 텍스트 및/또는 NLU 프로세싱을 기반으로 응답을 생성(및/또는 기타 응답 액션을 수행)하는 이행 엔진(들)은 SD 음성 모델이 인식된 텍스트를 나타내는 경우에만(즉, 오디오 데이터가 Sam의 음성 발화(들)를 포함하는 경우에만) 활용될 것이다. 따라서 NLU 프로세싱 및/또는 이행 엔진(들)과 연관된 리소스는 SD 음성 모델이 인식된 텍스트를 나타내는 경우에만 활용될 것이다(즉, 오디오 데이터가 Sam의 음성 발화(들)를 포함하는 경우에만). 추가적으로 또는 대안적으로, SD 음성 모델은 대응하는 SI 음성 모델보다 더 작은 네트워크 토폴로지를 가질 수 있다. 토폴로지가 더 작은 네트워크는 더 작은 메모리 공간 및/또는 더 작은 스토리지 공간을 가질 수 있다. 더 작은 네트워크 토폴로지로 음성 모델을 활용하면 메모리, 스토리지 및/또는 전원 리소스의 보존과 같은 기술적 이점을 제공할 수 있으며, 이는 리소스가 제한된 클라이언트 디바이스 및/또는 기타 컴퓨팅 디바이스에 특히 유용할 수 있다.
상기 설명은 본 개시의 일부 구현예의 개요로서 제공된다. 이러한 구현예 및 기타 구현예에 대한 추가 설명은 아래에서 더 자세히 설명된다.
도 1a는 본 명세서에 개시된 다양한 구현예에 따른 화자 종속 음성 모델을 사용하여 오디오 데이터 및 화자 임베딩을 프로세싱하는 예들을 도시한다.
도 1b는 본 명세서에 개시된 다양한 구현예에 따른 화자 독립 음성 모델에 기초하여 화자 종속 음성 모델을 트레이닝하는 예를 도시한다.
도 2은 다양한 구현예들이 구현될 수 있는 예시적 환경의 블록도이다.
도 3는 본 명세서에 개시된 구현예에 따른 예시적 프로세스를 도시하는 흐름도이다.
도 4는 본 명세서에 개시된 구현예에 따른 다른 예시적 프로세스를 도시하는 다른 흐름도이다.
도 5는 본 명세서에 개시된 구현예에 따른 다른 예시적 프로세스를 도시하는 다른 흐름도이다.
도 6은 다양한 구현예가 구현될 수 있는 다른 예시적 환경의 다른 블록도이다.
도 7는 컴퓨팅 디바이스의 예시적 아키텍처를 도시하는 블록도이다.
이제 도면으로 돌아가면, 도 1a는 본 명세서에 개시된 구현예에 따라 SD 음성 모델을 사용하여 몇몇 상이한 화자 임베딩과 함께 오디오 데이터를 프로세싱하는 예들을 도시한다. 도 1a는 "화자 A" 및 "화자 B"에 의한 중첩 발화를 포함하는 오디오 데이터(102)를 포함한다. 오디오 데이터(102)의 화살표는 시간을 나타내고, 오디오 데이터(102)의 3개의 대각선 음영 영역은 "화자 A"가 각각의 발화를 제공하는 오디오 데이터의 세그먼트를 나타내고, 오디오 데이터(102)의 2개의 크로스 해치 음영 영역은 "화자 B"가 각각의 발화를 제공하는 오디오 데이터의 세그먼트를 나타낸다. 도시된 예에서, "화자 A"의 발화(들)는 "화자 B"의 발화(들)와 적어도 부분적으로 중첩된다. 도 1a는 출력 A(114)를 생성하기 위해 SD 음성 모델(112)을 사용하여 "화자 A"에 대응하는 화자 임베딩 A(110) 및 오디오 데이터(102)를 프로세싱하는 예(104)를 추가로 도시한다. SD 음성 모델(112)은 클라이언트 디바이스의 임의의 사용자에게 개인화될 수 있다. 많은 구현예에서, 화자 임베딩은 별개의 사용자에 대해 SD 음성 모델(112)을 개인화하기 위해 활용될 수 있다. 예를 들어, 화자 임베딩 A(110)는 "화자 A"에 대한 SD 음성 모델(112)을 개인화하기 위해 사용될 수 있다. "화자 A"의 발화(들)는 오디오 데이터(102)에서 캡처되므로, SD 음성 모델(112)을 사용하여 화자 임베딩 A(110)와 함께 오디오 데이터(102)를 프로세싱하면 오디오 데이터(102)가 "화자 A"의 발화(들)를 포함한다는 표시를 제공하는 출력 A(114)를 생성할 수 있다.
많은 구현예에서, 동일한 SD 음성 모델은 추가 및/또는 대체 화자 임베딩(들)과 함께 오디오 데이터를 프로세싱함으로써 추가 및/또는 대체 화자(들)에 대해 개인화될 수 있다. 도 1a는 출력 B(118)를 생성하기 위해 SD 음성 모델(112)을 사용하여 "화자 B"에 대응하는 화자 임베딩 B(116)와 함께 오디오 데이터(102)를 프로세싱하는 다른 예(106)를 도시한다. 오디오 데이터(102)는 "화자 B"의 발화(들)를 추가로 캡처하므로, SD 음성 모델(112)을 사용하여 화자 임베딩 B(110)와 함께 오디오 데이터(102)를 프로세싱하면 출력 B(118)를 생성할 수 있으며, 여기서 출력 B(118)는 오디오 데이터(102)가 "화자 B"의 발화를 포함한다는 표시를 제공한다.
도 1a는 또한 출력 C(122)를 생성하기 위해 SD 음성 모델(112)을 사용하여 "화자 C"에 대응하는 화자 임베딩 C(120)와 함께 오디오 데이터(102)를 프로세싱하는 예(108)를 도시한다. 도시된 예에서, "화자 C"의 발화(또는 최소)는 오디오 데이터(102)에서 캡처되지 않는다. 따라서, SD 음성 모델(112)을 사용하여 화자 임베딩 C(120)와 함께 오디오 데이터(102)를 프로세싱함으로써 생성된 출력 C(112)는 "화자 C"의 발언이 오디오 데이터(102)에서 캡처되지 않는다는 표시를 제공할 수 있다.
비록 도 1a의 예는 오디오 데이터(102)의 동일한 인스턴스를 프로세싱하고 있지만, 오디오 데이터의 추가 및/또는 대안적 인스턴스가 많은 구현예에 따라 프로세싱될 수 있다. 오디오 데이터는 하나 이상의 추가 및/또는 대안적 화자로부터 음성 발화(들)를 캡처할 수 있다. 예를 들어, 오디오 데이터는 3명의 사용자, 4명의 사용자, 5명의 사용자 등이 말한 발화(들)를 캡처할 수 있다. 오디오 데이터는 추가로 또는 대안적으로 클라이언트 디바이스의 사용자가 말하지 않은 배경 소음(들)을 캡처할 수 있다. 예를 들어, 오디오 데이터는 개 짖는 소리, 전화벨 소리, 연기 경보음 및/또는 추가 소음(들)을 캡처할 수 있다. 오디오 데이터(102)는 "화자 B"의 발화와 적어도 부분적으로 중첩되는 "화자 A"의 발화를 포함한다. 그러나 이는 하나의 예일 뿐이며 SD 음성 모델을 사용하여 별개의 화자의 비중첩 발화(들)를 캡처하는 오디오 데이터가 프로세싱될 수 있다.
다양한 유형의 음성 모델이 많은 구현예(예를 들어, SD VAD 모델, SD ASR 모델, SD 핫워드 모델, SD 음성 향상 모델 등)에 따라 활용될 수 있다. 다양한 유형의 SD 음성 모델을 사용하여 오디오 데이터 및 화자 임베딩을 프로세싱하면 SD 음성 모델의 유형에 맞는 다양한 유형의 출력을 생성할 수 있다. 예를 들어, SD VAD 모델을 사용하여 생성된 출력은 프로세싱된 오디오 데이터에 존재하는 프로세싱된 화자 임베딩에 대응하는 화자의 음성 활동 표시를 제공할 수 있다(프로세싱된 오디오 데이터에서 발화(들)의 임의의 화자의 음성 활동의 표시를 제공하는 SI VAD 모델을 사용하여 생성된 출력과 대조적으로). SD ASR 모델은 프로세싱된 화자 임베딩에 대응하는 화자가 말한 발화(들)에 대응하는 텍스트 표현을 제공하는 출력을 생성하는데 사용될 수 있다(프로세싱된 오디오 데이터에서 캡처된 임의의 발화(들)의 텍스트 표현을 제공하는 SI ASR 모델을 사용하여 생성된 출력과 대조적으로). 유사하게, SD 핫워드 검출 모델은 프로세싱된 화자 임베딩에 대응하는 화자가 말한 핫워드가 프로세싱된 오디오 데이터에서 캡처되는지 여부를 나타내는 출력을 생성하는데 사용될 수 있다(임의의 사용자가 말한 핫워드가 프로세싱된 오디오 데이터에서 캡처된다는 표시를 제공하는 SI 핫워드 검출 모델의 출력과 대조적으로). 또한 SD 음성 향상 모델은 프로세싱된 화자 임베딩에 대응하는 향상된 음성을 생성하는데 사용될 수 있다(프로세싱된 오디오 데이터에서 캡처된 임의의 발화(들)에 대응하는 향상된 음성을 생성하는데 사용될 수 있는 SI 음성 향상 모델과 대조적으로).
일부 구현예에서, 시스템은 다수의 음성 모델을 포함할 수 있다. 예를 들어, 시스템은 VAD 모델, 핫워드 검출 모델 및 ASR 모델을 포함할 수 있고, 여기서 VAD 모델을 사용하여 생성된 출력은 핫워드 검출 모델을 사용하여 오디오 데이터를 프로세싱할지 여부를 결정하는데 사용되며, 핫워드 검출 모델을 사용하여 생성된 출력은 ASR 모델을 사용하여 오디오 데이터를 프로세싱할지 여부를 결정하는데 사용된다. 일부 구현예에서, 시스템의 모든 음성 모델은 SD 음성 모델이다. 예를 들어, 시스템은 SD VAD 모델, SD 핫워드 검출 모델 및 SD ASR 모델을 포함할 수 있다. 일부 다른 구현예에서, 시스템의 모든 음성 모델은 아니지만 일부는 SD 음성 모델이다. 예를 들어, 시스템은 SD VAD 모델, SI 핫워드 검출 모델 및 SI ASR 모델을 포함할 수 있고; 시스템은 SD VAD 모델, SD 핫워드 검출 모델 및 SI ASR 모델을 포함할 수 있고; 시스템은 SI VAD 모델, SI 핫워드 검출 모델 및 SD ASR 모델을 포함할 수 있다. 화자 종속 및/또는 화자 독립 음성 모델의 추가 또는 대안적 조합은 많은 구현예에 따라 시스템 내에서 활용될 수 있다.
도 1b는 SI 음성 모델(154)에 기초하여 SD 음성 모델(158)을 트레이닝하는 예(150)를 도시한다. 많은 구현예에서, 교사-학생 학습 기법(들)은 SI 음성 모델(154)에 기초하여 SD 음성 모델(158)을 트레이닝하는데 활용될 수 있다. 많은 구현예에서, 오디오 데이터(152)의 인스턴스 및 오디오 데이터(156)의 잡음이 있는 인스턴스는 SD 음성 모델(158)을 트레이닝하는데 활용될 수 있다. 오디오 데이터(152)는 타겟 화자가 아닌 화자로부터의 어떠한 발화(들)도 캡처하지 않고(또는 타겟 화자가 아닌 화자로부터 최소한의 발화(들)을 캡처하고) 및/또는 배경 잡음 캡처 없이(또는 최소 배경 잡음 캡처) 타겟 화자의 음성 발화(들)를 캡처할 수 있다. 예를 들어, 오디오 데이터(152)는 Molly가 말한 발화(들)을 캡처할 수 있고 Molly가 아닌 화자로부터의 발화(들)을 캡처하지 않고 및/또는 어떠한 배경 소음도 캡처하지 않을 수 있다. 잡음이 있는 오디오 데이터(156)는 타겟 사용자가 말한 발화(들)와 타겟 사용자가 말하지 않은 추가 잡음을 결합함으로써 생성될 수 있다. 예를 들어, 잡음이 있는 오디오 데이터(156)는 Molly가 말한 발화(들)와 Timmy가 말한 발화(들)를 결합함으로써 생성될 수 있다.
오디오 데이터(152)(즉, Molly로부터의 발화(들)만을 캡처하는 오디오 데이터)는 SI 출력(162)을 생성하기 위해 SI 음성 모델(154)을 사용하여 프로세싱될 수 있다. 잡음이 있는 오디오 데이터(156)(즉, Molly로부터의 발화(들) 및 Timmy로부터의 발화(들)를 캡처하는 오디오 데이터)는 SD 출력(164)을 생성하기 위해 SD 음성 모델(158)을 사용하여 Molly에 대응하는 화자 임베딩(160)과 함께 프로세싱될 수 있다. 일부 구현예에서, 화자 임베딩(160)은 오디오 데이터(152)에서 캡처된 화자를 나타내는 라벨에 기초하여 결정될 수 있다(예를 들어, Molly가 말한 발화(들)를 캡처하는 오디오 데이터(152)를 나타내는 라벨은 Molly에 대응하는 미리 계산된 화자 임베딩을 선택하는데 사용될 수 있다). 다양한 구현예에서, 화자 임베딩(160)은 화자 임베딩 모델(도시되지 않음)을 사용하여 오디오 데이터(152)의 하나 이상의 부분을 프로세싱함으로써 생성될 수 있다. 예를 들어, 오디오 데이터(152)의 처음 0.5초, 오디오 데이터(152)의 처음 1.5초, 오디오 데이터(152)의 마지막 2초, 오디오 데이터(152)의 처음 1초 및 마지막 1초, 오디오 데이터(152) 전체 및/또는 오디오 데이터(152)의 추가 부분(들)은 화자 임베딩(160)을 생성하기 위해 화자 임베딩 모델을 사용하여 프로세싱될 수 있다. 많은 구현예에서, 화자 임베딩(160)은 d-벡터, i-벡터 및/또는 오디오 데이터의 화자의 추가 표현(들)일 수 있다.
많은 구현예에서, SI 출력(162) 및 SD 출력(164)에 기초하여 손실이 생성될 수 있다. 예를 들어, 교차 엔트로피 손실은 SI 출력(162) 및 SD 출력(164)에 기초하여 생성될 수 있다. 여러 구현예에서, 최대 가능성 손실, 평균 제곱 오차 손실 및/또는 추가 또는 대체 손실(들)을 포함하는 다양한 손실이 생성될 수 있다. SD 음성 모델(158)의 하나 이상의 부분은 손실(166)에 기초하여 업데이트될 수 있다(예를 들어, 역전파를 사용하여 업데이트됨). 다양한 구현예에서, SI 음성 모델(154)은 SD 음성 모델(158)을 트레이닝하는 동안 동결될 수 있다. 다시 말해서, SI 음성 모델(154)의 어떤 부분도 손실(166)에 기초하여 업데이트되지 않는다. 많은 구현예에서, SD 음성 모델(158)은 SI 음성 모델(154)과 동일한 네트워크 토폴로지를 가질 수 있다. 그러나, 추가적인 및/또는 대안적인 구현예는 SI 음성 모델(154)과 다른 네트워크 토폴로지를 갖는 SD 음성 모델(158)을 포함할 수 있다. 예를 들어, SD 음성 모델(158)은 SD 음성 모델(158)이 SI 음성 모델(154)보다 더 적은 노드를 갖고 이에 따라 SD 음성 모델(158)이 SI 음성 모델(154)보다 더 작은 메모리 풋프린트 및/또는 더 작은 저장 풋프린트를 갖도록 더 작은 네트워크 토폴로지를 가질 수 있다.
도 2로 돌아가면, 다양한 구현예가 구현될 수 있는 예시적인 환경이 도시된다. 도 2는 클라이언트 컴퓨팅 디바이스(202)를 포함한다. 많은 구현예에서, 클라이언트 디바이스(202)는 자동화된 어시스턴트의 인스턴스를 실행할 수 있다. 클라이언트 컴퓨팅 디바이스(202)는 예를 들어, 데스크톱 컴퓨터 디바이스, 랩톱 컴퓨팅 디바이스, 태블릿 컴퓨팅 디바이스, 모바일폰 컴퓨팅 디바이스, 사용자의 차량의 컴퓨팅 디바이스(예를 들어, 차량 내 통신 시스템, 차량 내 엔터테인먼트 시스템, 차량 내 네비게이션 시스템), 단독형 인터렉티브 스피커, 스마트 텔레비전과 같은 스마트 장비 및/또는 컴퓨팅 디바이스를 포함하는 사용자의 웨어러블 장치(예를 들어, 컴퓨팅 디바이스를 구비한 사용자의 시계, 컴퓨팅 디바이스를 구비한 사용자의 안경, 가상 또는 증강 현실 컴퓨팅 디바이스)일 수 있다. 추가적 및/또는 대안적 클라이언트 컴퓨팅 디바이스들이 제공될 수 있다.
도 2에 도시된 예시적인 환경은 개인화 엔진(204), 화자 임베딩 엔진(206), 트레이닝 엔진(208), SD 음성 모델(158), SI 음성 모델(154) 및/또는 추가 엔진(들) 및/또는 추가 모델(들)(도시되지 않음)을 포함한다. 개인화 엔진(204), 화자 임베딩 엔진(206) 및 트레이닝 엔진(208)은 본 명세서에 기술된 기법이 인터페이싱하는 예시적인 컴포넌트이다. 도 2의 하나 이상의 엔진(204, 206, 208)에 의해 수행되는 동작. 2는 다수의 컴퓨팅 시스템에 걸쳐 분산될 수 있다. 몇몇 양태들에서, 엔진들(204, 206, 208) 및/또는 모델들(158, 154)의 하나 이상의 양태들이 단일 시스템으로 결합될 수 있고 및/또는 하나 이상의 양태들이 클라이언트 디바이스(202) 상에서 구현될 수 있다. 예를 들어, 이러한 구현예 중 일부에서, 개인화 엔진(204)의 양태는 화자 임베딩 엔진(206)의 양태와 결합될 수 있다. 많은 구현예에 따른 엔진들은 예를 들어 네트워크를 통해 통신하는 하나 이상의 컴퓨팅 디바이스에서 각각 구현될 수 있다. 통신 네트워크는 인터넷과 같은 광역 네트워크, Wi-Fi LAN, 메시 네트워크 등과 같은 하나 이상의 로컬 영역 네트워크("LAN") 및/또는 하나 이상의 버스 서브시스템을 포함할 수 있다. 통신 네트워크는 선택적으로 하나 이상의 표준 통신 기술, 프로토콜 및/또는 프로세스 간 통신 기법을 활용할 수 있다.
트레이닝 엔진(208)은 SI 음성 모델(154)에 기초하여 SD 음성 모델(158)을 트레이닝할 수 있다. 많은 구현예에서, 트레이닝 엔진(208)은 SI 음성 모델(154)에 기초하여 SD 음성 모델(158)을 트레이닝하기 위해 교사-학생 학습 기법(들)을 활용할 수 있다. 예를 들어, 트레이닝 엔진(208)은 하나 이상의 트레이닝 인스턴스(도시되지 않음)를 선택하고, SD 음성 모델(158) 및 SI 음성 모델(154)을 사용하여 트레이닝 인스턴스(들)를 프로세싱할 수 있다. 많은 구현예에서, 트레이닝 인스턴스는 (1) 타겟 화자의 발화(들)를 캡처하는 오디오 데이터의 깨끗한 인스턴스 (2) 타겟 화자가 말하지 않은 잡음(들)과 타겟 화자의 음성 발화(들)을 캡처하는 오디오 데이터의 잡음이 있는 인스턴스 및 (3) 타겟 화자에 대응하는 화자 임베딩을 포함할 수 있다. 트레이닝 엔진(208)은 SI 출력을 생성하기 위해 SI 음성 모델(154)을 사용하여 타겟 화자의 음성 발화를 캡처하는 오디오 데이터의 깨끗한 인스턴스를 프로세싱할 수 있다. 추가적으로, 트레이닝 엔진(208)은 SD 출력을 생성하기 위해 SD 음성 모델(158)을 사용하여 화자 임베딩과 함께 오디오 데이터의 잡음이 있는 인스턴스를 프로세싱할 수 있다. 많은 구현예에서, 트레이닝 엔진(208)은 SD 출력과 SI 출력 사이의 차이(예를 들어, 교차 엔트로피 손실)에 기초하여 손실을 생성하고, 생성된 손실에 기초하여 SD 음성 모델(158)의 하나 이상의 부분들을 업데이트할 수 있다. 다시 말해서, SD 음성 모델(158)의 부분(들)이 업데이트되고, SI 음성 모델(154)은 동결된다. 다양한 구현예에서, 트레이닝 인스턴스(들)는 도 3의 프로세스(300)에 따라 트레이닝 인스턴스 엔진(도시되지 않음)을 사용하여 생성될 수 있다. 몇몇 구현예에서, 트레이닝 엔진(208)은 도 4의 프로세스(400)에 따라 SD 음성 모델(158)을 트레이닝할 수 있다.
개인화 엔진(204)은 화자 종속 출력을 생성하기 위해 SD 음성 모델(158)을 사용하여 화자 임베딩과 함께 클라이언트 디바이스(202)의 마이크로폰(들)(도시되지 않음)을 사용하여 캡처된 오디오 데이터와 같은 오디오 데이터를 프로세싱할 수 있다. 많은 구현예에서, 화자 임베딩은 화자 임베딩 엔진(206)을 사용하여 선택될 수 있다. 예를 들어, 화자 임베딩 엔진(206)은 클라이언트 디바이스(202)와 연관된 사용자 프로필의 화자 임베딩을 선택할 수 있다. 다양한 구현예에서, 화자 임베딩은 디지털 시스템에 대한 사용자의 등록(예를 들어, 클라이언트 디바이스(202)에 대한 등록 및/또는 추가 디지털 시스템에 대한 등록) 동안 미리 계산될 수 있다.
이제 도 3으로 가면, 본 명세서에 개시된 다양한 구현예에 따른 SI 음성 모델에 기초하여 SD 음성 모델을 트레이닝하는데 사용하기 위한 트레이닝 인스턴스(들)를 생성하는 프로세스(300)를 예시하는 흐름도가 제공된다. 편의상, 흐름도의 동작들은 동작들을 수행하는 시스템을 참조하여 기술된다. 이 시스템은 하나 이상의 프로세서(예를 들어, CPU(들), GPU(들), 및/또는 TPU(들))와 같은 하나 이상의 컴포넌트를 포함할 수 있다. 프로세스(300)의 동작들이 특정한 순서로 도시되었지만, 이는 그러한 제한을 의미하지 않는다. 하나 이상의 동작들은 재순서화, 생략 및/또는 추가될 수 있다.
블록(302)에서, 시스템은 화자의 음성 발화(들)를 캡처하는 오디오 데이터의 인스턴스를 선택한다. 많은 구현예에서, 오디오 데이터의 선택된 인스턴스는 화자로부터의 것이 아닌 추가 잡음을 캡처하지 않는다(또는 최소한의 캡처).
블록(304)에서, 시스템은 화자에 대한 화자 임베딩을 결정한다. 일부 구현예에서, 오디오 데이터의 인스턴스는 화자로 라벨링될 수 있고, 시스템은 라벨에 기초하여 미리 계산된 화자 임베딩을 선택할 수 있다. 많은 구현예에서, 시스템은 화자 임베딩 모델을 사용하여 오디오 데이터 인스턴스의 부분(들)을 프로세싱함으로써 화자 임베딩을 생성할 수 있다. 이를 통해 시스템은 화자의 신원을 알 수 없는 비구조화된 데이터를 사용하여 트레이닝 인스턴스(들)를 생성할 수 있다.
블록(306)에서, 시스템은 (1) 화자가 말한 발화(들) 및 (2) 화자가 말하지 않은 추가 잡음을 캡처하는 잡음이 있는 오디오 데이터의 인스턴스를 생성한다. 많은 구현예에서, 시스템은 블록(302)에서 선택된 오디오 데이터의 인스턴스를 오디오 데이터의 인스턴스의 발화(들)의 화자가 아닌 하나 이상의 추가 화자가 말한 하나 이상의 발화와 결합함으로써 오디오 데이터의 잡음이 있는 인스턴스를 생성할 수 있다. 많은 구현예에서, 시스템은 블록(302)에서 선택된 오디오 데이터의 인스턴스를 배경 잡음(들)(즉, 임의의 화자가 말하지 않은 잡음)과 결합함으로써 오디오 데이터의 잡음이 있는 인스턴스를 생성할 수 있다. 추가적으로 또는 대안적으로, 시스템은 오디오 데이터의 인스턴스의 발화(들)과 배경 잡음(들) 뿐만 아니라 추가 화자(들)가 말한 발화(들)를 결합함으로써 오디오 데이터의 잡음이 있는 인스턴스를 생성할 수 있다.
블록(308)에서, 시스템은 (1) 오디오 데이터의 인스턴스, (2) 오디오 데이터의 잡음이 있는 인스턴스 및 (3) 화자 임베딩을 트레이닝 인스턴스로서 저장한다.
블록(310)에서, 시스템은 추가 트레이닝 인스턴스(들)를 선택할지 여부를 결정한다. 그렇다면, 시스템은 블록(302)으로 다시 진행하고, 오디오 데이터의 추가 인스턴스를 사용하여 블록(304, 306, 308)으로 진행하기 전에 단일 화자의 음성 발화(들)를 캡처하는 오디오 데이터의 추가 인스턴스를 선택한다. 일부 구현예에서, 오디오 데이터의 추가 인스턴스에서 발화(들)의 화자는 오디오 데이터의 발화(들)의 동일한 화자이다. 일부 구현예에서, 오디오 데이터의 추가 인스턴스에서 발화(들)의 화자는 오디오 데이터의 인스턴스에서 동일한 발화(들) 화자가 아니다. 블록(310)의 반복에서 시스템이 임의의 추가 트레이닝 인스턴스를 생성하지 않기로 결정하면 프로세스(300)가 종료된다.
이제 도 4를 보면, 본 명세서에 개시된 다양한 구현예에 따른 SD 음성 모델을 트레이닝하는 프로세스(400)를 예시하는 흐름도가 제공된다. 편의상, 흐름도의 동작들은 동작들을 수행하는 시스템을 참조하여 기술된다. 이 시스템은 하나 이상의 프로세서(예를 들어, CPU(들), GPU(들), 및/또는 TPU(들))와 같은 하나 이상의 컴포넌트를 포함할 수 있다. 프로세스(400)의 동작들이 특정한 순서로 도시되었지만, 이는 그러한 제한을 의미하지 않는다. 하나 이상의 동작들은 재순서화, 생략 및/또는 추가될 수 있다.
블록(402)에서, 시스템은 (1) 화자가 말한 발화(들)를 캡처하는 오디오 데이터의 인스턴스; (2) 화자가 말한 발화(들) 및 화자가 말하지 않은 추가 잡음을 캡처하는 오디오 데이터 및 (3) 화자에 대응하는 화자 임베딩을 포함하는 화자에 대한 트레이닝 인스턴스를 선택한다. 많은 구현예에서, 트레이닝 인스턴스(들)는 본 명세서에 기술된 도 3의 프로세스(300)에 따라 생성될 수 있다.
블록(404)에서, 시스템은 SI 출력을 생성하기 위해 SI 음성 모델을 사용하여 오디오 데이터의 인스턴스를 프로세싱한다.
블록(406)에서, 시스템은 SD 출력을 생성하기 위해 SD 음성 모델을 사용하여 화자 임베딩 뿐만 아니라 오디오 데이터의 잡음이 있는 인스턴스를 프로세싱한다.
블록(408), 시스템은 SI 출력 및 SD 출력에 기초하여 손실을 생성한다. 많은 구현예에서, 시스템은 교차 엔트로피 손실을 생성할 수 있다.
블록(410)에서, 시스템은 결정된 손실에 기초하여 SD 음성 모델의 하나 이상의 부분을 업데이트한다. 예를 들어, 시스템은 결정된 손실에 기초하여 SD 음성 모델의 부분(들)을 업데이트하기 위해 역전파를 활용할 수 있다. 많은 구현예에서, 결정된 손실은 SD 음성 모델의 부분(들)만을 업데이트하는데 사용되며 SI 음성 모델의 부분(들)을 업데이트하는데 사용되지 않는다. 즉, SI 음성 모델은 SD 음성 모델을 트레이닝하는 동안 동결된다.
블록(412)에서, 시스템은 추가 트레이닝을 수행할지 여부를 결정한다. 수행한다면, 시스템은 블록(402)로 돌아가 진행하고, 추가 트레이닝 인스턴스를 선택하고, 그 후 상기 추가 트레이닝 인스턴스에 기초하여 블록들(404, 406, 408 및 410)의 반복을 수행하고, 블록(412)의 추가 반복을 수행한다. 일부 구현예에서, 시스템은 하나 이상의 추가 미처리 트레이닝 인스턴스가 있거나 및/또는 다른 기준이 아직 충족되지 않은 경우 추가로 수행하도록 결정할 수 있다. 다른 기준은 예를 들어 임계 수의 에포크가 발생했는지 및/또는 임계 트레이닝 기간이 발생했는지 여부를 포함할 수 있다. 비록 프로세스(400)가 비-배치(non-batch) 학습 기법과 관련하여 기술되었지만, 배치 학습(batch learning)이 추가적으로 및/또는 대안적으로 활용될 수 있다. 블록(412)에서, 시스템이 추가 트레이닝을 수행하지 않기로 결정하면 프로세스가 종료된다.
이제 도 5를 보면, 본 명세서에 개시된 다양한 구현예에 따라 출력을 생성하고 출력에 기초하여 액션(들)을 수행하기 위해 SD 음성 모델을 사용하여 화자 임베딩과 함께 캡처된 오디오 데이터의 프로세싱의 프로세스(500)를 도시하는 흐름도가 제공된다. 편의상, 흐름도의 동작들은 동작들을 수행하는 시스템을 참조하여 기술된다. 이 시스템은 하나 이상의 프로세서(예를 들어, CPU(들), GPU(들), 및/또는 TPU(들))와 같은 하나 이상의 컴포넌트를 포함할 수 있다. 프로세스(500)의 동작들이 특정한 순서로 도시되었지만, 이는 그러한 제한을 의미하지 않는다. 하나 이상의 동작들은 재순서화, 생략 및/또는 추가될 수 있다.
블록(502)에서, 시스템은 클라이언트 디바이스의 사용자의 음성 발화(들)를 캡처하는 오디오 데이터의 인스턴스를 수신한다. 일부 구현예에서, 오디오 데이터의 인스턴스는 사용자가 말하지 않은 추가 잡음이 없는(또는 최소한) 사용자의 음성 발화(들)를 캡처한다. 추가적으로 또는 대안적으로, 오디오 데이터의 인스턴스는 추가 잡음(들)과 함께 사용자의 음성 발화(들)를 캡처할 수 있다. 예를 들어, 오디오 데이터의 인스턴스는 사용자가 말한 발언(들)에 추가하여 하나 이상의 추가 화자가 말한 발언(들) 및/또는 배경 잡음(들)을 캡처할 수 있다.
블록(504)에서, 시스템은 클라이언트 디바이스의 타겟 사용자에 대한 화자 임베딩을 선택한다. 많은 구현예에서, 화자 임베딩은 오디오 데이터가 화자 임베딩과 연관된 사용자의 클라이언트 디바이스에서 캡처된 후에 선택될 수 있다. 추가적으로 또는 대안적으로, 화자 임베딩은 (예를 들어, 이전 발화(들)로부터의 음성 지문 및/또는 다른 생체 인증(들)을 사용하여) 주어진 사용자의 검증에 기초하여 선택될 수 있다. 다양한 구현예에서, 화자 임베딩은 사용자를 디지털 시스템에 등록(예를 들어, 사용자를 자동화된 어시스턴트에 등록)하는 동안 생성될 수 있다. 많은 구현예에서, 클라이언트 디바이스는 단일 화자 임베딩(예를 들어, 클라이언트 디바이스의 소유자에 대응하는 화자 임베딩)과 연관될 수 있다. 예를 들어, 모바일폰은 모바일폰 소유자와 관련된 화자 임베딩을 저장할 수 있다. 추가적으로 또는 대안적으로, 클라이언트 디바이스는 다수의 화자 임베딩과 연관될 수 있고, 시스템은 결정된 현재 활성 사용자에 기초하여 화자 임베딩을 선택할 수 있다. 많은 구현예에서, 현재 활성 사용자는 얼굴 인식, 음성 인식 및/또는 추가 생체 인식 기법(들)에 기초하여 결정될 수 있다.
블록(506)에서, 시스템은 출력을 생성하기 위해 SD 음성 모델을 사용하여 (1) 오디오 데이터의 인스턴스 및 (2) 화자 임베딩을 프로세싱한다. 많은 구현예에서, 출력은 오디오 데이터가 화자 임베딩에 대응하는 화자가 말한 발화(들)를 캡처함을 나타낼 수 있다. 추가적으로 또는 대안적으로, 출력은 오디오 데이터가 화자 임베딩에 대응하는 화자가 말한 발화(들)를 캡처하지 않는다는 것을 나타낼 수 있다. 예를 들어, 사용자 John은 어시스턴트와 다수의 대화 세션을 가질 수 있다. 시스템은 John이 말한 호출 문구에 기초하여 John이 활성 사용자임을 결정할 수 있으며, 이는 시스템이 블록(504)에서 John과 연관된 화자 임베딩을 선택하게 할 수 있다. 대화 세션 동안 John이 말하고 있지 않을 때 Bob이 John에게 말하기 시작하면 시스템은 예를 들어 SD VAD 모델을 사용하여 John(활성 사용자)에 대응하는 화자 임베딩과 함께 Bob이 말한 발화를 캡처하는 오디오 데이터를 프로세싱하여, John이 Bob이 말한 발화(들)을 캡처하는 오디오 데이터의 부분을 말하지 않았음을 나타내는 출력을 생성한다.
블록(508)에서, 시스템은 출력에 기초하여 하나 이상의 액션을 수행한다. 예를 들어, 블록(506)에서 SD 음성 모델은 SD VAD 모델일 수 있고, 여기서 생성된 출력은 타겟 화자에 의한 음성 활동(즉, 음성 발화(들))이 오디오 데이터에서 캡처되는지 여부를 표시를 제공한다. 대조적으로, SI VAD 모델은 임의의 화자의 음성 활동(즉, 음성 발화(들))이 오디오 데이터에서 캡처되는지 여부를 나타내는 출력을 생성하는데 사용될 수 있다. SD VAD 모델을 사용하여 블록(506)에서 생성된 출력이 오디오 데이터가 타겟 사용자에 의해 발화(들)를 캡처함을 나타낼 때, 오디오 데이터 및/또는 오디오 데이터 캡처 오디오 데이터의 일부(들)는 타겟에 의해 발화(들) 사용자는 SD VAD 모델의 다운스트림에 있는 추가 및/또는 대체 음성 모델(예를 들어, SD VAD 모델의 다운스트림 핫워드 검출 모델, SD VAD 모델의 ASR 모델 다운스트림 등)을 사용하여 프로세싱될 수 있다. 일부 구현예에서, 블록(506)에서 SD 음성 모델을 사용하여 생성된 출력이 오디오 데이터가 타겟 사용자가 말한 발화를 캡처하지 않는다는 것을 나타내는 경우, 시스템은 블록(504)으로 다시 진행하여 추가 타겟 사용자에 대한 추가 화자 임베딩을 선택하고 블록(506)에서 SD 음성 모델을 사용하여 오디오 데이터 및 추가 화자 임베딩의 인스턴스를 프로세싱한다. 추가적으로 또는 대안적으로, 시스템은 SD 음성 모델의 다수의 인스턴스를 포함할 수 있고, SD 음성 모델을 병렬로 사용하여 다수의 화자 임베딩과 함께 오디오 데이터를 프로세싱할 수 있다(예를 들어, 시스템은 SD 음성 모델의 제1 인스턴스 사용하여 화자 임베딩 A로 오디오 데이터를 프로세싱하고 병렬로 시스템은 SD 음성 모델의 제2 인스턴스를 사용하여 화자 임베딩 B로 오디오 데이터를 프로세싱한다). 다양한 구현예에서, 블록(506)에서 SD 음성 모델을 사용하여 생성된 출력이 오디오 데이터가 타겟 사용자가 말한 발화를 캡처하지 않는다는 것을 나타내는 경우, 시스템은 추가 오디오 데이터를 기다릴 수 있다.
추가적으로 또는 대안적으로, 블록(506)에서 SD 음성 모델은 SD 핫워드 검출 모델일 수 있으며, 생성된 출력은 오디오 데이터가 타겟 사용자가 말한 하나 이상의 핫워드를 캡처하는지 여부의 표시를 제공한다. 대조적으로, SI 핫워드 검출 모델을 사용하여 생성된 출력은 오디오 데이터가 임의의 사용자가 말한 하나 이상의 핫워드를 캡처하는지 여부의 표시를 제공할 수 있다. SD 핫워드 검출 모델을 사용하여 블록(506)에서 생성된 출력이 오디오 데이터가 타겟 사용자가 말한 핫워드(들)를 캡처함을 나타내는 경우, 오디오 데이터 및/또는 타겟 사용자가 말한 발화(들)을 캡처하는 오디오 데이터의 부분은 SD 핫워드 검출 모델(예를 들어, SD 핫워드 검출 모델로부터 다운스트림 VAD 모델, SD 핫워드 검출 모델로부터 다운스트림 ASR 모델 등)로부터 추가 및/또는 대안적 음성 모델 다운스트림을 사용하여 프로세싱될 수 있다. 일부 구현예에서, 블록(506)에서 SD 핫워드 검출 모델을 사용하여 생성된 출력이 오디오 데이터가 타겟 사용자가 말한 핫워드(들)를 캡처하지 않는다는 것을 나타내는 경우, 시스템은 블록(504)으로 , 다시 진행하여 추가 타겟 사용자에 대한 추가 화자 임베딩을 선택하고 블록(506)에서 SD 음성 모델을 사용하여 오디오 데이터 및 추가 화자 임베딩의 인스턴스를 프로세싱한다. 다양한 구현예에서, 블록(506)에서 SD 핫워드 검출 모델을 사용하여 생성된 출력이 오디오 데이터가 타겟 사용자가 말한 핫워드(들)를 캡처하지 않는다는 것을 나타내는 경우, 시스템은 추가 오디오 데이터를 기다릴 수 있다.
또한, 블록(506)에서 SD 음성 모델은 SD ASR 모델일 수 있으며, 생성된 출력은 타겟 사용자가 말한 발화(들)를 캡처하는 텍스트 표현을 제공하고 타겟 사용자가 아닌 사용자가 말한 발화(들)를 제외한다. 대조적으로, SI ASR 모델은 오디오 데이터에서 캡처된 임의의 화자의 발화(들)의 텍스트 표현을 생성하는데 사용될 수 있다. SD ASR 모델을 사용하여 블록(506)에서 생성된 출력이 오디오 데이터가 타겟 사용자가 말한 발화(들)를 캡처함을 나타내는 경우(예를 들어, 출력은 음성 발화(들)의 텍스트 표현을 포함함), 텍스트 표현은 액션(들)을 수행하기 위해 시스템에 의해 사용될 수 있다. 예를 들어 타겟 사용자는 SD ASR 모델을 사용하여 텍스트 표현으로 변환할 수 있는 "거실 조명을 꺼"라고 말할 수 있다. 텍스트 표현은 거실에 있는 하나 이상의 네트워크 스마트 전구를 제어하기 위해 시스템의 추가 부분(들)에 의해 프로세싱될 수 있다. 일부 구현예에서, 블록(506)에서 SD ASR 모델을 사용하여 생성된 출력이 오디오 데이터가 타겟 사용자가 말한 발화를 캡처하지 않는다는 것을 나타내는 경우(예: 출력이 음성 발화의 임의의 텍스트 표현을 포함하지 않는 경우, 출력이 비어있거나 null 등인 경우), 시스템은 블록(504)으로 다시 진행하고, 추가 타겟 사용자에 대한 추가 화자 임베딩을 선택하고 블록(506)에서 SD 음성 모델을 사용하여 오디오 데이터 및 추가 화자 임베딩의 인스턴스를 프로세싱한다. 다양한 구현예에서, 블록(506)에서 SD ASR 모델을 사용하여 생성된 출력이 오디오 데이터가 타겟 사용자가 말한 발화를 캡처하지 않는다는 것을 나타내는 경우, 시스템은 추가 오디오 데이터를 기다릴 수 있다.
이제 도 6으로 돌아가면, 다양한 구현예가 수행될 수 있는 예시적인 환경이 도시된다. 도 6이 초기적으로 설명되고, 도 6은 자동화된 어시스턴트 클라이언트(604)의 인스턴스를 실행하는 클라이언트 컴퓨팅 디바이스(602)를 포함한다. 하나 이상의 클라우드 기반 자동화된 어시스턴트 컴포넌트(610)는 일반적으로 608에 표시된 하나 이상의 로컬 및/또는 광역 네트워크(예를 들어, 인터넷)를 통해 클라이언트 디바이스(602)에 통신가능하게 연결된 하나 이상의 컴퓨팅 시스템(집합적으로 "클라우드" 컴퓨팅 시스템으로 통칭)에서 구현될 수 있다.
하나 이상의 클라우드 기반 자동화된 어시스턴트 컴포넌트(610)와의 인터렉션들에 의한 자동화된 어시스턴트 클라이언트(604)의 인스턴스는 사용자의 관점에서 사용자가 인간-대-컴퓨터 대화에 참여할 수 있게 하는 자동화된 어시스턴트(600)의 논리적 인스턴스로 보이는 것을 형성할 수 있다. 이러한 자동화된 어시스턴트(600)의 인스턴스가 도 6에 도시된다. 따라서, 일부 구현예에서, 클라이언트 디바이스(602)상에서 실행되는 자동화된 어시스턴트 클라이언트(604)를 사용하는 사용자는 사실상 자동화된 어시스턴트(600)의 자신의 논리적 인스턴스를 사용할 수 있음을 이해해야 한다. 간결하고 간단하게 하기 위해, 본 명세서에서 특정한 사용자에게 "서비스하는 것"으로 사용되는 "자동화된 어시스턴트"라는 용어는 사용자에 의해 동작되는 클라이언트 디바이스(602)에서 실행되는 자동화된 어시스턴트 클라이언트(604) 및 하나 이상의 클라우드 기반 자동화된 어시스턴트 컴포넌트들(610)(다수의 클라이언트 컴퓨팅 디바이스의 다수의 자동화된 어시스턴트 클라이언트들(118) 간에 공유될 수 있음)의 조합을 종종 지칭할 것이다. 일부 구현예에서, 자동화된 어시스턴트(600)는 사용자가 그 특정한 인스턴스의 자동화된 어시스턴트(600)에 의해 실제로 "서비스"되는지 여부에 관계없이 임의의 사용자로부터의 요청에 응답할 수 있음을 이해해야 한다.
클라이언트 컴퓨팅 디바이스(602)는 예를 들어, 데스크톱 컴퓨터 디바이스, 랩톱 컴퓨팅 디바이스, 태블릿 컴퓨팅 디바이스, 모바일폰 컴퓨팅 디바이스, 사용자의 차량의 컴퓨팅 디바이스(예를 들어, 차량 내 통신 시스템, 차량 내 엔터테인먼트 시스템, 차량 내 네비게이션 시스템), 단독형 인터렉티브 스피커, 스마트 텔레비전과 같은 스마트 장비 및/또는 컴퓨팅 디바이스를 포함하는 사용자의 웨어러블 장치(예를 들어, 컴퓨팅 디바이스를 구비한 사용자의 시계, 컴퓨팅 디바이스를 구비한 사용자의 안경, 가상 또는 증강 현실 컴퓨팅 디바이스)일 수 있다. 추가적 및/또는 대안적 클라이언트 컴퓨팅 디바이스들이 제공될 수 있다. 다양한 구현예에서, 클라이언트 컴퓨팅 디바이스(602)는 메시지 교환 클라이언트(예를 들어, SMS, MMS, 온라인 채팅), 브라우저 등과 같은 자동화된 어시스턴트 클라이언트(604)에 추가된 하나 이상의 다른 애플리케이션을 선택적으로 동작할 수 있다. 이러한 다양한 구현예 중 일부에서, 다른 애플리케이션들 중 하나 이상은 선택적으로 자동화된 어시스턴트(600)와 (예를 들어, 애플리케이션 프로그래밍 인터페이스를 통해) 인터페이스할 수 있거나, (클라우드 기반 자동화된 어시스턴트 컴포넌트(들)(610)와 인터페이싱할 수 있는) 자동화된 어시스턴트 애플리케이션 자체 인스턴스를 포함할 수 있다.
자동화된 어시스턴트(600)는 클라이언트 디바이스(602)의 사용자 인터페이스 입력 및 출력 디바이스들을 통해 사용자와 인간 대 컴퓨터 대화 세션에 참여한다. 사용자 개인 정보 보호 및/또는 리소스 보존을 위해, 많은 경우에, 자동화된 어시스턴트가 발화된 발언을 완전히 프로세싱하기 전에 사용자는 종종 명시적으로 자동화된 어시스턴트(600)를 호출해야 한다. 자동화된 어시스턴트(600)의 명시적 호출은 클라이언트 디바이스(602)에서 수신되는 특정 사용자 인터페이스 입력에 대한 응답으로 발생한다. 예를 들어, 클라이언트 디바이스(602)를 통해 자동화된 어시스턴트(600)를 호출할 수 있는 사용자 인터페이스 입력은 클라이언트 디바이스(602)의 하드웨어 및/또는 가상 버튼의 작동을 선택적으로 포함할 수 있다. 더욱이, 자동화된 어시스턴트 클라이언트는 하나 이상의 음성 호출 문구들의 존재를 검출하도록 동작가능한 호출 엔진과 같은 하나 이상의 로컬 엔진들(606)을 포함할 수 있다. 호출 엔진은 음성 호출 문구들 중 하나의 검출에 응답하여 자동화된 어시스턴트(600)를 호출할 수 있다. 예를 들어, 호출 엔진은 "Hey Assistant", "OK Assistant" 및/또는 "Assistant"와 같은 음성 호출 문구를 검출하는 것에 응답하여 자동화된 어시스턴트(600)를 호출할 수 있다. 호출 엔진은 음성 호출 문구의 발생을 모니터링하기 위해 클라이언트 디바이스(602)의 하나 이상의 마이크로폰으로부터의 출력에 기초한 오디오 데이터 프레임의 스트림을 연속적으로 프로세싱할 수 있다(예를 들어, "비활성" 모드에 있지 않은 경우) . 음성 호출 문구의 발생을 모니터링하는 동안, 호출 엔진은 음성 호출 문구를 포함하지 않는 모든 오디오 데이터 프레임을 (예를 들어, 버퍼에 임시 저장한 후) 폐기한다. 그러나, 호출 엔진이 프로세싱된 오디오 데이터 프레임에서 음성 호출 문구의 발생을 검출하면, 호출 엔진은 자동화된 어시스턴트(600)를 호출할 수 있다. 본 명세서에서 사용된 바와 같이, 자동화된 어시스턴트(600)를 "호출"하는 것은 자동화된 어시스턴트(600)의 하나 이상의 이전에 비활성화된 기능이 활성화되게 하는 것을 포함할 수 있다. 예를 들어, 자동화된 어시스턴트(600)를 호출하는 것은 하나 이상의 로컬 엔진들(606) 및/또는 클라우드 기반 자동화된 어시스턴트 컴포넌트(610)가 호출 문구가 검출된 것에 기초한 오디오 데이터 프레임 및/또는 하나 이상의 후속 오디오 데이터 프레임을 추가로 프로세싱하게 하는 것을 포함할 수 있다(반면 호출 이전에는 오디오 데이터 프레임의 추가 프로세싱이 발생하지 않았음). 예를 들어, 로컬 및/또는 클라우드 기반 컴포넌트는 자동화된 어시스턴트(600)의 호출에 응답하여 SD 음성 모델을 사용하여 캡처된 오디오 데이터를 프로세싱할 수 있다.
자동화된 어시스턴트(600)의 하나 이상의 로컬 엔진(들)(606)은 선택적이며, 예를 들어 위에서 설명된 호출 엔진, 로컬 음성-텍스트 변환("STT") 엔진(캡처된 오디오를 텍스트로 변환), 로컬 텍스트-음성 변환("TTS") 엔진(텍스트를 음성으로 변환), 로컬 자연어 프로세서(오디오 및/또는 오디오에서 변환된 텍스트의 의미론적 의미 결정) 및/또는 기타 로컬 컴포넌트를 포함할 수 있다. 클라이언트 디바이스(602)는 컴퓨팅 리소스(예를 들어, 프로세서 사이클, 메모리, 배터리 등)과 관련하여 상대적으로 제한되기 때문에, 로컬 엔진들(606)은 클라우드 기반 자동화된 어시스턴트 컴포넌트(610)에 포함된 임의의 대응물에 비해 제한된 기능을 가질 수 있다.
클라우드 기반 자동화된 어시스턴트 컴포넌트(610)는 로컬 엔진(들)(606)의 임의의 대응물에 비해 오디오 데이터 및/또는 기타 사용자 인터페이스 입력의 더 강력하고 및/또는 더 정확한 프로세싱을 수행하기 위해 사실상 무한한 클라우드 리소스를 활용한다. 다시, 다양한 구현예에서, 클라이언트 디바이스(602)는 호출 엔진이 음성 호출 문구을 검출하거나 자동화된 어시스턴트(600)의 일부 다른 명시적 호출을 검출하는 것에 응답하여 오디오 데이터 및/또는 다른 데이터를 클라우드 기반 자동화된 어시스턴트 컴포넌트들(610)에 제공할 수 있다.
예시된 클라우드 기반 자동화된 어시스턴트 컴포넌트(610)는 클라우드 기반 TTS 모듈(612), 클라우드 기반 STT 모듈(614), 자연어 프로세서(616), 대화 상태 추적기(618) 및 대화 관리자(620)를 포함한다. 일부 구현예들에서, 자동화된 어시스턴트(600)의 엔진들 및/또는 모듈들 중 하나 이상은 생략, 조합될 수 있고 및/또는 자동화된 어시스턴트(600)와 별개인 컴포넌트에서 구현될 수 있다. 또한, 일부 구현예에서 자동화된 어시스턴트(600)는 추가 및/또는 대안적 엔진 및/또는 모듈을 포함할 수 있다. 클라우드 기반 STT 모듈(614)은 오디오 데이터를 텍스트로 변환할 수 있으며, 텍스트는 자연어 프로세서(616)에 제공될 수 있다.
클라우드 기반 TTS 모듈(612)은 텍스트 데이터(예를 들어, 자동화된 어시스턴트(600)에 의해 공식화된 자연어 응답)를 컴퓨터 생성 음성 출력으로 변환할 수 있다. 일부 구현예에서, TTS 모듈(612)은 컴퓨터 생성된 음성 출력을 클라이언트 디바이스(602)에 제공하여, 예를 들어 하나 이상의 스피커를 사용하여 직접 출력될 수 있다. 다른 구현예에서, 자동화된 어시스턴트(600)에 의해 생성된 텍스트 데이터(예를 들어, 자연어 응답)는 로컬 엔진(들)(606) 중 하나에 제공될 수 있고, 로컬 엔진은 텍스트 데이터를 로컬적으로 출력되는 컴퓨터 생성 음성으로 변환할 수 있다.
자동화된 어시스턴트(600)의 자연어 프로세서(616)는 자유 형식 자연어 입력을 프로세싱하여, 상기 자연어 입력에 기초하여 자동화된 어시스턴트(600)의 하나 이상의 다른 컴포넌트에 의해 사용하기 위해 주석이 달린 출력을 생성할 수 있다. 예를 들어, 자연어 프로세서(616)는 클라이언트 디바이스(602)를 통해 사용자에 의해 제공되는 오디오 데이터의 STT 모듈(614)에 의한 변환인 텍스트 입력인 자연어 자유 형식 입력을 프로세싱할 수 있다. 생성된 주석이 달린 출력은 자연어 입력의 하나 이상의 주석들 및 선택적으로 자연어 입력의 용어들 중 하나 이상(예를 들어, 전부)을 포함할 수 있다.
일부 구현예들에서, 자연어 프로세서(616)는 자연어 입력에서 문법적 정보의 다양한 유형들을 식별하고 주석을 달도록 구성된다. 일부 구현예들에서, 자연어 프로세서(616)는 추가적으로 및/또는 대안적으로 사람들(예를 들어, 문학적 캐릭터, 유명인, 공인 등을 포함), 조직들, 위치들(실제 및 가상) 등에 대한 참조들과 같은 하나 이상의 세그먼트들에서 엔터티 참조들을 주석을 달도록 구성된 엔터티 태그기(entity tagger)(도시되지 않음)를 포함할 수 있다. 일부 구현예들에서, 자연어 프로세서(616)는 추가적으로 및/또는 대안적으로 하나 이상의 컨텍스트적 큐(cue)들에 기초하여 동일한 엔터티에 대한 참조인 그룹 또는 "클러스터"로 구성된 공동참조 리졸버(coreference resolver)(도시되지 않음)를 포함할 수 있다. 예를 들어, 공동참조 리졸버는 자연어 입력에서 "지난 번에 거기 가상 카페에서 먹었을 때 좋았어"에서 "거기"를 "가상 카페"로 해석하는데 사용될 수 있다. 일부 구현예들에서, 자연어 프로세서(616)의 하나 이상의 컴포넌트들은 자연어 프로세서(616)의 하나 이상의 다른 컴포넌트들로부터의 주석들에 의존할 수 있다. 일부 구현예들에서, 특정한 자연어 입력을 프로세싱함에 있어서, 자연어 프로세서(616)의 하나 이상의 컴포넌트들은 하나 이상의 주석들을 결정하기 위해 관련된 이전 입력 및/또는 특정한 자연어 입력 밖의 다른 관련된 데이터를 사용할 수 있다.
일부 구현예에서, 대화 상태 추적기(618)는 예를 들어, 인간-대-컴퓨터 대화 세션의 과정 및/또는 다수의 대화 세션들 동안에 한 명 이상의 사용자들의 목적(또는 "의도")의 믿음 상태를 포함하는 "대화 상태"의 추적을 계속하도록 구성될 수 있다. 대화 상태를 결정함에 있어서, 일부 대화 상태 추적기는 대화 세션에서의 사용자 및 시스템 발언에 기초하여, 대화에서 인스턴스화되는 슬롯(들)에 대한 가장 가능성 있는 값(들)을 결정하려고 시도할 수 있다. 일부 기법은 슬롯 세트와 해당 슬롯과 연관된 값 세트를 정의하는 고정 온톨로지를 사용한다. 일부 기법은 추가적으로 또는 대안적으로 개별 슬롯 및/또는 도메인에 맞추어 질 수 있다. 예를 들어, 일부 기법은 각 도메인의 각 슬롯 유형에 대한 모델을 트레이닝하는 것이 필요할 수 있다.
대화 관리자(620)는 예를 들어 대화 상태 추적기(618)에 의해 제공되는 현재 대화 상태를 복수의 후보 응답 액션들 중 하나 이상의 "응답 액션"에 매핑하여 자동화된 어시스턴트(600)에 의해 수행되도록 구성될 수 있다. 응답 액션들은 현재 대화 상자 상태에 따라 다양한 형태로 나타날 수 있다. 예를 들어, 마지막 턴 이전에 발생하는(예를 들어, 궁극적인 사용자가 원하는 작업이 수행될 때) 대화 세션의 턴에 대응하는 초기 및 중간 스트림 대화 상태는 추가적인 자연어 대화를 출력하는 자동화된 어시스턴트(600)를 포함하는 다양한 응답 액션에 매핑될 수 있다. 이 응답 대화는 예를 들어, 대화 상태 추적기(618)가 사용자가 수행하고자 하는 일부 액션(즉, 슬롯 채우기)에 대한 파라미터를 사용자가 제공하도록 요청하는 것을 포함할 수 있다. 일부 구현예에서, 응답 액션은 "요청"(예를 들어, 슬롯을 채우기 위한 파라미터를 찾는 것), "제공"(예를 들어, 사용자를 위한 액션 또는 액션의 과정을 제안), "선택", "알림"(예를 들어, 요청된 정보를 사용자에게 제공), "매칭 없음"(예를 들어, 사용자의 마지막 입력이 이해되지 않음을 사용자에게 통지), 주변 디바이스에 대한 명령(예: "전구 끄기")과 같은 액션을 포함할 수 있다.
도 7은 본 명세서에 기술된 기법들의 하나 이상의 양태들을 수행하기 위해 선택적으로 활용될 수 있는 예시적 컴퓨팅 디바이스(710)의 블록도이다. 일부 구현예에서, 클라이언트 컴퓨팅 디바이스 및/또는 다른 컴포넌트(들) 중 하나 이상은 예시적 컴퓨팅 디바이스(710) 중 하나 이상의 컴포넌트를 포함할 수 있다.
컴퓨팅 디바이스(710)는 일반적으로 적어도 하나의 프로세서(714)를 포함하며, 버스 서브시스템(712)을 통해 다수의 주변 디바이스들과 통신한다. 이들 주변 디바이스들은 예를 들면, 메모리 서브시스템(725) 및 파일 저장 서브시스템(726)을 포함하는 저장 서브시스템(724), 사용자 인터페이스 출력 디바이스(720), 사용자 인터페이스 입력 디바이스(722) 및 네트워크 인터페이스 서브시스템(716)을 포함할 수 있다. 입력 및 출력 디바이스는 컴퓨팅 디바이스(710)와 사용자 인터렉션을 하게 한다. 네트워크 인터페이스 서브시스템(716)은 외부 네트워크에 대한 인터페이스를 제공하며, 다른 컴퓨팅 디바이스들의 대응하는 인터페이스 디바이스들과 연결된다.
사용자 인터페이스 입력 디바이스(722)는 키보드, 마우스, 트랙볼, 터치패드 또는 그래픽 태블릿, 스캐너, 디스플레이에 통합된 터치스크린과 같은 포인팅 디바이스, 음성 인식 시스템, 마이크로폰과 같은 오디오 입력 디바이스 및/또는 다른 유형의 입력 디바이스를 포함한다. 일반적으로, 용어 “입력 디바이스”의 사용은 정보를 컴퓨팅 디바이스(710) 또는 통신 네트워크에 입력하기 위한 모든 가능한 유형의 디바이스들과 방식들을 포함하도록 의도된다.
사용자 인터페이스 출력 디바이스(720)는 디스플레이 서브시스템, 프린터, 팩스 기계 또는 오디오 출력 디바이스와 같은 비-시각적 디스플레이를 포함할 수 있다. 디스플레이 서브시스템은 CRT, LCD와 같은 평면 패널 디바이스, 프로젝션 디바이스 또는 시각적 이미지를 생성하기 위한 일부 기타 메커니즘을 포함할 수 있다. 또한, 디스플레이 서브시스템은 오디오 출력 디바이스와 같은 비-시각적 디스플레이를 제공할 수 있다. 일반적으로, 용어 “출력 디바이스”의 사용은 정보를 컴퓨팅 디바이스(710)로부터 사용자에게 또는 다른 기계 또는 컴퓨팅 디바이스에 정보를 출력하기 위한 모든 가능한 유형의 디바이스들과 방식들을 포함하도록 의도된다.
저장 서브시스템(724)은 본 명세서에 기술된 일부 또는 전부의 모듈들의 기능을 제공하기 위한 프로그래밍 및 데이터 구조를 저장한다. 예를 들면, 저장 서브시스템(724)은 도 3, 4 및/또는 도 5의 하나 이상의 프로세스들 중 선택된 양태들을 수행하고 뿐만 아니라 도 2 및/또는 도 6에 도시된 다양한 컴포넌트들을 구현하기 위한 로직을 포함할 수 있다.
이들 소프트웨어 모듈들은 일반적으로 프로세서(714) 단독으로 또는 다른 프로세서들과의 조합에 의해 실행된다. 저장 서브시스템(724)에서 사용된 메모리(725)는 프로그램 실행 중에 명령어들 및 데이터의 저장을 위한 메인 RAM(730) 및 고정된 명령어들이 저장되는 ROM(732)을 포함하는 다수의 메모리들을 포함할 수 있다. 파일 저장 서브시스템(726)은 프로그램 및 데이터 파일에 대한 영구적 저장을 제공할 수 있고, 하드 디스크 드라이브, 연관된 이동식 매체와 함께인 플로피 디스크 드라이브, CD-ROM 드라이브, 광학 드라이브 또는 이동식 매체 카트리지들을 포함할 수 있다. 특정 구현예들의 기능을 구현하는 모듈들은 파일 저장 서브시스템(726)에 의해 저장 서브시스템(724)에 또는 프로세서(들)(714)에 의해 액세스가능한 다른 기계에 저장될 수 있다.
버스 서브시스템(712)은 의도된 대로 컴퓨팅 디바이스(710)의 다양한 컴포넌트들 및 서브시스템들이 서로 통신하게 하기 위한 메커니즘을 제공한다. 버스 서브시스템(712)이 개략적으로 단일의 버스로 도시되었지만, 버스 서브시스템의 대안적 구현예들은 다수의 버스들을 사용할 수 있다.
컴퓨팅 디바이스(710)는 워크스테이션, 서버, 컴퓨팅 클러스터, 블레이드 서버, 서퍼팜 또는 임의의 기타 데이터 프로세싱 시스템 또는 컴퓨팅 디바이스를 포함하는 다양한 유형들일 수 있다. 컴퓨터 및 네트워크의 끊임없이 변화하는 특성으로 인해, 도 7에 도시된 컴퓨팅 디바이스(710)는 일부 구현예를 설명하기 위한 목적의 특정 예로서만 의도된다. 컴퓨팅 디바이스(710)의 많은 다른 구성이 도 7에 도시된 컴퓨팅 디바이스보다 많거나 적은 컴포넌트를 가질 수 있다.
본 명세서에서 논의된 시스템들이 사용자들(또는 "참여자들"로 종종 지칭됨)에 관한 개인 정보를 수집하거나 또는 개인 정보를 사용하는 경우들에 있어서, 사용자들에게 프로그램들 또는 구성들이 사용자 정보(예를 들면, 사용자의 소셜 네트워크, 소셜 액션들 또는 활동들, 직업, 사용자의 선호들 또는 사용자의 현재 지리적 위치)에 관한 정보를 수집할 것인지 여부를 제어할, 사용자와 더 관련된 콘텐츠 서버로부터의 콘텐츠를 수신할지 및/또는 어떻게 수신할지 제어할 기회가 제공될 수 있다. 추가로, 특정 데이터는 그것이 저장되거나 사용되기 전에 하나 이상의 다양한 방식들로 취급되어, 개인적으로 식별가능한 정보는 제거된다. 예를 들면, 사용자의 신원은 사용자에 관한 개인적으로 식별가능한 정보가 결정될 수 없도록 취급되거나 또는 사용자의 지리적 위치는 위치 정보가 획득된 곳에서 일반화되어(시, 우편번호 또는 주 수준으로), 사용자의 특정한 지리적 위치가 결정될 수 없도록 한다. 따라서, 사용자는 사용자에 관한 정보가 어떻게 수집되는지 그리고 사용되는지에 관한 제어를 가질 수 있다.
일부 구현예에서, 트레이닝된 화자 독립 음성 모델(SI 음성 모델)에 기초하여 화자 종속 음성 모델(SD 음성 모델)을 트레이닝하는 단계를 포함하는 방법이 제공된다. SD 음성 모델은 대응하는 클라이언트 디바이스의 임의의 사용자에게 개인화될 수 있다. SD 음성 모델을 트레이닝하는 단계는 타겟 사용자의 하나 이상의 음성 발화를 캡처하는 오디오 데이터의 인스턴스를 식별하는 단계; 및 상기 타겟 사용자에 대한 화자 임베딩을 결정하는 단계를 포함한다. SD 음성 모델을 트레이닝하는 단계는 상기 오디오 데이터의 인스턴스를 상기 타겟 사용자로부터의 것이 아닌 하나 이상의 추가 사운드와 결합함으로써 오디오 데이터의 잡음이 있는 인스턴스를 생성하는 단계를 더 포함한다. SD 음성 모델을 트레이닝하는 단계는 화자 독립 출력(SI 출력)을 생성하기 위해 상기 SI 음성 모델을 사용하여 상기 오디오 데이터의 인스턴스를 프로세싱하는 단계를 포함한다. SD 음성 모델을 트레이닝하는 단계는 화자 종속 출력(SD 출력)을 생성하기 위해 상기 SD 음성 모델을 사용하여 상기 화자 임베딩과 함께 상기 오디오 데이터의 잡음이 있는 인스턴스를 프로세싱하는 단계를 더 포함한다. SD 음성 모델을 트레이닝하는 단계는 상기 SI 출력 및 상기 SD 출력에 기초하여 손실을 생성하는 단계, 및 상기 생성된 손실에 기초하여 상기 SD 모델의 하나 이상의 부분을 업데이트하는 단계를 더 포함한다.
본 명세서에서 논의된 기술의 이들 또는 다른 구현예들은 다음 구성들 중 하나 이상을 포함할 수 있다.
일부 구현예에서, 상기 트레이닝된 SI 음성 모델에 기초하여 상기 SD 음성 모델을 트레이닝하는 단계는: 추가 타겟 사용자의 하나 이상의 추가 음성 발화를 캡처하는 추가 오디오 데이터의 인스턴스를 식별하는 단계; 상기 추가 타겟 사용자에 대한 추가 화자 임베딩을 결정하는 단계; 상기 추가 오디오 데이터의 인스턴스를 상기 추가 타겟 사용자로부터의 것이 아닌 하나 이상의 추가 사운드와 결합함으로써 추가 오디오 데이터의 잡음이 있는 인스턴스를 생성하는 단계; 추가 화자 독립 출력(추가 SI 출력)을 생성하기 위해 상기 SI 음성 모델을 사용하여 상기 추가 오디오 데이터의 인스턴스를 프로세싱하는 단계; 추가 화자 종속 출력(추가 SD 출력)을 생성하기 위해 상기 SD 음성 모델을 사용하여 상기 추가 화자 임베딩과 함께 상기 추가 오디오 데이터의 잡음이 있는 인스턴스를 프로세싱하는 단계; 상기 추가 SI 출력 및 상기 추가 SD 출력에 기초하여 추가 손실을 생성하는 단계; 및 상기 생성된 추가 손실에 기초하여 상기 SD 음성 모델의 하나 이상의 부분을 업데이트하는 단계를 포함한다.
일부 구현예에서, 상기 방법은 상기 SD 음성 모델을 트레이닝시킨 후, 상기 SD 음성 모델로 하여금 주어진 클라이언트 디바이스의 로컬 저장소에 저장되고 상기 주어진 클라이언트 디바이스에 배치되게 하는 단계를 더 포함한다. 상기 SD 음성 모델이 상기 로컬 저장소에 저장되고 주어진 클라이언트 디바이스에 배치되는 것에 응답하여, 상기 주어진 클라이언트 디바이스는 상기 트레이닝된 SD 음성 모델을 사용하여, 로컬 화자 임베딩과 함께 오디오 데이터의 로컬 인스턴스를 프로세싱하는 것에 기초하여, 하나 이상의 액션을 수행한다. 상기 로컬 화자 임베딩은 상기 클라이언트 디바이스와 연관된 별개의 사용자에 대응한다. 상기 구현예 중 일부 버전에서, 상기 SI 음성 모델은 화자 독립 음성 활동 검출 모델이고, SD 음성 모델은 화자 종속 음성 활동 검출 모델(SD VAD 모델)이고, 상기 방법은: 상기 클라이언트 디바이스에서, 오디오 데이터의 로컬 인스턴스를 검출하는 단계; 상기 클라이언트 디바이스에서, 상기 SD VAD 모델을 사용하여, 상기 오디오 데이터가 상기 별개 사용자의 음성 활동을 포함하는지 여부를 나타내는 출력을 생성하기 위해 상기 오디오 데이터의 로컬 인스턴스를 상기 로컬 화자 임베딩과 함께 프로세싱하는 단계; 및 오디오 데이터가 별개 사용자의 음성 활동을 포함한다는 결정에 응답하여 하나 이상의 액션을 수행하는 단계를 더 포함한다. 예를 들어, 하나 이상의 액션을 수행하는 단계는 핫워드 검출 모델 및/또는 자동 음성 인식 엔진 모델과 같은 추가 음성 모델을 사용하여 오디오 데이터의 로컬 인스턴스를 프로세싱하는 단계를 포함할 수 있다. 상기 구현예 중 일부 버전에서, 상기 SI 음성 모델은 화자 독립 자동 음성 인식 모델이고, SD 음성 모델은 화자 종속 자동 음성 인식 모델(SD ASR 모델)이고, 상기 방법은: 상기 클라이언트 디바이스에서, 오디오 데이터의 로컬 인스턴스를 검출하는 단계; 상기 클라이언트 디바이스에서, 상기 SD ASR 모델을 사용하여, 상기 별개의 사용자의 하나 이상의 음성 발화에 대한 인식된 텍스트를 나타내는 출력을 생성하기 위해 상기 오디오 데이터의 로컬 인스턴스를 상기 로컬 화자 임베딩과 함께 프로세싱하는 단계; 및 상기 출력에 의해 표시된 인식된 텍스트에 기초하여 하나 이상의 액션을 수행하는 단계를 포함한다. 상기 구현예 중 일부 다른 버전에서, 상기 SI 음성 모델은 화자 독립 핫워드 검출 모델이고, SD 음성 모델은 화자 종속 핫워드 검출 모델(SD 핫워드 검출 모델)이고, 상기 방법은: 상기 클라이언트 디바이스에서, 오디오 데이터의 로컬 인스턴스를 검출하는 단계; 상기 클라이언트 디바이스에서, 상기 SD 핫워드 검출 모델을 사용하여, 상기 오디오 데이터가 상기 별개 사용자에 의해 발화된 핫워드를 포함하는지 여부를 나타내는 출력을 생성하기 위해 상기 오디오 데이터의 로컬 인스턴스를 상기 화자 임베딩과 함께 프로세싱하는 단계; 및 오디오 데이터가 별개 사용자에 의해 발화된 핫워드를 포함한다는 결정에 응답하여 하나 이상의 액션을 수행하는 단계를 더 포함한다. 예를 들어, 하나 이상의 액션을 수행하는 단계는 음성 활동 검출 모델 및/또는 자동 음성 인식 모델과 같은 추가 음성 모델을 사용하여 오디오 데이터의 로컬 인스턴스를 프로세싱하는 단계를 포함할 수 있다.
일부 구현예에서, 오디오 데이터의 인스턴스는 타겟 사용자가 타겟 사용자의 하나 이상의 음성 발화를 캡처하는 오디오 데이터의 인스턴스에 대응함을 나타내는 라벨에 매핑된다. 그러한 구현예 중 일부에서, 타겟 사용자에 대한 화자 임베딩을 결정하는 단계는 상기 라벨에 기초하여 타겟 사용자에 대한 화자 임베딩을 선택하는 단계를 포함한다.
일부 구현예에서, 타겟 사용자에 대한 화자 임베딩을 결정하는 단계는: 상기 타겟 사용자에 대한 화자 임베딩을 생성하기 위해 화자 임베딩 모델을 사용하여 상기 타겟 사용자의 하나 이상의 음성 발화를 캡처하는 오디오 데이터의 인스턴스의 하나 이상의 부분을 프로세싱하는 단계를 포함한다.
일부 구현예에서, 타겟 사용자로부터의 것이 아닌 하나 이상의 추가 사운드는 하나 이상의 배경 잡음을 포함하고, 상기 오디오 데이터의 인스턴스를 상기 타겟 사용자로부터의 것이 아닌 상기 하나 이상의 추가 사운드와 결합함으로써 오디오 데이터의 잡음이 있는 인스턴스를 생성하는 단계는 상기 오디오 데이터의 인스턴스를 상기 하나 이상의 배경 잡음과 결합하는 단계를 포함한다. 일부 구현예에서, 타겟 사용자로부터의 것이 아닌 하나 이상의 추가 사운드는 상기 타겟 사용자가 아닌 사용자에 의해 발화된 하나 이상의 발화를 추가적 또는 대안적으로 포함하고, 상기 오디오 데이터의 인스턴스를 상기 타겟 사용자로부터의 것이 아닌 상기 하나 이상의 추가 사운드와 결합함으로써 오디오 데이터의 잡음이 있는 인스턴스를 생성하는 단계는 상기 오디오 데이터의 인스턴스를 상기 타겟 사용자가 아닌 사용자에 의해 발화된 하나 이상의 발화와 결합하는 단계를 포함한다.
일부 구현예에서, 상기 트레이닝된 SI 음성 모델은 상기 SD 음성 모델의 트레이닝 동안 동결된다.
일부 구현예에서, SI 출력 및 SD 출력에 기초하여 손실을 생성하는 단계는 SI 출력 및 SD 출력에 기초하여 교차 엔트로피 손실을 생성하는 단계를 포함한다. 이러한 구현예 중 일부에서, 생성된 손실에 기초하여 SD 모델의 하나 이상의 부분을 업데이트하는 단계는 교차 엔트로피 손실에 기초하여 SD 모델의 하나 이상의 부분을 업데이트하는 단계를 포함한다.
일부 구현예에서, 상기 SD 음성 모델은 상기 SI 음성 모델과 동일한 네트워크 토폴로지를 갖는다.
일부 구현예에서, 상기 SD 음성 모델은 상기 SI 음성 모델과 동일한 네트워크 토폴로지를 갖지 않으며, 상기 SD 음성 모델 토폴로지는 상기 SI 음성 모델보다 더 컴팩트하다.
일부 구현예에서, 클라이언트 디바이스의 사용자의 하나 이상의 음성 발화를 캡처하는 오디오 데이터의 인스턴스를 수신하는 방법이 제공되고 포함한다. 오디오 데이터의 인스턴스는 클라이언트 디바이스의 하나 이상의 마이크로폰을 사용하여 캡처된다. 상기 방법은 상기 클라이언트 디바이스의 타겟 사용자에 대응하는 화자 임베딩을 결정하는 단계를 포함한다. 상기 방법은 상기 오디오 데이터가 상기 클라이언트 디바이스의 타겟 사용자의 음성 활동을 포함하는지 여부를 나타내는 출력을 생성하기 위해 화자 종속 음성 활동 검출 모델(SD VAD 모델)을 사용하여 화자 임베딩과 함께 오디오 데이터의 인스턴스를 프로세싱하는 단계를 더 포함한다. SD VAD 모델은 클라이언트 디바이스의 임의의 사용자에 대해 개인화될 수 있다. 방법은 출력에 기초하여 하나 이상의 액션을 수행하는 단계를 더 포함한다.
본 명세서에서 논의된 기술의 이들 또는 다른 구현예들은 다음 구성들 중 하나 이상을 포함할 수 있다.
일부 구현예에서, 상기 출력에 기초하여 하나 이상의 액션을 수행하는 단계는: 상기 출력에 기초하여, 상기 오디오 데이터가 상기 타겟 사용자의 음성 활동을 포함하는지 여부를 결정하는 단계; 및 상기 오디오 데이터가 상기 클라이언트 디바이스의 타겟 사용자의 음성 활동을 포함한다는 결정에 응답하여, 추가 음성 모델을 사용하여 상기 오디오 데이터의 인스턴스를 프로세싱하는 단계를 포함한다. 그러한 구현예 중 일부에서, 추가 음성 모델은 핫워드 검출 모델 및/또는 자동 음성 인식 모델이다.
일부 구현예에서, 상기 출력에 기초하여 하나 이상의 액션을 수행하는 단계는: 상기 출력에 기초하여, 상기 오디오 데이터가 상기 타겟 사용자의 음성 활동을 포함하는지 여부를 결정하는 단계; 상기 오디오 데이터가 상기 클라이언트 디바이스의 타겟 사용자의 음성 활동을 포함하지 않는다는 결정에 응답하여, 상기 클라이언트 디바이스의 추가 타겟 사용자에 대응하는 추가 화자 임베딩을 결정하는 단계; 및 상기 오디오 데이터가 상기 클라이언트 디바이스의 추가 타겟 사용자의 음성 활동을 포함하는지 여부를 나타내는 추가 출력을 생성하기 위해 SD VAD 모델을 사용하여 추가 화자 임베딩과 함께 상기 오디오 데이터의 인스턴스를 프로세싱하는 단계를 포함한다.
일부 구현예에서, 상기 출력에 기초하여 하나 이상의 액션을 수행하는 단계는: 상기 출력에 기초하여, 상기 오디오 데이터가 상기 타겟 사용자의 음성 활동을 포함하는지 여부를 결정하는 단계; 상기 오디오 데이터가 상기 클라이언트 디바이스의 타겟 사용자의 음성 활동을 포함하지 않는다는 결정에 응답하여, 상기 오디오 데이터의 인스턴스의 임의의 추가 프로세싱을 수행하지 않고 상기 오디오 데이터의 인스턴스를 폐기하는 단계를 포함한다.
추가로, 일부 구현예들은 하나 이상의 컴퓨팅 디바이스들의 하나 이상의 프로세서들(예를 들어, 중앙 프로세싱 유닛(들)(CPU(들)), 그래픽 프로세싱 유닛(들)(GPU(들)) 및/또는 텐서 프로세싱 유닛(들)(TPU(들)))을 포함하며, 상기 하나 이상의 프로세서들은 연관된 메모리에 저장된 명령어들을 실행하도록 동작가능하며, 상기 명령어들은 본 명세서에 기술된 임의의 방법들을 수행하게 하도록 구성된다. 또한, 일부 구현예들은 본 명세서에 기술된 방법들 중 임의의 것을 수행하도록 하나 이상의 프로세서들에 의해 실행가능한 컴퓨터 명령어들을 저장하는 하나 이상의 비일시적 컴퓨터 판독가능 저장 매체를 포함한다.
몇몇 구현예가 본 명세서에서 기술되고 도시되었지만, 기능을 수행하고 및/또는 결과 및/또는 본 명세서에 기술된 하나 이상의 이점을 획득하기 위한 다양한 다른 수단들 및/또는 구조들이 활용될 수 있으며, 그러한 변형들 및/또는 수정들은 본 명세서에서 기술된 구현예들의 범위 내에 있는 것으로 간주된다. 보다 일반적으로, 본 명세서에 기술된 모든 파라미터, 치수, 재료 및 구성은 예시적인 것으로 의도되었으며, 실제 파라미터, 치수, 재료 및/또는 구성은 교시를 사용되는 특정 애플리케이션 또는 애플리케이션들에 의존할 것이다. 통상의 기술자는 일상적인 실험만을 사용하여 본 명세서에 기술된 특정 구현예들에 대한 많은 균등물들을 인식할 수 있거나 또는 확인할 수 있을 것이다. 따라서, 전술한 구현예들은 단지 예일 뿐이며, 첨부된 청구범위 및 그 균등물의 범위 내에서 구현은 구체적으로 기술되고 청구된 것과 다르게도 실시될 수 있음을 이해해야 한다. 본 개시의 구현은 본 명세서에 기술된 각각의 개별적인 구성, 시스템, 물품, 재료, 키트 및/또는 방법에 관한 것이다. 또한 구성, 시스템, 물품, 재료, 키트 및/또는 방법이 상호 불일치하지 않는다면, 그러한 두 개 이상의 구성, 시스템, 물품, 재료, 키트 및/또는 방법의 모든 조합이 본 발명의 범위 내에 포함된다.

Claims (24)

  1. 하나 이상의 프로세서에 의해 수행되는 방법으로서,
    트레이닝된 화자 독립 음성 모델(SI 음성 모델)에 기초하여 화자 종속 음성 모델(SD 음성 모델)을 트레이닝하는 단계를 포함하며, 상기 SD 음성 모델은 대응하는 클라이언트 디바이스의 임의의 사용자에 대해 개인화 가능하고, 상기 SD 음성 모델을 트레이닝하는 단계는:
    타겟 사용자의 하나 이상의 음성 발화를 캡처하는 오디오 데이터의 인스턴스를 식별하는 단계;
    상기 타겟 사용자에 대한 화자 임베딩을 결정하는 단계;
    상기 오디오 데이터의 인스턴스를 상기 타겟 사용자로부터의 것이 아닌 하나 이상의 추가 사운드와 결합함으로써 오디오 데이터의 잡음이 있는 인스턴스를 생성하는 단계;
    화자 독립 출력(SI 출력)을 생성하기 위해 상기 SI 음성 모델을 사용하여 상기 오디오 데이터의 인스턴스를 프로세싱하는 단계;
    화자 종속 출력(SD 출력)을 생성하기 위해 상기 SD 음성 모델을 사용하여 상기 화자 임베딩과 함께 상기 오디오 데이터의 잡음이 있는 인스턴스를 프로세싱하는 단계;
    상기 SI 출력 및 상기 SD 출력에 기초하여 손실을 생성하는 단계; 및
    상기 생성된 손실에 기초하여 상기 SD 모델의 하나 이상의 부분을 업데이트하는 단계를 포함하는, 방법.
  2. 청구항 1에 있어서, 상기 트레이닝된 SI 음성 모델에 기초하여 상기 SD 음성 모델을 트레이닝하는 단계는:
    추가 타겟 사용자의 하나 이상의 추가 음성 발화를 캡처하는 추가 오디오 데이터의 인스턴스를 식별하는 단계;
    상기 추가 타겟 사용자에 대한 추가 화자 임베딩을 결정하는 단계;
    상기 추가 오디오 데이터의 인스턴스를 상기 추가 타겟 사용자로부터의 것이 아닌 하나 이상의 추가 사운드와 결합함으로써 추가 오디오 데이터의 잡음이 있는 인스턴스를 생성하는 단계;
    추가 화자 독립 출력(추가 SI 출력)을 생성하기 위해 상기 SI 음성 모델을 사용하여 상기 추가 오디오 데이터의 인스턴스를 프로세싱하는 단계;
    추가 화자 종속 출력(추가 SD 출력)을 생성하기 위해 상기 SD 음성 모델을 사용하여 상기 추가 화자 임베딩과 함께 상기 추가 오디오 데이터의 잡음이 있는 인스턴스를 프로세싱하는 단계;
    상기 추가 SI 출력 및 상기 추가 SD 출력에 기초하여 추가 손실을 생성하는 단계; 및
    상기 생성된 추가 손실에 기초하여 상기 SD 음성 모델의 하나 이상의 부분을 업데이트하는 단계를 포함하는, 방법.
  3. 임의의 선행하는 청구항에 있어서, 상기 SD 음성 모델을 트레이닝시킨 후:
    상기 SD 음성 모델로 하여금 주어진 클라이언트 디바이스의 로컬 저장소에 저장되고 상기 주어진 클라이언트 디바이스에 배치되게 하는 단계를 더 포함하며;
    상기 SD 음성 모델이 상기 로컬 저장소에 저장되고 주어진 클라이언트 디바이스에 배치되는 것에 응답하여, 상기 주어진 클라이언트 디바이스는 상기 트레이닝된 SD 음성 모델을 사용하여, 로컬 화자 임베딩과 함께 오디오 데이터의 로컬 인스턴스를 프로세싱하는 것에 기초하여, 하나 이상의 액션을 수행하고, 상기 로컬 화자 임베딩은 상기 클라이언트 디바이스와 연관된 별개의 사용자에 대응하는, 방법.
  4. 청구항 3에 있어서, 상기 SI 음성 모델은 화자 독립 음성 활동 검출 모델이고, 상기 SD 음성 모델은 화자 종속 음성 활동 검출 모델(SD VAD 모델)이고, 상기 방법은:
    상기 클라이언트 디바이스에서, 오디오 데이터의 로컬 인스턴스를 검출하는 단계, 상기 오디오 데이터의 로컬 인스턴스는 상기 클라이언트 디바이스의 별개의 사용자의 하나 이상의 음성 발화를 캡처하며, 상기 오디오 데이터의 로컬 인스턴스는 상기 클라이언트 디바이스의 하나 이상의 마이크로폰을 사용하여 캡처되며;
    상기 클라이언트 디바이스에서, 상기 SD VAD 모델을 사용하여, 상기 오디오 데이터가 상기 별개 사용자의 음성 활동을 포함하는지 여부를 나타내는 출력을 생성하기 위해 상기 오디오 데이터의 로컬 인스턴스를 상기 로컬 화자 임베딩과 함께 프로세싱하는 단계; 및
    상기 오디오 데이터가 별개의 사용자의 음성 활동을 포함한다는 결정에 응답하여, 상기 하나 이상의 액션을 수행하는 단계를 더 포함하며, 상기 하나 이상의 액션을 수행하는 단계는 추가 음성 모델을 사용하여 상기 오디오 데이터의 로컬 인스턴스를 프로세싱하는 단계를 포함하는, 방법.
  5. 청구항 4에 있어서, 상기 추가 음성 모델은 핫워드 검출 모델 및/또는 자동 음성 인식 엔진 모델인, 방법.
  6. 청구항 3에 있어서, 상기 SI 음성 모델은 화자 독립 자동 음성 인식 모델이고, 상기 SD 음성 모델은 화자 종속 자동 음성 인식 모델(SD ASR 모델)이고, 상기 방법은:
    상기 클라이언트 디바이스에서, 오디오 데이터의 로컬 인스턴스를 검출하는 단계, 상기 오디오 데이터의 로컬 인스턴스는 상기 클라이언트 디바이스의 별개의 사용자의 하나 이상의 음성 발화를 캡처하며, 상기 오디오 데이터의 로컬 인스턴스는 상기 클라이언트 디바이스의 하나 이상의 마이크로폰을 사용하여 캡처되며;
    상기 클라이언트 디바이스에서, 상기 SD ASR 모델을 사용하여, 상기 별개의 사용자의 하나 이상의 음성 발화에 대한 인식된 텍스트를 나타내는 출력을 생성하기 위해 상기 오디오 데이터의 로컬 인스턴스를 상기 로컬 화자 임베딩과 함께 프로세싱하는 단계; 및
    상기 출력에 의해 표시된 인식된 텍스트에 기초하여 하나 이상의 액션을 수행하는 단계를 포함하는, 방법.
  7. 청구항 3에 있어서, 상기 SI 음성 모델은 화자 독립 핫워드 검출 모델이고, 상기 SD 음성 모델은 화자 종속 핫워드 검출 모델(SD 핫워드 검출 모델)이고, 상기 방법은:
    상기 클라이언트 디바이스에서, 오디오 데이터의 로컬 인스턴스를 검출하는 단계, 상기 오디오 데이터의 로컬 인스턴스는 상기 클라이언트 디바이스의 별개의 사용자의 하나 이상의 음성 발화를 캡처하며, 상기 오디오 데이터의 로컬 인스턴스는 상기 클라이언트 디바이스의 하나 이상의 마이크로폰을 사용하여 캡처되며;
    상기 클라이언트 디바이스에서, 상기 SD 핫워드 검출 모델을 사용하여, 상기 오디오 데이터가 상기 별개 사용자에 의해 발화된 핫워드를 포함하는지 여부를 나타내는 출력을 생성하기 위해 상기 오디오 데이터의 로컬 인스턴스를 상기 화자 임베딩과 함께 프로세싱하는 단계; 및
    상기 오디오 데이터가 별개 사용자에 의해 발화된 핫워드를 포함한다는 결정에 응답하여, 상기 하나 이상의 액션을 수행하는 단계를 더 포함하며, 상기 하나 이상의 액션을 수행하는 단계는 추가 음성 모델을 사용하여 상기 오디오 데이터의 로컬 인스턴스를 프로세싱하는 단계를 포함하는, 방법.
  8. 청구항 7에 있어서, 상기 추가 음성 모델은 음성 활동 검출 모델 및/또는 자동 음성 인식 모델인, 방법.
  9. 임의의 선행하는 청구항에 있어서, 상기 오디오 데이터의 인스턴스는 상기 타겟 사용자가 상기 타겟 사용자의 하나 이상의 음성 발화를 캡처하는 오디오 데이터의 인스턴스에 대응함을 나타내는 라벨에 매핑되고, 상기 타겟 사용자에 대한 화자 임베딩을 결정하는 단계는 상기 라벨에 기초하여 상기 타겟 사용자에 대한 화자 임베딩을 선택하는 단계를 포함하는, 방법.
  10. 임의의 선행하는 청구항에 있어서, 상기 타겟 사용자에 대한 화자 임베딩을 결정하는 단계는:
    상기 타겟 사용자에 대한 화자 임베딩을 생성하기 위해 화자 임베딩 모델을 사용하여 상기 타겟 사용자의 하나 이상의 음성 발화를 캡처하는 오디오 데이터의 인스턴스의 하나 이상의 부분을 프로세싱하는 단계를 포함하는, 방법.
  11. 임의의 선행하는 청구항에 있어서, 상기 타겟 사용자로부터의 것이 아닌 하나 이상의 추가 사운드는 하나 이상의 배경 잡음을 포함하고, 상기 오디오 데이터의 인스턴스를 상기 타겟 사용자로부터의 것이 아닌 상기 하나 이상의 추가 사운드와 결합함으로써 오디오 데이터의 잡음이 있는 인스턴스를 생성하는 단계는 상기 오디오 데이터의 인스턴스를 상기 하나 이상의 배경 잡음과 결합하는 단계를 포함하는, 방법.
  12. 임의의 선행하는 청구항에 있어서, 상기 타겟 사용자로부터의 것이 아닌 하나 이상의 추가 사운드는 상기 타겟 사용자가 아닌 사용자에 의해 발화된 하나 이상의 발화를 포함하고, 상기 오디오 데이터의 인스턴스를 상기 타겟 사용자로부터의 것이 아닌 상기 하나 이상의 추가 사운드와 결합함으로써 오디오 데이터의 잡음이 있는 인스턴스를 생성하는 단계는 상기 오디오 데이터의 인스턴스를 상기 타겟 사용자가 아닌 사용자에 의해 발화된 하나 이상의 발화와 결합하는 단계를 포함하는, 방법.
  13. 임의의 선행하는 청구항에 있어서, 상기 트레이닝된 SI 음성 모델은 상기 SD 음성 모델의 트레이닝 동안 동결되는, 방법.
  14. 임의의 선행하는 청구항에 있어서, 상기 SI 출력 및 상기 SD 출력에 기초하여 손실을 생성하는 단계는 상기 SI 출력 및 상기 SD 출력에 기초하여 교차 엔트로피 손실을 생성하는 단계를 포함하고, 상기 생성된 손실에 기초하여 상기 SD 모델의 하나 이상의 부분을 업데이트하는 단계는 상기 교차 엔트로피 손실에 기초하여 상기 SD 모델의 하나 이상의 부분을 업데이트하는 단계를 포함하는, 방법.
  15. 청구항 1에 있어서, 상기 SD 음성 모델은 상기 SI 음성 모델과 동일한 네트워크 토폴로지를 갖는, 방법.
  16. 청구항 1에 있어서, 상기 SD 음성 모델은 상기 SI 음성 모델과 동일한 네트워크 토폴로지를 갖지 않으며, 상기 SD 음성 모델 토폴로지는 상기 SI 음성 모델보다 더 컴팩트한, 방법.
  17. 하나 이상의 프로세서에 의해 수행되는 방법으로서,
    클라이언트 디바이스의 사용자의 하나 이상의 음성 발화를 캡처하는 오디오 데이터의 인스턴스를 수신하는 단계, 상기 오디오 데이터의 인스턴스는 상기 클라이언트 디바이스의 하나 이상의 마이크로폰을 사용하여 캡처되며;
    상기 클라이언트 디바이스의 타겟 사용자에 대응하는 화자 임베딩을 결정하는 단계;
    상기 오디오 데이터가 상기 클라이언트 디바이스의 타겟 사용자의 음성 활동을 포함하는지 여부를 나타내는 출력을 생성하기 위해 화자 종속 음성 활동 검출 모델(SD VAD 모델)을 사용하여 화자 임베딩과 함께 오디오 데이터의 인스턴스를 프로세싱하는 단계, 상기 SD VAD 모델은 상기 클라이언트 디바이스의 모든 사용자에게 개인화 가능하고; 및
    상기 출력에 기초하여 하나 이상의 액션을 수행하는 단계를 포함하는, 방법.
  18. 청구항 17에 있어서, 상기 출력에 기초하여 상기 하나 이상의 액션을 수행하는 단계는:
    상기 출력에 기초하여, 상기 오디오 데이터가 상기 타겟 사용자의 음성 활동을 포함하는지 여부를 결정하는 단계;
    상기 오디오 데이터가 상기 클라이언트 디바이스의 타겟 사용자의 음성 활동을 포함한다는 결정에 응답하여, 추가 음성 모델을 사용하여 상기 오디오 데이터의 인스턴스를 프로세싱하는 단계를 포함하는, 방법.
  19. 청구항 18에 있어서, 상기 추가 음성 모델은 핫워드 검출 모델 및/또는 자동 음성 인식 모델인, 방법.
  20. 청구항 17에 있어서, 상기 출력에 기초하여 상기 하나 이상의 액션을 수행하는 단계는:
    상기 출력에 기초하여, 상기 오디오 데이터가 상기 타겟 사용자의 음성 활동을 포함하는지 여부를 결정하는 단계;
    상기 오디오 데이터가 상기 클라이언트 디바이스의 타겟 사용자의 음성 활동을 포함하지 않는다는 결정에 응답하여:
    상기 클라이언트 디바이스의 추가 타겟 사용자에 대응하는 추가 화자 임베딩을 결정하는 단계; 및
    상기 오디오 데이터가 상기 클라이언트 디바이스의 추가 타겟 사용자의 음성 활동을 포함하는지 여부를 나타내는 추가 출력을 생성하기 위해 SD VAD 모델을 사용하여 추가 화자 임베딩과 함께 상기 오디오 데이터의 인스턴스를 프로세싱하는 단계를 포함하는, 방법.
  21. 청구항 17에 있어서, 상기 출력에 기초하여 상기 하나 이상의 액션을 수행하는 단계는:
    상기 출력에 기초하여, 상기 오디오 데이터가 상기 타겟 사용자의 음성 활동을 포함하는지 여부를 결정하는 단계;
    상기 오디오 데이터가 상기 클라이언트 디바이스의 타겟 사용자의 음성 활동을 포함하지 않는다는 결정에 응답하여, 상기 오디오 데이터의 인스턴스의 임의의 추가 프로세싱을 수행하지 않고 상기 오디오 데이터의 인스턴스를 폐기하는 단계를 포함하는, 방법.
  22. 컴퓨터 프로그램으로서, 컴퓨팅 시스템의 하나 이상의 프로세서에 의해 실행될 때 상기 컴퓨팅 시스템이 임의의 선행하는 청구항의 방법을 수행하게 하는 명령어를 포함하는 컴퓨터 프로그램.
  23. 클라이언트 디바이스로서, 청구항 1 내지 21 중 어느 한 항의 방법을 수행하기 위해 클라이언트 디바이스의 메모리에 저장된 명령어를 실행하는 하나 이상의 프로세서를 포함하는 클라이언트 디바이스.
  24. 컴퓨터 판독가능 저장 매체로서, 청구항 1 내지 21 중 어느 한 항의 방법을 수행하기 위한 컴퓨팅 시스템의 하나 이상의 프로세서에 의해 실행 가능한 명령어를 저장하는 컴퓨터 판독가능 저장 매체.
KR1020227004112A 2019-12-04 2019-12-04 화자 종속 음성 모델(들)을 사용한 화자 인식 KR20220028128A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2019/064501 WO2021112840A1 (en) 2019-12-04 2019-12-04 Speaker awareness using speaker dependent speech model(s)

Publications (1)

Publication Number Publication Date
KR20220028128A true KR20220028128A (ko) 2022-03-08

Family

ID=69006033

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227004112A KR20220028128A (ko) 2019-12-04 2019-12-04 화자 종속 음성 모델(들)을 사용한 화자 인식

Country Status (6)

Country Link
US (2) US11238847B2 (ko)
EP (2) EP3857544B1 (ko)
JP (1) JP7371135B2 (ko)
KR (1) KR20220028128A (ko)
CN (1) CN113261056A (ko)
WO (1) WO2021112840A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102515914B1 (ko) * 2022-12-21 2023-03-30 주식회사 액션파워 Stt 모델을 활용하는 발음 전사 방법
KR102524615B1 (ko) * 2022-10-28 2023-04-21 주식회사 액션파워 개인화된 음성 인식을 위한 데이터를 생성하고, 생성된 데이터를 이용하여 개인화된 음성 인식을 수행하는 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3857544B1 (en) 2019-12-04 2022-06-29 Google LLC Speaker awareness using speaker dependent speech model(s)
US20230116052A1 (en) * 2021-10-05 2023-04-13 Microsoft Technology Licensing, Llc Array geometry agnostic multi-channel personalized speech enhancement

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5917891A (en) * 1996-10-07 1999-06-29 Northern Telecom, Limited Voice-dialing system using adaptive model of calling behavior
US6389393B1 (en) 1998-04-28 2002-05-14 Texas Instruments Incorporated Method of adapting speech recognition models for speaker, microphone, and noisy environment
JP3893763B2 (ja) * 1998-08-17 2007-03-14 富士ゼロックス株式会社 音声検出装置
US6253181B1 (en) * 1999-01-22 2001-06-26 Matsushita Electric Industrial Co., Ltd. Speech recognition and teaching apparatus able to rapidly adapt to difficult speech of children and foreign speakers
US6405168B1 (en) 1999-09-30 2002-06-11 Conexant Systems, Inc. Speaker dependent speech recognition training using simplified hidden markov modeling and robust end-point detection
US7024359B2 (en) * 2001-01-31 2006-04-04 Qualcomm Incorporated Distributed voice recognition system using acoustic feature vector modification
US20020143540A1 (en) * 2001-03-28 2002-10-03 Narendranath Malayath Voice recognition system using implicit speaker adaptation
US6785647B2 (en) * 2001-04-20 2004-08-31 William R. Hutchison Speech recognition system with network accessible speech processing resources
US6915259B2 (en) 2001-05-24 2005-07-05 Matsushita Electric Industrial Co., Ltd. Speaker and environment adaptation based on linear separation of variability sources
US7054811B2 (en) * 2002-11-06 2006-05-30 Cellmax Systems Ltd. Method and system for verifying and enabling user access based on voice parameters
CN1453767A (zh) 2002-04-26 2003-11-05 日本先锋公司 语音识别装置以及语音识别方法
US20070118372A1 (en) * 2005-11-23 2007-05-24 General Electric Company System and method for generating closed captions
US20070118364A1 (en) * 2005-11-23 2007-05-24 Wise Gerald B System for generating closed captions
US7813929B2 (en) * 2007-03-30 2010-10-12 Nuance Communications, Inc. Automatic editing using probabilistic word substitution models
DE602007004733D1 (de) * 2007-10-10 2010-03-25 Harman Becker Automotive Sys Sprechererkennung
US8407049B2 (en) * 2008-04-23 2013-03-26 Cogi, Inc. Systems and methods for conversation enhancement
US9026444B2 (en) 2009-09-16 2015-05-05 At&T Intellectual Property I, L.P. System and method for personalization of acoustic models for automatic speech recognition
US10497381B2 (en) * 2012-05-04 2019-12-03 Xmos Inc. Methods and systems for improved measurement, entity and parameter estimation, and path propagation effect measurement and mitigation in source signal separation
US8571859B1 (en) * 2012-05-31 2013-10-29 Google Inc. Multi-stage speaker adaptation
US9269368B2 (en) * 2013-03-15 2016-02-23 Broadcom Corporation Speaker-identification-assisted uplink speech processing systems and methods
WO2014144579A1 (en) * 2013-03-15 2014-09-18 Apple Inc. System and method for updating an adaptive speech recognition model
US9858919B2 (en) 2013-11-27 2018-01-02 International Business Machines Corporation Speaker adaptation of neural network acoustic models using I-vectors
KR20160090584A (ko) * 2015-01-22 2016-08-01 엘지전자 주식회사 디스플레이 디바이스 및 그 제어 방법
US9786270B2 (en) * 2015-07-09 2017-10-10 Google Inc. Generating acoustic models
US10438593B2 (en) 2015-07-22 2019-10-08 Google Llc Individualized hotword detection models
US9978374B2 (en) * 2015-09-04 2018-05-22 Google Llc Neural networks for speaker verification
US10884503B2 (en) * 2015-12-07 2021-01-05 Sri International VPA with integrated object recognition and facial expression recognition
US10229672B1 (en) * 2015-12-31 2019-03-12 Google Llc Training acoustic models using connectionist temporal classification
US10373612B2 (en) 2016-03-21 2019-08-06 Amazon Technologies, Inc. Anchored speech detection and speech recognition
US20180018973A1 (en) 2016-07-15 2018-01-18 Google Inc. Speaker verification
CN107785015A (zh) 2016-08-26 2018-03-09 阿里巴巴集团控股有限公司 一种语音识别方法及装置
US10115393B1 (en) * 2016-10-31 2018-10-30 Microsoft Technology Licensing, Llc Reduced size computerized speech model speaker adaptation
US10467510B2 (en) * 2017-02-14 2019-11-05 Microsoft Technology Licensing, Llc Intelligent assistant
US10978050B2 (en) * 2018-02-20 2021-04-13 Intellivision Technologies Corp. Audio type detection
US10726826B2 (en) * 2018-03-04 2020-07-28 International Business Machines Corporation Voice-transformation based data augmentation for prosodic classification
US10957337B2 (en) * 2018-04-11 2021-03-23 Microsoft Technology Licensing, Llc Multi-microphone speech separation
US10657962B2 (en) * 2018-05-02 2020-05-19 International Business Machines Corporation Modeling multiparty conversation dynamics: speaker, response, addressee selection using a novel deep learning approach
US10580414B2 (en) * 2018-05-07 2020-03-03 Microsoft Technology Licensing, Llc Speaker recognition/location using neural network
GB2573809B (en) * 2018-05-18 2020-11-04 Emotech Ltd Speaker Recognition
US11017778B1 (en) * 2018-12-04 2021-05-25 Sorenson Ip Holdings, Llc Switching between speech recognition systems
US10728656B1 (en) * 2019-01-07 2020-07-28 Kikago Limited Audio device and audio processing method
US11586930B2 (en) * 2019-04-16 2023-02-21 Microsoft Technology Licensing, Llc Conditional teacher-student learning for model training
US11107460B2 (en) * 2019-04-16 2021-08-31 Microsoft Technology Licensing, Llc Adversarial speaker adaptation
US11854562B2 (en) * 2019-05-14 2023-12-26 International Business Machines Corporation High-quality non-parallel many-to-many voice conversion
CN110136749B (zh) * 2019-06-14 2022-08-16 思必驰科技股份有限公司 说话人相关的端到端语音端点检测方法和装置
US11232782B2 (en) * 2019-08-30 2022-01-25 Microsoft Technology Licensing, Llc Speaker adaptation for attention-based encoder-decoder
US11545136B2 (en) * 2019-10-21 2023-01-03 Nuance Communications, Inc. System and method using parameterized speech synthesis to train acoustic models
US20200090657A1 (en) * 2019-11-22 2020-03-19 Intel Corporation Adaptively recognizing speech using key phrases
EP3857544B1 (en) 2019-12-04 2022-06-29 Google LLC Speaker awareness using speaker dependent speech model(s)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102524615B1 (ko) * 2022-10-28 2023-04-21 주식회사 액션파워 개인화된 음성 인식을 위한 데이터를 생성하고, 생성된 데이터를 이용하여 개인화된 음성 인식을 수행하는 방법
KR102515914B1 (ko) * 2022-12-21 2023-03-30 주식회사 액션파워 Stt 모델을 활용하는 발음 전사 방법

Also Published As

Publication number Publication date
US20220157298A1 (en) 2022-05-19
US11238847B2 (en) 2022-02-01
JP2022539674A (ja) 2022-09-13
EP3857544A1 (en) 2021-08-04
CN113261056A (zh) 2021-08-13
EP4086904A1 (en) 2022-11-09
EP3857544B1 (en) 2022-06-29
WO2021112840A1 (en) 2021-06-10
US20210312907A1 (en) 2021-10-07
JP7371135B2 (ja) 2023-10-30
US11854533B2 (en) 2023-12-26

Similar Documents

Publication Publication Date Title
KR102535338B1 (ko) 화자 임베딩(들)과 트레이닝된 생성 모델을 이용한 화자 분리
KR102494643B1 (ko) 적절한 에이전트의 자동화된 어시스턴트 호출
US11797772B2 (en) Word lattice augmentation for automatic speech recognition
CN110741363B (zh) 使用机器学习处理自然语言以基于槽描述符确定槽值
CN110998717A (zh) 自动确定通过自动化助理接口接收的口头话语的语音识别的语言
US11854533B2 (en) Speaker awareness using speaker dependent speech model(s)
KR20210134741A (ko) 어시스턴트 응답을 동적으로 적응시키는 방법, 시스템 및 매체
KR102429407B1 (ko) 사용자 구성의 맞춤형 인터렉티브 대화 애플리케이션
JP2024019405A (ja) 2パスエンドツーエンド音声認識
KR102438671B1 (ko) 텍스트 독립 화자 인식
US20220415305A1 (en) Speech generation using crosslingual phoneme mapping
KR20220128397A (ko) 자동 음성 인식을 위한 영숫자 시퀀스 바이어싱
JP7250180B2 (ja) グラフィカルユーザインターフェース内への内容の音声制御入力
US11756533B2 (en) Hot-word free pre-emption of automated assistant response presentation
KR20230153450A (ko) 자동 스피치 인식의 로컬 실행을 위한 디바이스 중재

Legal Events

Date Code Title Description
E902 Notification of reason for refusal