KR20220107310A - 키워드 탐지기 트레이닝 - Google Patents

키워드 탐지기 트레이닝 Download PDF

Info

Publication number
KR20220107310A
KR20220107310A KR1020227024628A KR20227024628A KR20220107310A KR 20220107310 A KR20220107310 A KR 20220107310A KR 1020227024628 A KR1020227024628 A KR 1020227024628A KR 20227024628 A KR20227024628 A KR 20227024628A KR 20220107310 A KR20220107310 A KR 20220107310A
Authority
KR
South Korea
Prior art keywords
hotword
model
custom
training
speech
Prior art date
Application number
KR1020227024628A
Other languages
English (en)
Other versions
KR102540248B1 (ko
Inventor
매튜 샤리피
케빈 킬구르
도미니크 로블랙
제임스 린
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20220107310A publication Critical patent/KR20220107310A/ko
Application granted granted Critical
Publication of KR102540248B1 publication Critical patent/KR102540248B1/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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • 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/16Speech classification or search using artificial 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
    • 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
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/285Memory allocation or algorithm optimisation to reduce hardware requirements
    • 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/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • 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/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Acoustics & Sound (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

커스텀 핫워드 모델(200)을 트레이닝하는 방법(300)은 트레이닝 오디오 샘플(134)의 제1 세트를 수신하는 단계를 포함한다. 방법은 또한 트레이닝 오디오 샘플의 제1 세트를 입력으로 수신하도록 구성된 음성 임베딩 모델(202)을 사용하여, 트레이닝 오디오 샘플의 제1 세트의 각각의 트레이닝 오디오 샘플에 대한 커스텀 핫워드(132)를 나타내는 대응하는 핫워드 임베딩(208)을 생성하는 단계를 포함한다. 음성 임베딩 모델은 트레이닝 오디오 샘플의 제1 세트보다 더 많은 수의 트레이닝 오디오 샘플을 사용하여 트레이닝 오디오 샘플(144)의 상이한 세트에 대해 사전 트레이닝된다. 방법은 오디오 데이터(12)에서 커스텀 핫워드의 존재를 검출하기 위해 커스텀 핫워드 모델을 트레이닝하는 단계를 더 포함한다. 커스텀 핫워드 모델은 입력으로서 음성 임베딩 모델을 사용하여 생성된 각각의 대응하는 핫워드 임베딩을 수신하고 그리고 출력으로서 커스텀 핫워드에 대응하는 것으로 각각의 대응하는 핫워드 임베딩을 분류하도록 구성된다.

Description

키워드 탐지기 트레이닝
본 발명은 키워드 탐지기(spotters) 트레이닝에 관한 것이다.
음성 작동(speech-enabled) 환경(예를 들어, 집, 직장, 학교, 자동차 등)은 사용자가 질의를 입력하고 질의에 답변하고 및/또는 커맨드에 기초하여 기능을 수행하는 컴퓨터 기반 시스템에 질의 또는 커맨드를 큰 소리로 말할 수 있도록 한다. 음성 작동 환경은 환경의 다양한 방 또는 영역에 분산된 연결된 마이크로폰 디바이스들의 네트워크를 사용하여 구현될 수 있다. 이들 디바이스는 환경에 존재하는 다른 개인을 향하는 발언과 달리 주어진 발언이 시스템을 향하는 때를 식별하는데 도움이 되도록 핫워드를 사용할 수 있다. 따라서, 디바이스는 검출된 발언이 핫워드를 포함하는 경우에만 슬립 상태 또는 하이버네이션(hibernation) 상태에서 동작하고 웨이크업할 수 있다. 신경망은 최근 스트리밍 오디오에서 사용자가 말한 핫워드를 검출하는 트레이닝 모델을 위한 매력적인 솔루션으로 부상했다. 일반적으로, 핫워드를 검출하는데 사용되는 시스템은 핫워드 맞춤화가 거의 또는 전혀 없이 사전설정된 핫워드를 인식하도록 트레이닝된다. 따라서 이러한 시스템은 사전 설정된 핫워드에 대한 견고한 핫워드 검출를 생성하기 위해 대규모 데이터 세트로 트레이닝할 수 있지만 일반적으로 커스텀 핫워드를 유사하게 검출하기 위해 모델을 트레이닝하기 위한 그러한 대규모 데이터 세트는 없다.
본 개시의 일 양태는 커스텀 핫워드 모델을 트레이닝하기 위한 방법을 제공한다. 방법은 데이터 처리 하드웨어에서, 커스텀 핫워드를 각각 포함하는 트레이닝 오디오 샘플의 제1 세트를 수신하는 단계를 포함한다. 커스텀 핫워드에는 하나 이상의 단어가 포함된다. 방법은 또한 데이터 처리 하드웨어에 의해, 입력으로서 트레이닝 오디오 샘플의 제1 세트를 수신하도록 구성된 음성 임베딩 모델을 사용하여, 트레이닝 오디오 샘플의 제1 세트의 각각의 트레이닝 오디오 샘플에 대한 커스텀 핫워드를 나타내는 대응하는 핫워드 임베딩을 생성하는 단계를 포함한다. 음성 임베딩 모델은 트레이닝 오디오 샘플의 제1 세트와 상이한 트레이닝 오디오 샘플의 제2 세트에 대해 사전 트레이닝된다. 트레이닝 오디오 샘플의 제2 세트는 트레이닝 오디오 샘플의 제1 세트보다 더 많은 수의 트레이닝 오디오 샘플을 포함한다. 방법은 데이터 처리 하드웨어에 의해, 오디오 데이터에서 커스텀 핫워드의 존재를 검출하기 위해 커스텀 핫워드 모델을 트레이닝하는 단계를 더 포함한다. 커스텀 핫워드 모델은 입력으로서 음성 임베딩 모델을 사용하여 생성된 각각의 대응하는 핫워드 임베딩을 수신하도록 구성된다. 커스텀 핫워드 모델은 출력으로서 커스텀 핫워드에 대응하는 것으로 각각의 대응하는 핫워드 임베딩을 분류하도록 구성된다.
본 개시의 구현은 다음의 선택적인 특징들 중 하나 이상을 포함할 수 있다. 일부 구현에서, 커스텀 핫워드 모델을 트레이닝한 후에, 방법은 사용자 디바이스에 상주하는 데이터 처리 하드웨어에서, 사용자 디바이스에 의해 캡처된 스트리밍 오디오 데이터를 수신하는 단계 및 데이터 처리 하드웨어에 의해, 트레이닝된 커스텀 핫워드 모델을 사용하여, 커스텀 핫워드가 스트리밍 오디오 데이터에 존재하는지 여부를 결정하는 단계를 포함한다. 이 구현에서, 커스텀 핫워드가 스트리밍 오디오 데이터에 존재하는 경우, 방법은 데이터 처리 하드웨어에 의해, 스트리밍 오디오 데이터에서 커스텀 핫워드 및/또는 그 커스텀 핫워드에 뒤따르는 하나 이상의 다른 용어를 처리하기 위해 사용자 디바이스에서 웨이크업 프로세스를 개시하는 단계를 포함한다.
일부 구성에서, 원격 시스템은 트레이닝 오디오 샘플의 제2 세트에 대해 음성 임베딩 모델을 사전 트레이닝한다. 이 구성에서, 트레이닝 오디오 샘플의 제2 세트는 하나 이상의 상이한 화자에 의해 발화된 타겟 핫워드의 말뭉치(corpus)를 포함하는 포지티브 트레이닝 오디오 샘플들 및 타겟 핫워드의 말뭉치로부터의 타겟 핫워드를 포함하지 않는 네거티브 트레이닝 오디오 샘플들을 포함한다. 여기서, 원격 시스템은 타겟 핫워드의 말뭉치를 타겟 핫워드의 복수의 랜덤 그룹으로 분할함으로써 음성 임베딩 모델을 사전 트레이닝하도록 구성되고, 상기 타겟 핫워드의 각 그룹은 타겟 핫워드의 말뭉치로부터의 하나 이상의 타겟 핫워드의 개별 세트를 포함한다. 타겟 핫워드의 말뭉치로부터 분할된 타겟 핫워드의 각 그룹에 대해, 원격 시스템은 또한 트레이닝 오디오 샘플의 제2 세트에서 타겟 핫워드의 개별 그룹으로부터 임의의 타겟 핫워드의 존재를 검출하기 위해 음성 임베딩 모델 위에서 각각의 사전 트레이닝 핫워드 모델을 트레이닝하도록 구성될 수 있다. 원격 시스템은 타겟 핫워드의 복수의 랜덤 그룹에 대한 대표 음성 임베딩을 학습하기 위해 음성 임베딩 모델을 트레이닝함으로써 음성 임베딩 모델을 사전 트레이닝하도록 추가로 구성된다.
일부 예에서, 트레이닝 오디오 샘플의 제1 세트는 하나 이상의 음성 합성 시스템으로부터 출력된 커스텀 핫워드의 합성 음성 발언를 포함한다. 다른 예에서, 트레이닝 오디오 샘플의 제1 세트는 커스텀 핫워드를 말하는 사용자에 대응하는 하나 이상의 인간-생성 음성 발언(utterances) 및 하나 이상의 음성 합성 시스템으로부터 출력된 커스텀 핫워드의 복수의 합성 음성 발언을 포함한다. 여기서, 복수의 합성 음성 발언의 적어도 하나의 합성 음성 발언은 복수의 합성 음성 발언의 다른 합성 음성 발언과 상이한 합성 음성을 포함할 수 있다. 방법은 데이터 처리 하드웨어에서, 커스텀 핫워드에 대응하는 입력 텍스트를 수신하는 단계와, 상기 입력 텍스트는 데이터 처리 하드웨어(112)에서 실행되는 그래픽 사용자 인터페이스를 통해 사용자에 의해 입력되고; 그리고 데이터 처리 하드웨어에 의해, 하나 이상의 음성 합성 시스템의 입력으로서 입력 텍스트를 사용하여, 커스텀 핫워드의 복수의 합성 음성 발언을 생성하는 단계를 포함할 수 있다. 선택적으로, 방법은 데이터 처리 하드웨어에서, 커스텀 핫워드를 말하는 사용자에 대응하는 하나 이상의 인간-생성 음성 발언을 수신하는 단계와; 데이터 처리 하드웨어에 의해, 하나 이상의 인간-생성 음성 발언 중 적어도 하나의 전사를 생성하는 단계와; 그리고 데이터 처리 하드웨어에 의해, 하나 이상의 음성 합성 시스템에 대한 입력으로서 하나 이상의 인간-생성 음성 발언 중 적어도 하나의 전사를 사용하여, 커스텀 핫워드의 복수의 합성 음성 발언을 생성하는 단계를 포함할 수 있다.
일부 구현에서, 음성 임베딩 모델은 5개의 컨볼루션 블록을 포함한다. 이 구현에서, 커스텀 핫워드 모델은 음성 임베딩 모델의 5개의 컨볼루션 블록 중 마지막 컨볼루션 블록의 출력을 입력으로 수신하도록 구성된 하나의 컨볼루션 블록과; 그리고 컨볼루션 블록의 출력을 입력으로 수신하도록 구성된 분류 블록을 포함한다. 음성 임베딩 모델과 커스텀 핫워드 모델의 각 콘볼루션 블록은 4개의 콘볼루션 계층 및 맥스풀(maxpool) 계층을 포함할 수 있다. 커스텀 핫워드 모델의 분류 블록은 맥스풀 계층을 따르는 컨볼루션 계층 또는 완전 연결 계층 중 하나를 포함할 수 있다.
일부 구성에서, 데이터 처리 하드웨어는 사용자와 관련된 사용자 디바이스에 상주한다. 여기서, 사용자 디바이스의 사용자는 사용자 디바이스에 커스텀 핫워드를 할당할 수 있다.
본 개시의 다른 양태는 커스텀 핫워드 모델을 트레이닝하기 위한 시스템을 제공한다. 시스템은 데이터 처리 하드웨어 및 데이터 처리 하드웨어와 통신하는 메모리 하드웨어를 포함한다. 메모리 하드웨어는 데이터 처리 하드웨어에서 실행될 때 데이터 처리 하드웨어로 하여금 동작들을 수행하게 하는 명령들을 저장한다. 동작들은 커스텀 핫워드를 각각 포함하는 트레이닝 오디오 샘플의 제1 세트를 수신하는 단계를 포함하고, 커스텀 핫워드는 하나 이상의 단어를 포함한다. 동작들은 또한 트레이닝 오디오 샘플의 제1 세트를 입력으로 수신하도록 구성된 음성 임베딩 모델을 사용하여, 트레이닝 오디오 샘플의 제1 세트의 각각의 트레이닝 오디오 샘플에 대한 커스텀 핫워드를 나타내는 대응하는 핫워드 임베딩을 생성하는 단계를 포함한다. 음성 임베딩 모델은 트레이닝 오디오 샘플의 제1 세트와 상이한 트레이닝 오디오 샘플의 제2 세트에 대해 사전 트레이닝된다. 트레이닝 오디오 샘플의 제2 세트는 트레이닝 오디오 샘플의 제1 세트보다 더 많은 수의 트레이닝 오디오 샘플을 포함한다. 동작들은 오디오 데이터에서 커스텀 핫워드의 존재를 검출하기 위해 커스텀 핫워드 모델을 트레이닝하는 단계를 더 포함한다. 커스텀 핫워드 모델은 입력으로서, 음성 임베딩 모델을 사용하여 생성된 각각의 대응하는 핫워드 임베딩을 수신하고, 출력으로서, 커스텀 핫워드에 대응하는 것으로 각각의 대응하는 핫워드 임베딩을 분류하도록 구성된다.
이 양태는 다음의 선택적 특징들 중 하나 이상을 포함할 수 있다. 일부 예에서, 데이터 처리 하드웨어는 사용자 디바이스에 상주하고, 상기 동작들은 커스텀 핫워드 모델을 트레이닝한 후에, 사용자 디바이스에 의해 캡처된 스트리밍 오디오 데이터를 수신하는 단계, 및 트레이닝된 커스텀 핫워드 모델을 사용하여, 커스텀 핫워드가 스트리밍 오디오 데이터에 존재하는지 여부를 결정하는 단계를 포함한다. 이 예에서, 커스텀 핫워드가 스트리밍 오디오 데이터에 존재하는 경우, 동작들은 스트리밍 오디오 데이터에서 커스텀 핫워드 및/또는 그 커스텀 핫워드에 뒤따르는 하나 이상의 다른 용어를 처리하기 위해 사용자 디바이스에서 웨이크업 프로세스를 개시하는 단계를 포함한다.
일부 구현에서, 원격 시스템은 트레이닝 오디오 샘플의 제2 세트에 대해 음성 임베딩 모델을 사전 트레이닝한다. 이 구현에서, 트레이닝 오디오 샘플의 제2 세트는 하나 이상의 상이한 화자에 의해 발화된 타겟 핫워드의 말뭉치를 포함하는 포지티브 트레이닝 오디오 샘플들 및 타겟 핫워드의 말뭉치로부터의 타겟 핫워드를 포함하지 않는 네거티브 트레이닝 오디오 샘플들을 포함한다. 여기서, 원격 시스템은 타겟 핫워드의 말뭉치를 타겟 핫워드의 복수의 랜덤 그룹으로 분할함으로써 음성 임베딩 모델을 사전 트레이닝하도록 구성될 수 있고, 타겟 핫워드의 각 그룹은 타겟 핫워드의 말뭉치로부터의 하나 이상의 타겟 핫워드의 개별 세트를 포함한다. 추가적으로, 타겟 핫워드의 말뭉치로부터 분할된 타겟 핫워드의 각 그룹에 대해, 원격 시스템은 트레이닝 오디오 샘플의 제2 세트에서 타겟 핫워드의 개별 그룹으로부터 임의의 타겟 핫워드의 존재를 검출하기 위해 음성 임베딩 모델 위에서 각각의 사전 트레이닝 핫워드 모델을 트레이닝하고 그리고 타겟 핫워드의 복수의 랜덤 그룹에 대한 대표 음성 임베딩을 학습하기 위해 음성 임베딩 모델을 트레이닝함으로써 음성 임베딩 모델을 사전 트레이닝하도록 구성될 수 있다.
일부 구성에서, 트레이닝 오디오 샘플의 제1 세트는 하나 이상의 음성 합성 시스템으로부터 출력된 커스텀 핫워드의 합성 음성 발언을 포함한다. 다른 구성에서, 트레이닝 오디오 샘플의 제1 세트는 커스텀 핫워드를 말하는 사용자에 대응하는 하나 이상의 인간 생성 음성 발언과 하나 이상의 음성 합성 시스템으로부터 출력된 커스텀 핫워드의 복수의 합성된 음성 발언을 포함한다. 여기서, 복수의 합성 음성 발언의 적어도 하나의 합성 음성 발언은 복수의 합성 음성 발언의 다른 합성 음성 발언과 상이한 합성 음성을 포함할 수 있다. 동작들은 커스텀 핫워드에 대응하는 입력 텍스트를 수신하는 단계와, 상기 입력 텍스트는 데이터 처리 하드웨어에서 실행되는 그래픽 사용자 인터페이스를 통해 사용자에 의해 입력되고; 그리고 하나 이상의 음성 합성 시스템의 입력으로서 입력 텍스트를 사용하여, 커스텀 핫워드의 복수의 합성 음성 발언을 생성하는 단계를 포함할 수 있다. 선택적으로, 동작들은 커스텀 핫워드를 말하는 사용자에 대응하는 하나 이상의 인간-생성 음성 발언을 수신하는 단계와; 하나 이상의 인간-생성 음성 발언 중 적어도 하나의 전사를 생성하는 단계와; 그리고 하나 이상의 음성 합성 시스템에 대한 입력으로서 하나 이상의 인간-생성 음성 발언 중 적어도 하나의 전사를 사용하여, 커스텀 핫워드의 복수의 합성 음성 발언을 생성하는 단계를 포함한다.
일부 예에서, 음성 임베딩 모델은 5개의 컨볼루션 블록을 포함한다. 이 예에서, 커스텀 핫워드 모델은 음성 임베딩 모델의 5개의 컨볼루션 블록 중 마지막 컨볼루션 블록의 출력을 입력으로 수신하도록 구성된 하나의 컨볼루션 블록과; 컨볼루션 블록의 출력을 입력으로 수신하도록 구성된 분류 블록을 포함한다. 여기서, 음성 임베딩 모델과 커스텀 핫워드 모델의 각 콘볼루션 블록은 4개의 콘볼루션 계층 및 맥스풀 계층을 포함할 수 있다. 커스텀 핫워드 모델의 분류 블록은 맥스풀 계층을 따르는 컨볼루션 계층 또는 완전 연결 계층 중 하나를 포함할 수 있다.
일부 구현에서, 데이터 처리 하드웨어는 사용자와 관련된 사용자 디바이스에 상주한다. 여기서, 사용자 디바이스의 사용자는 사용자 디바이스에 커스텀 핫워드를 할당할 수 있다.
본 개시의 하나 이상의 구현의 세부 사항은 첨부 도면 및 하기 설명에 기재되어 있다. 다른 측면, 특징 및 이점은 설명 및 도면, 그리고 청구범위로부터 명백할 것이다.
도 1a 내지 도 1c는 음성 작동 환경의 예의 개략도이다.
도 2a는 도 1b 및 도 1c의 예시적인 커스텀 핫워드 모델의 개략도이다.
도 2b는 도 2a의 커스텀 핫워드 모델의 예시적인 블록의 개략도이다.
도 3은 커스텀 핫워드 모델을 트레이닝하는 방법에 대한 예시적인 동작 배열의 흐름도이다.
도 4는 본 명세서에 설명된 시스템 및 방법을 구현하는데 사용될 수 있는 예시적인 컴퓨팅 디바이스의 개략도이다.
다양한 도면에서 유사한 참조 부호는 유사한 요소를 나타낸다.
음성 작동(enabled) 디바이스(예를 들어, 음성 어시스턴트를 실행하는 사용자 디바이스)는 사용자가 질의(query) 또는 커맨드를 큰 소리로 말하고 질의를 입력하고 질의에 응답하고 및/또는 커맨드에 기초하여 기능을 수행할 수 있도록 한다. 음성 작동 디바이스에 대한 주의를 환기시키기 위해 말하는 사전 결정된 용어/문구를 예약하는 "핫워드"("키워드", "주의 단어", "웨이크업 문구/단어", "트리거 문구" 또는 "음성 액션 개시 커맨드"이라고도 지칭됨)의 사용을 통해, 음성 작동 디바이스는 시스템에 대한 발언(즉, 발언에서 핫워드 다음에 나오는 하나 이상의 용어를 처리하기 위한 웨이크업 프로세스를 개시하기 위해)과 환경에 있는 개인에 대한 발언을 식별할 수 있다. 일반적으로, 음성 작동 디바이스는 배터리 전원을 절약하기 위해 슬립 상태에서 작동하며 입력 오디오 데이터가 음성 핫워드 다음에 나오지 않는 한 입력 오디오 데이터를 처리하지 않는다. 예를 들어, 슬립 상태에 있는 동안, 음성 작동 디바이스는 마이크로폰을 통해 입력 오디오를 캡처하고, 트레이닝된 핫워드 검출기를 사용하여 입력 오디오에서 핫워드의 존재를 검출한다. 입력 오디오에서 핫워드가 검출되면, 음성 작동 디바이스는 핫워드 다음의 입력 오디오에서 핫워드 및/또는 임의의 다른 용어를 처리하기 위한 웨이크업 프로세스를 개시한다.
핫워드 검출은 핫워드 검출기가 스트리밍 오디오를 지속적으로 청취하고 스트리밍 오디오에서 핫워드의 존재가 검출될 때 정확하고 즉시 트리거해야 하기 때문에 건초 더미에서 바늘을 찾는 것과 유사하다. 즉, 핫워드 검출기는 핫워드의 존재가 검출되지 않는 한 스트리밍 오디오를 무시하는 작업을 수행한다. 신경망은 일반적으로 연속 오디오 스트림에서 핫워드의 존재를 검출하는 복잡성을 해결하기 위해 핫워드 검출기에 의해 사용된다. 핫워드 검출기는 일반적으로 사용자 디바이스의 마이크로폰에 의해 캡처된 원시 오디오 신호를 신경망에 의한 처리를 위해 포멧팅된 하나 이상의 오디오 특징(features)으로 변환하는 컴포넌트들을 포함한다. 신경망은 핫워드가 포함된 오디오 시퀀스를 인식하도록 트레이닝된다. 불행히도, 종종 다른 핫워드를 검출하기 위해 별도의 모델이 필요하거나 구성된 핫워드를 변경하는데 모델이 적합하지 않은 경우가 있다.
음성 작동 디바이스가 증가함에 따라, 일반적으로 이러한 디바이스는 음성 인식에 효과적이면서 디바이스가 음성 인식을 수행하는데 사용하는 처리 리소스 측면에서도 효율적일 필요가 있다. 따라서, 일부 음성 작동 디바이스는 클라우드 컴퓨팅 환경을 활용하여 음성 인식을 수행하는 반면 다른 음성 작동 디바이스는 온-디바이스에서 음성 인식을 수행한다. 차이점은 일반적으로 완전전 온-디바이스 방식은 음성 인식을 수행하기 위해 음성 작동 디바이스의 리소스만 사용한다는 것이다. 이러한 각 접근 방식에는 몇 가지 단점이 있다. 예를 들어, 음성 인식과 관련된 계산을 클라우드로 오프로드함으로써, 음성 작동 디바이스는 네트워크를 통해 디바이스에서 캡처한 연속 오디오 스트림을 클라우드 컴퓨팅 환경으로 전송한다. 네트워크를 통한 이러한 스트림의 통신은 대기 시간(latency)을 증가시키고 또한 클라우드 컴퓨팅 환경과 네트워크를 통한 지속적인 통신을 위해 음성 작동 디바이스에 전용 연결/채널이 있어야 한다. 온-디바이스 전체(full) 음성 인식 시스템이 이러한 통신 문제 중 일부를 완화하는 것처럼 보일 수 있지만, 온-디바이스에 전체 음성 인식 시스템을 갖추려면 종종 음성 작동 디바이스에 훨씬 더 많은 처리 능력이 필요하다. 일부 구성에서, 음성 작동 디바이스의 사용자는 사용자가 클라우드 컴퓨팅 환경에 음성 데이터를 제공하고 및/또는 사용자가 질의하는 내용을 클라우드 컴퓨팅 환경에 공유하기를 원하지 않는 경우 음성 작동 디바이스가 디바이스에서 음성 인식을 수행할 수 있는 옵션을 가진다.
이러한 결점을 보완하기 위해, 음성 작동 디바이스는 음성 작동 디바이스의 사용과 관련된 핫워드의 특정 세트만을 검출하도록 설계된 핫워드 검출기를 포함한다. 다시 말해, 핫워드 검출기는 음성 핫워드 다음에 오디오 데이터를 입력하는 핫워드 신호가 처리되어야 할 때까지 슬립 상태에서 최소한의 처리를 수행하도록 구성된다. 이를 통해 핫워드 검출기는 음성 작동 디바이스, 클라우드 또는 이 둘의 조합에서 실행되는 전체 음성 인식 프로세스를 트리거할 수 있다. 불행히도, 핫워드 검출기는 일반적으로 특정 구문 세트(예를 들어, 핫워드)에 대해서만 트레이닝된다. 핫워드 검출기는 특정 구문 세트로 제한되어 전통적으로 핫워드 맞춤화에 유연성이 없었다. 음성 작동 디바이스의 사용자 또는 음성 작동 디바이스 제조업체와 같은 엔터티가 음성 작동 디바이스에 대한 커스텀 핫워드를 구현하려는 경우, 엔터티는 이 커스텀 핫워드를 정확하게 검출하기 위해 핫워드 검출기를 트레이닝하는 새로운 트레이닝 프로세스 또는 재트레이닝 프로세스를 개시해야 한다. 임의의 핫워드를 검출하기 위해 핫워드 검출기를 트레이닝하는 것은 종종 핫워드와 관련된 대규모 트레이닝 데이터 세트(예를 들어, 수만 개의 트레이닝 샘플)를 포함하는 프로세스이므로, 커스텀 핫워드를 트레이닝하는데도 마찬가지로 커스텀 핫워드와 관련된 이러한 대규모 훈련 데이터 세트가 필요하다. 따라서, 핫워드를 검출하기 위한 모델 트레이닝의 특성상, 커스텀 핫워드 구성은 엔터티가 자신의 음성 작동 디바이스의 음성 인터페이스를 커스텀할 수 있게 하는 빠른 생성(quick generation)에 적합하지 않다.
핫워드 맞춤화와 관련된 한 가지 이슈는 음성 작동 디바이스가 사전 트레이닝된 핫워드 검출 모델로 구성될 수 있다는 것이다. 사전 트레이닝된 핫워드 검출 모델은 원격 엔터티에 의해 오프 디바이스(off-device, 디바이스 외부)에서 구축 및 테스트될 수 있다. 그러나 핫워드 맞춤화를 가능하게 하기 위해, 핫워드 검출기는 완전히 오프-디바이스 트레이닝될 수 없다. 음성 작동 디바이스의 사용자 또는 음성 작동 디바이스의 제조업체와 같이 커스텀 핫워드를 사용하려는 엔티티는 (예를 들어, 주문형 접근 방식으로) 음성 작동 디바이스에서 커스텀 핫워드에 대해 핫워드 검출기를 트레이닝해야 한다. 이것은 적어도 두 가지 잠재적인 이슈를 제기한다. 첫 번째 이슈는 디바이스에 커스텀 핫워드를 검출하기 위한 강력한 모델을 구축하는 방법이고 두 번째 이슈는 커스텀 핫워드에 대한 모델의 정확성을 보장하기 위해 트레이닝 데이터의 볼륨(volume, 양)을 생성하는 방법이다.
사전 트레이닝된 모델을 생성하는 원격 엔티티의 이러한 장점 중 하나는 원격 엔티티가 트레이닝 데이터(예를 들어, 오디오 샘플)가 있는 트레이닝 데이터 저장소에 액세스할 수 있거나 사전 트레이닝된 모델에 기초하여 핫워드 검출기의 정확도를 보장하는 트레이닝 데이터의 볼륨을 생성하기에 충분한 시간이 주어질 수 있다는 것이다. 여기서, 핫워드 맞춤화를 통해, 엔티티는 커스텀 핫워드 모델이 주문형으로 구축되도록 요청한다(즉, 요청 시 구축됨). 이러한 요구를 충족하는 커스텀 핫워드 모델을 빠르고 효과적으로 생성하기 위해, 본 명세서에 설명된 접근 방식은 사전 트레이닝된 모델을 활용한다. 사전 트레이닝된 모델을 통합하기 위해, 핫워드 검출기는 신경망 모델(예를 들어, 컨볼루션 신경망(CNN))을 사용한다. 이 신경망 모델은 입력 데이터(예를 들어, 오디오 입력)로부터 특징들을 추출하고 (예를 들어, 핫워드를 식별하기 위해) 추출된 특징들을 분류하는 하나 이상의 계층을 포함한다. CNN은 트레이닝 동안 가중치들이 자동으로 학습되는 가중치 필터를 사용하여 컨볼루션을 통해 다양한 특징을 추출하는 신경망 토폴로지를 지칭한다. 예를 들어, 신경망 모델은 핫워드의 존재를 식별할 수 있는 특징들을 추출하고 핫워드가 존재하는지 여부를 분류하기 위해 이러한 특징들에 가중치를 부여한다. CNN의 토폴로지는 핫워드와 관련된 특징들에 대해 상이한 수준의 추상화(abstraction)를 각각 포함하는 다수의 계층을 포함할 수 있으므로, 커스텀 핫워드의 존재를 검출하는 모델은 비커스텀(맞춤화되지 않은) 핫워드를 식별하는 사전 트레이닝된 모델과 여러 계층을 공유할 수 있다. 달리 말하면, 사전 트레이닝된 모델의 계층을 사용하면 커스텀 핫워드 모델이 완전히 처음부터 생성되는 것을 방지할 수 있다. 그 결과 사전 트레이닝된 핫워드 검출 모델의 하나 이상의 계층와 결합된 커스텀 핫워드 검출을 위한 하나 이상의 새로운 계층(헤드 모델이라고도 함)을 포함하는 신경망 모델이 생성된다. 이러한 유형의 구성으로, 커스텀 핫워드 모델은 (예를 들어, 완전히 사전 트레이닝된 모델보다 적은 트레이닝 데이터로) 효율적인 온-디바이스 트레이닝을 수행할 수 있다. 여기서, 커스텀 핫워드 모델의 헤드(head) 모델은 기본 모델을 완전히 재트레이닝할 필요 없이 커스텀 핫워드를 검출하기 위해 온-디바이스 트레이닝(또는 재트레이닝)될 수 있다. 실제로 이 구조를 통해 음성 작동 디바이스에 커스텀 핫워드 모델을 배치할 수 있다.
일부 구성에서, 음성 작동 디바이스에서 커스텀 핫워드 모델을 효과적으로 배치하는 것 외에도, 본 명세서에서의 접근 방식은 합성된 음성 트레이닝 데이터(예를 들어, 합성된 음성 트레이닝 예제)를 이용하여 커스텀 핫워드 모델을 트레이닝할 수 있다. 합성된 음성 트레이닝 데이터를 사용함으로써, 커스텀 핫워드를 생성하려는 엔티티는 커스텀 핫워드에 대한 모델의 정확성을 보장하는 트레이닝 데이터의 볼륨을 생성할 수 있다. 예를 들어, 엔티티는 커스텀 핫워드 모델을 트레이닝하기 위해 실제 음성 트레이닝 데이터를 생성하고 이 실제 음성 트레이닝 데이터의 볼륨은 합성된 음성 트레이닝 데이터로 보완된다. 대안적으로, 커스텀 핫워드 모델은 합성된 음성 트레이닝 데이터에 대해 전적으로 트레이닝될 수 있다. 여기서, 합성된 음성 트레이닝 데이터는 커스텀 핫워드 모델의 트레이닝에 유리할 수 있는데, 그 이유는 커스텀 핫워드 모델은 트레이닝 데이터 저장소를 활용할 수 있지만 헤드 모델은 음성 작동 디바이스에서 커스텀 핫워드를 트레이닝할 때 이와 동일한 트레이닝 데이터 저장소를 활용할 수 없기 때문이다. 따라서, (예를 들어, 텍스트-음성 변환(TTS) 시스템 또는 다른 합성 오디오 생성 시스템에 의해 생성된) 합성 트레이닝 예제는 커스텀 핫워드 검출 정확도를 향상시킬 수 있다. 이러한 접근 방식 중 하나 또는 둘 다를 사용함으로써(즉, 커스텀 핫워드에 대한 헤드 모델 및/또는 합성 트레이닝 데이터), 핫워드 검출기는 신속한 프로토타이핑 및/또는 주문형 맞춤화를 용이하게 하는 방식으로 커스텀 핫워드 검출기에 적응될 수 있다.
도 1a 내지 도 1c는 음성 작동 환경(100)(음성 작동 시스템(100)으로도 지칭됨)의 예이다. 음성 작동 환경(100)에서, 음성 작동 디바이스(110)와 같은 컴퓨터 기반 시스템과 상호작용하는 사용자 방식은 음성 입력을 통한 것일 수 있다. 음성 작동 디바이스(110)(일반적으로 디바이스(110) 또는 사용자 디바이스(110)로 지칭됨)는 음성 동작 환경(100) 내에서 하나 이상의 사용자(10)로부터 사운드(예를 들어, 스트리밍 오디오 데이터(12))를 캡처하도록 구성된다. 여기서, 스트리밍 오디오 데이터(12)는 디바이스(110)에 대한 가청 질의 또는 커맨드로서 기능하는 사용자(10)에 의한 음성 발언(spoken utterance)을 지칭할 수 있다. 음성 작동 시스템(100)은 질의에 응답하고 및/또는 커맨드가 수행되게 함으로써 질의 또는 커맨드를 입력(field)할 수 있다. 사용자 디바이스(110)는 데이터 처리 하드웨어(112) 및 데이터 처리 하드웨어(112)와 통신하고 데이터 처리 하드웨어(112)에 의해 실행될 때 데이터 처리 하드웨어(112)로 하여금 하나 이상의 동작을 수행하게 하는 명령들(명령어)을 저장하는 메모리 하드웨어(114)를 포함한다. 사용자 디바이스(110)는 음성 작동 시스템(100) 내에서 음성 발언(12)를 캡처하고 이를 전기 신호로 변환하기 위한 오디오 캡처 디바이스(예를 들어, 마이크로폰)(116) 및 가청 오디오 신호(예를 들어, 디바이스(110)의 출력 오디오 데이터로서)를 통신하기 위한 음성 출력 디바이스(예를 들어, 스피커)(118)를 더 포함한다.
디바이스(110)는 사용자(10)와 연관될 수 있고, 예를 들어 오디오 데이터(12)의 발언이 핫워드(132)로 시작될 때 관련 사용자(10)로부터의 오디오 데이터(12)를 처리할 수 있다. 핫워드(132)는 디바이스(110)로 하여금 후속하는 발화 단계를 시스템에 대한 보이스 입력으로서 처리하게 하는 음성 구문일 수 있다. 다시 말해서, 핫워드(132)는 음성 입력이 보이스 커맨드로서 처리되어야 함을 명시적으로 나타내는 음성 구문일 수 있다. 즉, 핫워드(132)는 핫워드(132) 또는 그 핫워드(132)를 뒤따르는 하나 이상의 용어에 대한 엔드포인트, 자동 음성 인식(ASR) 또는 의미론적 해석을 트리거하는 문구일 수 있다. 다시 말해, "핫워드"라 함은 지정된 핫워드 또는 그 지정된 핫워드의 적어도 일부와 유사한 소리(예를 들어, 다른 언어의 핫워드와 유사한 소리)인 단어 또는 구문을 지칭한다.
발언(12) 내의 핫워드(132)의 존재를 검출하기 위해, 디바이스(110)는 핫워드 검출기(120)를 포함한다. 핫워드 검출기(120)는 발언(12)에 대응하는 사운드(예를 들어, 스트리밍 오디오 데이터(12))를 수신하여 발언(12)이 핫워드(132)로 지정되거나 할당된 용어를 포함하는지 여부를 결정할 수 있다. 일부 예에서, 핫워드 검출기(120)는 캡처된 사운드의 음향 특징들을 발언(12)으로부터 검출한다. 여기서, 음향 특징이 핫워드(132)의 특성인 경우, 핫워드 검출기(120)는 핫워드(132)를 식별한다. 핫워드(132)의 검출에 따라, 핫워드 검출기(120)는 디바이스(110)에 대한 웨이크업 프로세스 및 추가 프로세스를 개시할 수 있다. 다른 구성에서, 핫워드 검출기(120)는 핫워드(132)의 검출을 사용자 디바이스(110)의 다른 컴포넌트에 전달한다. 일부 구현에서 핫워드(132)를 효율적이고 효과적으로 검출하기 위해, 핫워드 검출기(120)는 발언(12)이 핫워드(132)를 포함하는지 여부를 식별하는 방법을 학습하기 위해 음성의 데이터 또는 예제를 사용하여 핫워드 검출기 모델(200, 200a-b)(예를 들어, 커스텀 핫워드 모델(200))에 의해 트레이닝된다.
일부 예에서, 디바이스(110)의 소유자 또는 제조업체와 같은 사용자(10)는 자신의 디바이스(110)와 관련된 핫워드(132)를 커스터마이즈하기를 원한다. 커스텀 핫워드(132)를 생성하기 위해, 사용자(10)는 커스텀 핫워드(132)에 대한 요청(130)을 개시할 수 있다. 예를 들어, 도 1a-1c는 초기에 디바이스(110)에 대한 핫워드(132)가 다중 단어 문구 "Hey Google"에 대응하지만 사용자(10)가 이 디폴트 핫워드(132)를 "Hey Boo Boo"라는 커스텀 핫워드 문구로 변경하기를 원한다는 것을 도시한다. 다시 말해서, 사용자(10)는 요기 베어(Yogi Bear) 팬인 자신의 자녀에게 더 코미디적인 가치를 제공하는 커스텀 핫워드(132)를 원할 수 있다. 일부 구현에서, 요청(130)은 디바이스(110)의 핫워드(132)에 대한 구성 설정에 해당한다.
이 핫워드 맞춤화 요청(130)을 처리하기 위해, 디바이스(110)의 커스텀 핫워드 검출기(120)는 커스텀 핫워드(132)에 대해 트레이닝될 필요가 있다. 일반적으로 말해서, 핫워드 맞춤화 이전에, 디바이스(110)는 디폴트로서 하나 이상의 특정 핫워드(132)로 구성될 수 있다. 여기서, 디바이스(110)의 핫워드 검출기(120)는 이러한 디폴트 핫워드(132)(예를 들어, "Hey Google")에 대해 이미 트레이닝되어 있다. 일부 예에서, 네트워크(150)를 통해 디바이스(110)와 통신하는 원격 시스템(140)(예를 들어, 클라우드 컴퓨팅 환경과 같은 원격 컴퓨팅 환경)은 (예를 들어, 디바이스(110)의 핫워드 검출기(120)를 트레이닝함으로써) 디바이스(110)에서 푸시되거나 구현된 핫워드 모델(200, 200a)을 이미 생성했다. 이러한 예에서, 원격 시스템(140)은 트레이닝 동안 핫워드 모델(200a)에 트레이닝 오디오 샘플들(144)의 세트를 제공하기 위해 트레이닝 데이터 샘플 저장소(142)를 사용하여 강력한 트레이닝된 핫워드 모델(200)을 생성할 수 있다. 다시 말해서, 원격 시스템(140)은 핫워드 모델(200a)의 정확성을 보장하는 대규모 트레이닝 오디오 샘플(144)(예를 들어, 수만 개의 샘플) 세트를 포함하거나 축적할 수 있다.
그러나 디바이스(110)가 핫워드 검출기(120)로 커스텀 핫워드 검출을 수행하기를 사용자(10)가 원할 때, 핫워드 모델(200a)은 커스텀 핫워드(132)를 식별하기 위해 커스텀 핫워드 모델(200, 200b)에 적응될 필요가 있다. 커스텀 핫워드 모델(200b)과 핫워드 모델(200a)은 핫워드 특징 식별을 수행하기 위해 중복되는 기능을 가질 수 있으므로, 핫워드 맞춤화 프로세스는 이러한 유사성을 활용할 수 있다. 예를 들어, 커스텀 핫워드 모델(200b)은 사전 트레이닝된 모델(202)(예를 들어, 임베딩 모델로도 지칭됨) 및 헤드 모델(204)을 포함할 수 있다. 여기서, (예를 들어, 도 2a 및 도 2b에 도시된) 사전 트레이닝된 모델(202)은 핫워드 모델(200a)과 매우 유사한 컨볼루션 계층을 포함할 수 있다. 예를 들어, 이러한 컨볼루션 계층은 특징 추출이 디폴트 핫워드(132)에 대한 것이든 커스텀 핫워드(132)에 대한 것이든 유사한 방식으로 특징 추출을 수행할 수 있다. 도 1b 및 도 1c와 같은 일부 구현에서, 커스텀 핫워드 모델(200b)의 사전 트레이닝된 모델(202)은 핫워드 모델(200a)도 트레이닝한 트레이닝 오디오 샘플(144)의 세트로 트레이닝되는 것으로 도시되어 있다. 사전 트레이닝된 핫워드 모델(200a)(예를 들어, 사전 트레이닝된 모델(202))의 일부를 포함함으로써, 커스텀 핫워드 모델(200b)은 처음부터 완전히 트레이닝될 필요가 없으며, 예를 들어 원격 시스템(140)의 트레이닝 데이터 샘플 저장소(142)를 이용할 수 있다. 이것은 비록 이들 트레이닝 샘플이 커스텀 핫워드(132)를 반드시 포함하거나 닫고있지 않더라도 커스텀 핫워드 모델(200b)이 많은 수의 트레이닝 샘플에 대해 여전히 트레이닝되는 것을 허용할 수 있다.
일부 구성에서, 원격 시스템(140)은 상이한 유형의 트레이닝 오디오 샘플(144)을 사용하여 핫워드 모델(200a) 및/또는 커스텀 핫워드 모델(200b)을 트레이닝한다. 예를 들어, 트레이닝 오디오 샘플(144)은 포지티브 트레이닝 오디오 샘플(144, 144p) 또는 네거티브 트레이닝 오디오 샘플(144, 144n)일 수 있다. 포지티브 트레이닝 오디오 샘플(144p)은 타겟 핫워드(132)(예를 들어, 타겟 핫워드(132)의 코퍼스(corpus, 말뭉치)의 일부)를 포함하는 트레이닝 오디오 샘플(144)을 지칭한다. 반대로, 네거티브 트레이닝 오디오 샘플(144n)은 임의의 타겟 핫워드(들)(132)를 포함하지 않는 트레이닝 오디오 샘플(144)을 지칭한다. 게다가, 일부 구현에서, 강력한 핫워드 모델(200a-b)을 생성하는 것을 돕기 위해, 트레이닝 오디오 샘플(144)은 다양한 악센트 또는 언어적 수정을 갖는 다수의 상이한 화자로부터 파생된다. 트레이닝 오디오 샘플(144)에서 이러한 유형의 변화(variations)를 가짐으로써, 핫워드 모델(200a-b)은 사용자(10)에 관계없이 핫워드(132)를 정확하게 식별할 가능성이 더 높을 수 있다.
일부 구현에서, 일단 원격 시스템(140)이 커스텀 핫워드 모델(200b)의 사전 트레이닝된 모델(202)을 사전 트레이닝시키면, 원격 시스템(140)은 커스텀 핫워드 모델(200b)의 트레이닝 프로세스를 완료하기 위해 커스텀 핫워드 모델(200b)을 디바이스(110)로 푸시한다. 사용자(10)가 커스텀 핫워드(132)가 되도록 요청할 수 있는 것을 원격 시스템(140)이 추측하거나 식별할 수 없기 때문에, 트레이닝 프로세스의 나머지는 디바이스(110)에서 발생할 수 있다. 일부 예에서, 사용자(10)가 커스텀 핫워드 요청(130)을 생성하는 더하여, 사용자(10) 및/또는 음성 작동 환경(100) 내의 다른 화자는 커스텀 핫워드(132)에 특정된 트레이닝 데이터를 생성 및/또는 제공한다. 예를 들어, 도 1b 및 1c는 트레이닝 오디오 샘플(134)을 제공하는 사용자(10)를 도시한다. 일부 구성에서, 사용자(10)는 커스텀 핫워드(132)를 말하는 사용자(10)의 인간-생성 음성 발언(실제 음성이라고도 함)에 대응하는 트레이닝 오디오 샘플(134)을 제공 및/또는 생성한다. 예를 들어, 사용자(10)는 이러한 인간-생성 트레이닝 오디오 샘플(134, 134a-n)을 생성하기 위해 커스텀 핫워드(132)를 몇 번 말한다. 일부 예에서, 원격 시스템(140)의 트레이닝 오디오 샘플들(142)과 유사하게, 이러한 인간-생성 트레이닝 오디오 샘플들(134)은 포지티브 또는 네거티브 트레이닝 예제를 포함할 수 있다. 도 1b 및 도 1c는 네거티브 트레이닝 샘플을 나타내는 커스텀 핫워드(132)가 없는 제3 트레이닝 오디오 샘플(134, 134c)을 도시한다. 트레이닝 오디오 샘플(134)에 대해, 디바이스(110)는 커스텀 핫워드(132)를 설정하기 위한 구성 프로세스 동안 인간-생성 트레이닝 오디오 샘플들(134)을 생성하도록 사용자(10)에게 프롬프트할 수 있다.
일부 구현에서, 디바이스(110)에서 인간-생성 트레이닝 오디오 샘플들(134)로 커스텀 핫워드 모델(200b)을 트레이닝하는 것 외에, 커스텀 핫워드 모델(200b)은 하나 이상의 음성 합성기(160)(즉, TTS 시스템)로부터 출력된 커스텀 핫워드(132)의 합성(된) 음성 발언(162)에 대응하는 트레이닝 오디오 샘플로 또한 트레이닝되도록 구성된다. 일부 예에서, 커스텀 핫워드 모델(200b)은 합성 음성 발언들(162)에 대해 추가로 트레이닝하여 인간-생성 트레이닝 오디오 샘플들(134)을 보완한다. 다른 예에서, 커스텀 핫워드 모델(200b)은 전적으로 디바이스(110)에서 합성 음성 발언들(162)에 대해 트레이닝한다. 커스텀 핫워드 모델(200b)을 트레이닝하는데 사용되는 이러한 합성 음성 발언(162)은 트레이닝 동안 다양한 음성 또는 언어적 차이에 커스텀 핫워드 모델(200b)을 도입하려고 시도하기 위해 하나 이상의 상이한 합성 음성을 포함할 수 있다.
도 1c와 같은 일부 구성에서, 음성 작동 환경(100)에서 커스텀 핫워드(132) 또는 다른 사용자 디바이스(110, 110b)(예를 들어, 모바일 디바이스와 같은)에 대해 설정되고 있는 사용자 디바이스(110, 110a)는 커스텀 핫워드(132)에 대응하는 입력 텍스트를 (예를 들어, 그래픽 인터페이스를 통해) 수신하고 합성기(160)에서 그 입력 텍스트를 사용하여 하나 이상의 합성(된) 음성 발언(162)을 생성한다. 일부 구현에서, 디바이스(110) 또는 원격 시스템(140)상에 구현된 ASR 시스템(미도시)은 입력으로서 커스텀 핫워드(132)의 인간-생성 음성 발언(134)를 수신하고, 출력으로서 커스텀 핫워드(132)의 하나 이상의 합성 음성 발언(162)을 생성하기 위해 합성기에 입력으로서 제공될 수 있는 커스텀 핫워드(132)의 전사(164)를 생성한다. 도시된 예에서, 음성 합성기(160)는 디바이스(110), 원격 시스템(140)과 같은 원격 컴퓨팅 시스템, 또는 디바이스(110)와 원격 시스템(140)의 일부 조합에 상주할 수 있다.
커스텀 핫워드 모델(200b)을 트레이닝한 후, 디바이스(110)는 오디오 캡처 디바이스(116)에서 캡처된 스트리밍 오디오 데이터(12)(예를 들어, 사용자(10)에 의한 음성 발언)를 수신하고 트레이닝된 커스텀 핫워드 모델(200b)에 기초하여 오디오 데이터(12)에 커스텀 핫워드(132)가 존재하는지 여부를 결정할 수 있다. 여기서, 스트리밍 오디오 데이터(12)에 커스텀 핫워드(132)가 존재하는 경우, 디바이스(110)는 스트리밍 오디오 데이터(12)에서 커스텀 핫워드(132) 및/또는 그 커스텀 핫워드(132)에 뒤따르는 하나 이상의 용어를 처리하기 위한 웨이크업 프로세스를 개시한다.
일부 구성에서, 디바이스(110)는 엔티티와 연관되고 위에서 논의된 기술을 사용하여 커스텀 핫워드(132)의 존재를 검출하기 위해 커스텀 핫워드 모델(200b)을 초기에 트레이닝하기 위해 엔티티에 의해 사용된다. 커스텀 핫워드 모델(200b) 트레이닝이 완료된 후, 트레이닝된 커스텀 핫워드 모델(200b)은 엔티티의 고객 및/또는 직원이 사용하기 위해 엔티티와 관련된 다수의 음성 작동 디바이스에서 구현될 수 있다. 이러한 구성에서, 엔티티는 이에 한정되지 않지만 상호, 제품 이름 또는 엔티티에 고유한 기타 소유권 이름을 포함할 수 있는 하나 이상의 커스텀 핫워드(132)를 선택할 수 있다. 예를 들어, 엔티티가 자동차 제조사라면, 트레이닝된 커스텀 핫워드 모델(200b)은 "Hey Car"인 커스텀 핫워드(132)를 검출하기 위해 자동차 제조사의 고객들에게 판매되는 차량의 인포테인먼트 시스템에서 구현될 수 있다.다른 예에서, 엔티티는 가전제품 제조사를 포함할 수 있고 트레이닝된 커스텀 핫워드 모델(200b)은 "식기 세척기"와 같은 커스텀 핫워드(132)를 검출하기 위해 가전제품 제조사에 의해 판매되는 가전제품에 구현될 수 있다.
도 2a 및 도 2b를 참조하면, 커스텀 핫워드 모델(200b)의 아키텍처는 사전 트레이닝된 모델(202) 및 헤드 모델(204)을 포함한다. 여기서, 앞서 언급한 바와 같이, 이러한 아키텍처의 가정은 핫워드(132)를 분류하는데 필요한 작업의 대부분이 실제 핫워드(132)와 무관하다는 점이다. 따라서, 핫워드 모델(200a)에 대한 트레이닝 프로세스는 (예를 들어, 공유 임베딩 모델로서) 커스텀 핫워드 모델(200b)의 사전 트레이닝된 모델(202)에 통합될 수 있다. 커스텀 핫워드 모델(200b)의 각 부분(202, 204)은 하나 이상의 블록(210)을 포함한다. 커스텀 핫워드 모델(200b)이 CNN 토폴로지를 가질 때, 각 블록(210)은 컨볼루션 블록(210, 210CV) 또는 분류 블록(210, 210CL) 중 하나이다. 일반적으로 말해서, 컨볼루션 블록(210CV)은 특징 추출을 수행하는 반면, 분류 블록(210CL)은 추출된 특징들을 분류(예를 들어, 추출된 특징의 임베딩을 분류)한다. 일부 예에서, 사전 트레이닝된 모델(202)의 커스텀 핫워드 모델(200b)은 입력으로서 로그 멜(log mel) 입력 특징들(206)을 수신한다. 예를 들어, 커스텀 핫워드 모델(200b)은 로그 멜 입력 특징(206)으로서 32차원 로그 멜 특징 벡터를 제공하는 낮은 풋프린트(footprint) 특징 추출기 위에서 실행된다. 로그 멜 특징 벡터는 10밀리초마다 8비트로 양자화되는 60Hz~3800Hz 범위의 오디오 주파수를 커버할 수 있다.
임베딩 모델이라고도 지칭되는 사전 트레이닝된 모델(202)은 로그 멜 입력 특징(206)에 의해 표현되는 오디오 스트림(예를 들어, 오디오 데이터(12))을 임베딩(208, 208a-n)(예를 들어, 차원 특징 벡터)으로 변환하도록 구성된다. 사전 트레이닝된 모델(202)을 트레이닝할 때, 다수의 헤드 모델(204, 204a-n)이 사용될 수 있다. 예를 들어, 각 헤드 모델(204)은 사전 트레이닝된 모델(202) 위에서 병렬로 트레이닝된 상이한 타겟 핫워드(132) 그룹에 대응한다. 일부 구현에서, 다수의 타겟 핫워드(132)는 타겟 핫워드(132)의 복수의 랜덤 그룹으로 분할될 수 있다. 예를 들어, 도 2a는 헤드 모델(204a, 204b-n)에 대응하는 타겟 핫워드(132)의 3개의 랜덤 그룹을 도시한다. 이들 타겟 핫워드(132) 그룹 각각은 모든 타겟 핫워드(132)의 바디로부터 하나 이상의 타겟 핫워드(132)의 세트를 포함할 수 있다. 이 접근 방식은 사전 트레이닝된 모델(202)이 임의의 핫워드(132) 그룹에 유용할 수 있는 임베딩(208)을 학습하도록 할 수 있다. 다시 말해서, 다수의 병렬 헤드 모델(204)로(예를 들어, 랜덤 타겟 핫워드 그룹으로) 사전 트레이닝된 모델(202)을 트레이닝함으로써, 사전 트레이닝된 모델(202)은 임베딩 출력이 특정 핫워드에 유용하지 않고 오히려 나중에 정의된 핫워드(132)(예를 들어, 커스텀 핫워드(132))에 보편적으로 유용하도록 트레이닝된다. 일부 구현에서, 사전 트레이닝된 모델(202)을 트레이닝한 후, 다수의 병렬 헤드 모델(204)은 디바이스(110)에서 커스텀 핫워드(132)를 분류하기 위해 나중에 유용하게 트레이닝되기 위해 폐기된다.
계속해서 도 2a를 참조하면, 사전 트레이닝된 모델(202)은 5개의 컨볼루션 블록(210CV, 210a-e)을 포함한다. 컨볼루션 구조로, 컨볼루션 블록(210)의 출력은 후속 컨볼루션 블록(210n+1)에 입력으로서 공급된다. 예를 들어, 제1 컨볼루션 블록(210, 210a)의 출력은 입력으로서 제2 컨볼루션 블록(210, 210b)으로 공급된다. 그런 다음 제2 컨볼루션 블록(210b)의 출력은 제3 컨볼루션 블록(210, 210c)에 입력으로 공급된다. 제3 컨볼루션 블록(210c)의 출력은 입력으로 제4 컨볼루션 블록(210, 210d)에 공급된다. 제4 컨볼루션 블록(210d)의 출력은 사전 트레이닝된 모델(202)의 마지막 제5 컨볼루션 블록(210, 210e)에 입력으로 제공된다. 이러한 5 스테이지 또는 5블록 컨볼루션 프로세스를 통해 사전 트레이닝된 모델(202)은 하나 이상의 핫워드 임베딩(208)을 생성한다.
도 2b에 도시된 바와 같이, 각 컨볼루션 블록(210CV)은 계층들(212)로 더 세분화될 수 있다. 예를 들어, 컨볼루션 블록(210CV)은 맥스풀링(maxpooling) 계층(212, 212c)을 갖는 4개의 컨볼루션 계층(212, 212a,b,d,e)으로 분할된다. 일부 예에서, 블록(210)의 순서와 매우 유사하게, 컨볼루션 계층(212)의 순서는 제1 계층(212a)으로부터 제5 계층(212e)으로 순차적으로 진행된다. 여기서, 각 블록(210)에 대한 컨볼루션 동안, 컨볼루션 프로세스는 먼저 제1 계층(212a)에서 1×3 컨볼루션을 수행하고, 그런 다음 제2 계층(212, 212b)에서 3×1 컨볼루션을 수행한 후 제3 계층(212, 212c)에서 맥스풀링 연산을 수행한 다음 제4 계층(212, 212d)에서 1×3 컨볼루션을 수행하고 이어서 제5 계층(212e)에서 3×1 컨볼루션을 수행한다. 이러한 컨볼루션 연산은 각 블록(210)에 대한 하나 이상의 채널에 걸쳐 합성될 수도 있다.
도 2a를 계속 참조하면, 일부 예에서, 헤드 모델(204)은 단일 컨볼루션 블록(210CV, 210f) 및 단일 분류 블록(210CL, 210g)을 포함한다. 이 구조에서, 컨볼루션 블록(210CV, 210f)은 입력으로서 사전 트레이닝된 모델(202)(예를 들어, 핫워드 임베딩(208))의 제5 컨볼루션 블록(210, 210e)의 출력을 수신하고, 분류 블록(210CL, 210g)은 입력으로서 컨볼루션 블록(210CV, 210f)으로부터의 출력을 수신한다. 여기서, 분류 블록(210CL, 210g)은 헤드 모델(204)로부터 연속적인 예측 스트림이 요구될 때 1×1 컨볼루션이 뒤따르는 맥스풀 계층(212)이거나 완전 연결 계층(212)이 뒤따르는 맥스풀 계층(212)일 수 있다.
일단 원격 시스템(140)이 사전 트레이닝된 모델(202)(즉, 임베딩 모델(202))을 트레이닝하면, 커스텀 핫워드 모델(200b)이 디바이스(110)에 푸시된다. 그러면커스텀 핫워드 모델(200b)은 하나 이상의 특정 커스텀 핫워드(132)에 기초하여 디바이스(110)에서 추가로 트레이닝되도록 진행될 수 있다. 예를 들어, 디바이스(110)가 커스텀 핫워드(132)를 생성하라는 요청(130)을 수신하는 경우, 사전 트레이닝된 모델(202)은 각 트레이닝 오디오 샘플(예를 들어, 인간-생성 음성(134) 또는 합성 음성(162))에 대한 핫워드 임베딩(208)을 생성한다. 사전 트레이닝된 모델(202)은 디바이스(110)에서 생성된 트레이닝 오디오 샘플보다 더 많은 수의 트레이닝 오디오 샘플(144)에 기초하여 임의적으로 유용한 핫워드 임베딩들(208)을 생성하기 위해, 사전 트레이닝된 모델(202)을 이전에 트레이닝한 원격 시스템(140)으로 인해 트레이닝 오디오 샘플에 대한 의미 있는(meaningful) 핫워드 임베딩(208)을 신속하게 생성할 수 있다. 각 트레이닝 오디오 샘플에 대한 임베딩(208)으로, 헤드 모델(204)은 이러한 임베딩(208)을 입력으로 수신하고 커스텀 핫워드(132)에 대응하는 것으로서 각 임베딩(208)을 분류한다. 이 접근법에 기초하여, 커스텀 핫워드 모델(200b)은 핫워드 검출기(120)에서 트레이닝되고 배치되어 검출하도록 트레이닝된 커스텀 핫워드(132)를 후속적으로 식별한다.
도 3은 커스텀 핫워드 모델을 트레이닝하기 위한 방법(300)의 예이다. 동작(302)에서, 방법(300)은 커스텀 핫워드(132)를 각각 포함하는 트레이닝 오디오 샘플(134, 162)의 제1 세트를 수신한다. 커스텀 핫워드(132)는 하나 이상의 단어를 포함한다. 동작(304)에서, 방법(300)은 트레이닝 오디오 샘플(134, 162)의 제1 세트를 입력으로 수신하도록 구성된 음성 임베딩 모델(202)을 사용하여, 트레이닝 오디오 샘플(134, 162)의 제1 세트의 트레이닝 오디오 샘플(134, 162) 각각에 대한 커스텀 핫워드(132)를 나타내는 대응하는 핫워드 임베딩(208)을 생성한다. 음성 임베딩 모델(202)은 트레이닝 오디오 샘플(134, 162)의 제1 세트와 상이한 트레이닝 오디오 샘플(144)의 제2 세트에 대해 사전 트레이닝된다. 트레이닝 오디오 샘플(144)의 제2 세트는 트레이닝 오디오 샘플(134, 162)의 제1 세트보다 더 많은 수의 트레이닝 오디오 샘플을 포함한다. 동작(306)에서, 방법(300)은 오디오 데이터(12)에서 커스텀 핫워드(132)의 존재를 검출하기 위해 커스텀 핫워드 모델(200b)을 트레이닝한다. 동작(308)에서, 커스텀 핫워드 모델(200b)은 음성 임베딩 모델(202)을 사용하여 생성된 각각의 대응하는 핫워드 임베딩(208)을 입력으로 수신하도록 구성된다. 동작(310)에서, 커스텀 핫워드 모델(200b)은 또한 출력으로서 각각의 대응하는 핫워드 임베딩(208)을 커스텀 핫워드(132)에 해당하는 것으로 분류하도록 구성된다.
도 4는 본 문서에 설명된 시스템 및 방법을 구현하는데 사용될 수 있는 예시적인 컴퓨팅 디바이스(400)의 개략도이다. 컴퓨팅 디바이스(400)는 랩탑, 데스크탑, 워크스테이션, PDA, 서버, 블레이드 서버, 메인 프레임 및 다른 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타내도록 의도된다. 본 명세서에 도시된 컴포넌트, 이들의 연결과 관계 및 이들의 기능은 단지 예시를 위한 것이며 본 문서에서 설명 및/또는 청구된 발명의 구현을 제한하려는 것이 아니다.
컴퓨팅 디바이스(400)는 프로세서(410), 메모리(420), 저장 디바이스(430), 메모리(420)와 고속 확장 포트(450)에 연결되는 고속 인터페이스/컨트롤러(440), 및 저속 버스(970)와 저장 디바이스(430)에 연결되는 저속 인터페이스/컨트롤러(660)를 포함한다. 각 컴포넌트(410, 420, 430, 440, 450, 460)는 다양한 버스를 사용하여 상호 연결되며, 공통 마더보드에 장착되거나 적절한 다른 방식으로 장착될 수 있다. 프로세서(410)는 고속 인터페이스(440)에 연결된 디스플레이(480)와 같은 외부 입/출력 디바이스상에 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 디스플레이하기 위해 메모리(420) 또는 저장 디바이스(430)에 저장된 명령들을 포함하여 컴퓨팅 디바이스(400) 내에서 실행하기 위한 명령들을 처리할 수 있다. 다른 구현에서, 다수의 프로세서 및/또는 다수의 버스가 다수의 메모리 및 메모리 유형과 함께 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스(400)는 필요한 동작들의 일부를 제공하는 각 디바이스(예를 들어, 서버 뱅크, 블레이드 서버 그룹 또는 다중 프로세서 시스템)와 연결될 수 있다.
메모리(420)는 컴퓨팅 디바이스(400) 내에 비-일시적으로 정보를 저장한다. 메모리(420)는 컴퓨터 판독 가능 매체, 휘발성 메모리 유닛(들) 또는 비-휘발성 메모리 유닛(들)일 수 있다. 비-일시적 메모리(420)는 컴퓨팅 디바이스(400)에 의한 사용을 위해 임시 또는 영구적으로 프로그램(예를 들어, 명령어 시퀀스) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는데 사용되는 물리적 디바이스일 수 있다. 비-휘발성 메모리의 예로는 플래시 메모리 및 판독 전용 메모리(ROM)/프로그램 가능 판독 전용 메모리(PROM)/소거 가능한 프로그램 가능 판독 전용 메모리(EPROM)/전자적으로 소거 가능한 프로그램 가능 판독 전용 메모리(EEPROM)(예를 들어, 일반적으로 부팅 프로그램과 같은 펌웨어에 사용됨)를 포함하지만 이에 한정되지 않는다. 휘발성 메모리의 예에는 RAM, DRAM, SRAM(Static Random Access Memory), PCM(Phase Change Memory) 및 디스크 또는 테이프가 포함되지만 이에 한정되지 않는다.
저장 디바이스(430)는 컴퓨팅 디바이스(400)를 위한 대용량 저장소를 제공할 수 있다. 일부 구현에서, 저장 디바이스(430)는 컴퓨터 판독가능 매체이다. 다양한 상이한 구현에서, 저장 디바이스(430)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스, 또는 테이프 디바이스, 플래시 메모리 또는 기타 유사한 솔리드 스테이트 메모리 디바이스, 또는 SAN(Storage Area Network) 또는 기타 구성의 디바이스를 포함하는 디바이스 어레이일 수 있다. 추가 구현에서, 컴퓨터 프로그램 제품은 정보 매체에 유형적으로 구현된다. 컴퓨터 프로그램 제품은 실행될 때 위에서 설명한 것과 같은 하나 이상의 방법을 수행하는 명령들을 포함한다. 정보 매체는 메모리(420), 저장 디바이스(430), 또는 프로세서(410) 상의 메모리와 같은 컴퓨터 판독가능 매체 또는 기계 판독가능 매체이다.
고속 컨트롤러(440)는 컴퓨팅 디바이스(400)에 대한 대역 집약적 동작을 관리하는 반면, 저속 컨토를러(460)는 더 낮은 대역 집약적 동작을 관리한다. 이러한 직무 할당은 예시일 뿐이다. 일부 구현에서, 고속 컨트롤러(440)는 메모리(420), 디스플레이(480)(예를 들어, 그래픽 프로세서 또는 가속기를 통해), 및 다양한 확장 카드(미도시)를 수용할 수 있는 고속 확장 포트(450)에 연결된다. 일부 구현에서, 저속 컨트롤러(460)는 저장 디바이스(430)와 저속 확장 포트(490)에 연결된다. 다양한 통신 포트(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트(490)는 하나 이상의 입력/출력 디바이스(예를 들어, 키보드, 포인팅 디바이스, 스캐너) 또는 예를 들어 네트워크 어댑터를 통해 네트워킹 디바이스(예를 들어, 스위치나 라우터)에 연결될 수 있다.
컴퓨팅 디바이스(400)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 이것은 표준 서버(400a)로서 또는 그러한 서버(400a)의 그룹에서 랩탑 컴퓨터(400b)로서, 또는 랙 서버 시스템(400c)의 일부로서 여러 번 구현될 수 있다.
본 명세서에 기술된 시스템 및 기술의 다양한 구현은 디지털 전자 및/또는 광 회로, 집적 회로, 특별히 설계된 ASIC, 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합으로 실현될 수 있다. 이러한 다양한 구현은 특수 또는 범용일 수 있으며 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령을 수신하고 이들로 데이터 및 명령을 전송하기 위해 연결된 적어도 하나의 프로그램 가능 프로세서를 포함하는 프로그램 가능 시스템에서 실행 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램에서의 구현을 포함할 수 있다.
이러한 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드라고도 함)은 프로그램 가능한 프로세서에 대한 기계 명령들을 포함하고 고급 절차 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/기계 언어로 구현될 수 있다. 본 명세서에 사용되는 바와 같이, "기계 판독가능 매체" 및 "컴퓨터 판독가능 매체"라는 용어는 기계 판독 가능 신호로서 기계 명령을 수신하는 기계 판독 가능 매체를 포함하여 기계 명령 및/또는 데이터를 프로그램 가능 프로세서에 제공하는데 사용되는 임의의 컴퓨터 프로그램 제품, 비-일시적 컴퓨터 판독가능 매체, 장치 및/또는 디바이스(예를 들어, 자기 디스크, 광 디스크, 메모리, 프로그램 가능 로직 디바이스(PLD)를 지칭한다. "기계 판독 가능 신호"라는 용어는 기계 명령 및/또는 데이터를 프로그램 가능 프로세서에 제공하는데 사용되는 모든 신호를 의미한다.
본 명세서에 기술된 프로세스 및 논리 흐름은 입력 데이터에 대해 동작하여 출력을 생성함으로써 기능을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 데이터 처리 하드웨어라고도 지칭되는 하나 이상의 프로그램 가능 프로세서에 의해 수행될 수 있다. 프로세스 및 논리 흐름은 또한 FPGA 또는 ASIC과 같은 특수 목적 논리 회로에 의해 수행될 수 있다. 컴퓨터 프로그램의 실행에 적합한 프로세서는 예를 들어 범용 및 특수 목적 마이크로프로세서, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로 프로세서는 판독 전용 메모리나 랜덤 액세스 메모리 또는 둘 다에서 명령과 데이터를 수신한다. 컴퓨터의 필수 요소는 명령을 수행하기 위한 프로세서와 명령 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어 자기, 광자기 디스크, 또는 광 디스크로부터 데이터를 수신하거나 이들로 데이터를 전송하거나 둘 모두를 포함하거나 작동 가능하게 연결된다. 그러나 컴퓨터에는 그러한 디바이스가 필요하지 않다. 컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 컴퓨터 판독가능 매체는 반도체 메모리 디바이스(예를 들어 EPROM, EEPROM 및 플래시 메모리 디바이스), 자기 디스크(예를 들어, 내부 하드 디스크 또는 이동식 디스크), 자기 광 디스크; 및 CD ROM과 DVD-ROM 디스크를 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다.
사용자와의 상호작용을 제공하기 위해, 본 개시의 하나 이상의 양태는 사용자에게 정보를 디스플레이 하기 위한 디스플레이 디바이스(예를 들어, CRT(음극선관), LCD(액정 디스플레이) 모니터, 또는 터치 스크린) 및 선택적으로 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)를 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스도 사용자와의 상호 작용을 제공하는데 사용될 수 있는데, 예를 들어, 사용자에게 제공되는 피드백은 시각적 피드백, 청각적 피드백 또는 촉각적 피드백과 같은 임의의 형태의 감각적 피드백일 수 있으며, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함한 모든 형태로 수신될 수 있다. 또한, 컴퓨터는 예를 들어 웹 브라우저에서 수신된 요청에 대한 응답으로 사용자 클라이언트 디바이스의 웹 브라우저에 웹 페이지를 전송함으로써 사용자가 사용하는 디바이스로 문서를 보내고 문서를 수신하여 사용자와 상호 작용할 수 있다.
다수의 구현이 설명되었다. 그럼에도 불구하고, 본 개시의 정신 및 범위를 벗어나지 않고 다양한 수정이 이루어질 수 있음이 이해될 것이다. 따라서, 다른 구현은 다음의 청구항의 범위 내에 있다.

Claims (28)

  1. 커스텀 핫워드 모델(200)을 트레이닝하는 방법(300)으로서, 방법(300)은,
    데이터 처리 하드웨어(112)에서, 커스텀 핫워드(132)를 각각 포함하는 트레이닝 오디오 샘플(134)의 제1 세트를 수신하는 단계와, 상기 커스텀 핫워드(132)는 하나 이상의 단어를 포함하고;
    데이터 처리 하드웨어(112)에 의해, 트레이닝 오디오 샘플(134)의 제1 세트를 입력으로 수신하도록 구성된 음성 임베딩 모델(202)을 사용하여, 트레이닝 오디오 샘플(134)의 제1 세트의 각각의 트레이닝 오디오 샘플(134)에 대한 커스텀 핫워드(132)를 나타내는 대응하는 핫워드 임베딩(208)을 생성하는 단계와, 상기 음성 임베딩 모델(202)은 트레이닝 오디오 샘플(134)의 제1 세트와 상이한 트레이닝 오디오 샘플(144)의 제2 세트에 대해 사전 트레이닝되고, 상기 트레이닝 오디오 샘플(144)의 제2 세트는 트레이닝 오디오 샘플(134)의 제1 세트보다 더 많은 수의 트레이닝 오디오 샘플(144)을 포함하고; 그리고
    데이터 처리 하드웨어(112)에 의해, 오디오 데이터(12)에서 커스텀 핫워드(132)의 존재를 검출하기 위해 커스텀 핫워드 모델(200)을 트레이닝하는 단계를 포함하고, 상기 커스텀 핫워드 모델(200)은,
    입력으로서, 음성 임베딩 모델(202)을 사용하여 생성된 각각의 대응하는 핫워드 임베딩(208)을 수신하고; 그리고
    출력으로서, 커스텀 핫워드(132)에 대응하는 것으로 각각의 대응하는 핫워드 임베딩(208)을 분류하도록 구성되는 것을 특징으로 하는 커스텀 핫워드 모델을 트레이닝하는 방법(300).
  2. 제1항에 있어서,
    커스텀 핫워드 모델(200)을 트레이닝한 후에:
    사용자 디바이스(110)에 상주하는 데이터 처리 하드웨어(112)에서, 사용자 디바이스(110)에 의해 캡처된 스트리밍 오디오 데이터(12)를 수신하는 단계와;
    데이터 처리 하드웨어(112)에 의해, 트레이닝된 커스텀 핫워드 모델(200)을 사용하여, 커스텀 핫워드(132)가 스트리밍 오디오 데이터(12)에 존재하는지 여부를 결정하는 단계와; 그리고
    커스텀 핫워드(132)가 스트리밍 오디오 데이터(12)에 존재하는 경우, 데이터 처리 하드웨어(112)에 의해, 스트리밍 오디오 데이터(12)에서 커스텀 핫워드(132) 및/또는 그 커스텀 핫워드(132)에 뒤따르는 하나 이상의 다른 용어를 처리하기 위해 사용자 디바이스(110)에서 웨이크업 프로세스를 개시하는 단계를 더 포함하는 것을 특징으로 하는 커스텀 핫워드 모델을 트레이닝하는 방법(300).
  3. 제1항 또는 제2항에 있어서,
    상기 원격 시스템(140)은 트레이닝 오디오 샘플(144)의 제2 세트에 대해 음성 임베딩 모델(202)을 사전 트레이닝하고,
    상기 트레이닝 오디오 샘플(300)의 제2 세트는,
    하나 이상의 상이한 화자에 의해 발화된 타겟 핫워드의 말뭉치(corpus)를 포함하는 포지티브 트레이닝 오디오 샘플들(144p); 및
    타겟 핫워드의 말뭉치로부터의 타겟 핫워드를 포함하지 않는 네거티브 트레이닝 오디오 샘플들(144n)을 포함하는 것을 특징으로 하는 커스텀 핫워드 모델을 트레이닝하는 방법(300).
  4. 제3항에 있어서,
    상기 원격 시스템(140)은,
    타겟 핫워드의 말뭉치를 타겟 핫워드의 복수의 랜덤 그룹으로 분할하고, 상기 타겟 핫워드의 각 그룹은 타겟 핫워드의 말뭉치로부터의 하나 이상의 타겟 핫워드의 개별 세트를 포함하고;
    타겟 핫워드의 말뭉치로부터 분할된 타겟 핫워드의 각 그룹에 대해, 트레이닝 오디오 샘플(144)의 제2 세트에서 타겟 핫워드의 개별 그룹으로부터 임의의 타겟 핫워드의 존재를 검출하기 위해 음성 임베딩 모델(202) 위에서 각각의 사전 트레이닝 핫워드 모델(200)을 트레이닝하고; 그리고
    타겟 핫워드의 복수의 랜덤 그룹에 대한 대표 음성 임베딩을 학습하기 위해 음성 임베딩 모델(202)을 트레이닝함으로써,
    음성 임베딩 모델(202)을 사전 트레이닝하도록 더 구성되는 것을 특징으로 하는 커스텀 핫워드 모델을 트레이닝하는 방법(300).
  5. 제1항 내지 제4항 중 어느 하나에 있어서,
    상기 트레이닝 오디오 샘플(134)의 제1 세트는,
    하나 이상의 음성 합성 시스템으로부터 출력된 커스텀 핫워드(132)의 합성 음성 발언(162)을 포함하는 것을 특징으로 하는 커스텀 핫워드 모델을 트레이닝하는 방법(300).
  6. 제1항 내지 제5항 중 어느 하나에 있어서,
    상기 트레이닝 오디오 샘플(134)의 제1 세트는,
    커스텀 핫워드(132)를 말하는 사용자에 대응하는 하나 이상의 인간-생성 음성 발언(utterances)과; 그리고
    하나 이상의 음성 합성 시스템으로부터 출력된 커스텀 핫워드(132)의 복수의 합성 음성 발언(162)을 포함하는 것을 특징으로 하는 커스텀 핫워드 모델을 트레이닝하는 방법(300).
  7. 제6항에 있어서,
    상기 복수의 합성 음성 발언(162)의 적어도 하나의 합성 음성 발언(162)은,
    복수의 합성 음성 발언(162)의 다른 합성 음성 발언과 상이한 합성 음성을 포함하는 것을 특징으로 하는 커스텀 핫워드 모델을 트레이닝하는 방법(300).
  8. 제6항 또는 제7항에 있어서,
    데이터 처리 하드웨어(112)에서, 커스텀 핫워드(132)에 대응하는 입력 텍스트(164)를 수신하는 단계와, 상기 입력 텍스트(164)는 데이터 처리 하드웨어(112)에서 실행되는 그래픽 사용자 인터페이스를 통해 사용자에 의해 입력되고; 그리고
    데이터 처리 하드웨어(112)에 의해, 하나 이상의 음성 합성 시스템의 입력으로서 입력 텍스트(164)를 사용하여, 커스텀 핫워드(132)의 복수의 합성 음성 발언(162)을 생성하는 단계를 더 포함하는 것을 특징으로 하는 커스텀 핫워드 모델을 트레이닝하는 방법(300).
  9. 제6항 내지 제8항 중 어느 하나에 있어서,
    데이터 처리 하드웨어(112)에서, 커스텀 핫워드(132)를 말하는 사용자에 대응하는 하나 이상의 인간-생성 음성 발언을 수신하는 단계와;
    데이터 처리 하드웨어(112)에 의해, 하나 이상의 인간-생성 음성 발언 중 적어도 하나의 전사(164)를 생성하는 단계와; 그리고
    데이터 처리 하드웨어(112)에 의해, 하나 이상의 음성 합성 시스템에 대한 입력으로서 하나 이상의 인간-생성 음성 발언 중 적어도 하나의 전사(164)를 사용하여, 커스텀 핫워드(132)의 복수의 합성 음성 발언(162)을 생성하는 단계를 더 포함하는 것을 특징으로 하는 커스텀 핫워드 모델을 트레이닝하는 방법(300).
  10. 제1항 내지 제9항 중 어느 하나에 있어서,
    상기 음성 임베딩 모델(202)은 5개의 컨볼루션 블록(210)을 포함하고;
    상기 커스텀 핫워드 모델(200)은,
    음성 임베딩 모델(202)의 5개의 컨볼루션 블록(210) 중 마지막 컨볼루션 블록의 출력을 입력으로 수신하도록 구성된 하나의 컨볼루션 블록(210)과; 그리고
    컨볼루션 블록(210)의 출력을 입력으로 수신하도록 구성된 분류 블록(210)을 포함하는 것을 특징으로 하는 커스텀 핫워드 모델을 트레이닝하는 방법(300).
  11. 제10항에 있어서,
    상기 음성 임베딩 모델(202)과 커스텀 핫워드 모델(200)의 각 콘볼루션 블록(210)은 4개의 콘볼루션 계층(212) 및 맥스풀(maxpool) 계층(212)을 포함하는 것을 특징으로 하는 커스텀 핫워드 모델을 트레이닝하는 방법(300).
  12. 제10항 또는 제11항에 있어서,
    상기 커스텀 핫워드 모델(200)의 분류 블록(210)은,
    맥스풀 계층(212)을 따르는 컨볼루션 계층(212) 또는 완전 연결 계층 중 하나를 포함하는 것을 특징으로 하는 커스텀 핫워드 모델을 트레이닝하는 방법(300).
  13. 제1항 내지 제12항 중 어느 하나에 있어서,
    상기 데이터 처리 하드웨어(112)는,
    사용자와 관련된 사용자 디바이스(110)에 상주하는 것을 특징으로 하는 커스텀 핫워드 모델을 트레이닝하는 방법(300).
  14. 제13항에 있어서,
    상기 사용자 디바이스(110)의 사용자는,
    사용자 디바이스(110)에 커스텀 핫워드(132)를 할당하는 것을 특징으로 하는 커스텀 핫워드 모델을 트레이닝하는 방법(300).
  15. 시스템(110)으로서,
    데이터 처리 하드웨어(112)와; 그리고
    데이터 처리 하드웨어(112)와 통신하고 데이터 처리 하드웨어(112)에서 실행될 때 데이터 처리 하드웨어(112)로 하여금 동작들을 수행하게 하는 명령들을 저장하는 메모리 하드웨어(114)를 포함하고, 상기 동작들은,
    커스텀 핫워드(132)를 각각 포함하는 트레이닝 오디오 샘플(134)의 제1 세트를 수신하는 단계와, 상기 커스텀 핫워드(132)는 하나 이상의 단어를 포함하고;
    트레이닝 오디오 샘플(134)의 제1 세트를 입력으로 수신하도록 구성된 음성 임베딩 모델(202)을 사용하여, 트레이닝 오디오 샘플(134)의 제1 세트의 각각의 트레이닝 오디오 샘플(134)에 대한 커스텀 핫워드(132)를 나타내는 대응하는 핫워드 임베딩(208)을 생성하는 단계와, 상기 음성 임베딩 모델(202)은 트레이닝 오디오 샘플(134)의 제1 세트와 상이한 트레이닝 오디오 샘플(144)의 제2 세트에 대해 사전 트레이닝되고, 상기 트레이닝 오디오 샘플(144)의 제2 세트는 트레이닝 오디오 샘플(134)의 제1 세트보다 더 많은 수의 트레이닝 오디오 샘플(144)을 포함하고; 그리고
    오디오 데이터(12)에서 커스텀 핫워드(132)의 존재를 검출하기 위해 커스텀 핫워드 모델(200)을 트레이닝하는 단계를 포함하고, 상기 커스텀 핫워드 모델(200)은,
    입력으로서, 음성 임베딩 모델(202)을 사용하여 생성된 각각의 대응하는 핫워드 임베딩(208)을 수신하고; 그리고
    출력으로서, 커스텀 핫워드(132)에 대응하는 것으로 각각의 대응하는 핫워드 임베딩(208)을 분류하도록 구성되는 것을 특징으로 하는 시스템(110).
  16. 제15항에 있어서,
    상기 동작들은,
    커스텀 핫워드 모델(200)을 트레이닝한 후에:
    사용자 디바이스(110)에서, 사용자 디바이스(110)에 의해 캡처된 스트리밍 오디오 데이터(12)를 수신하는 단계와;
    트레이닝된 커스텀 핫워드 모델(200)을 사용하여, 커스텀 핫워드(132)가 스트리밍 오디오 데이터(12)에 존재하는지 여부를 결정하는 단계와; 그리고
    커스텀 핫워드(132)가 스트리밍 오디오 데이터(12)에 존재하는 경우, 스트리밍 오디오 데이터(12)에서 커스텀 핫워드(132) 및/또는 그 커스텀 핫워드(132)를 따르는 하나 이상의 다른 용어를 처리하기 위해 사용자 디바이스(110)에서 웨이크업 프로세스를 개시하는 단계를 더 포함하는 것을 특징으로 하는 시스템(110).
  17. 제15항 또는 제16항에 있어서,
    상기 원격 시스템(140)은 트레이닝 오디오 샘플(144)의 제2 세트에 대해 음성 임베딩 모델(202)을 사전 트레이닝하고,
    상기 트레이닝 오디오 샘플(300)의 제2 세트는,
    하나 이상의 상이한 화자에 의해 발화된 타겟 핫워드의 말뭉치를 포함하는 포지티브 트레이닝 오디오 샘플들(144p)과; 그리고
    타겟 핫워드의 말뭉치로부터의 타겟 핫워드를 포함하지 않는 네거티브 트레이닝 오디오 샘플들(144n)을 포함하는 것을 특징으로 하는 것을 특징으로 하는 시스템(110).
  18. 제17항에 있어서,
    상기 원격 시스템(140)은,
    타겟 핫워드의 말뭉치를 타겟 핫워드의 복수의 랜덤 그룹으로 분할하고, 상기 타겟 핫워드의 각 그룹은 타겟 핫워드의 말뭉치로부터의 하나 이상의 타겟 핫워드의 개별 세트를 포함하고;
    타겟 핫워드의 말뭉치로부터 분할된 타겟 핫워드의 각 그룹에 대해, 트레이닝 오디오 샘플(144)의 제2 세트에서 타겟 핫워드의 개별 그룹으로부터 임의의 타겟 핫워드의 존재를 검출하기 위해 음성 임베딩 모델(202) 위에서 각각의 사전 트레이닝 핫워드 모델(200)을 트레이닝하고; 그리고
    타겟 핫워드의 복수의 랜덤 그룹에 대한 대표 음성 임베딩을 학습하기 위해 음성 임베딩 모델(202)을 트레이닝함으로써,
    음성 임베딩 모델(202)을 사전 트레이닝하도록 더 구성되는 것을 특징으로 하는 시스템(110).
  19. 제15항 내지 제18항 중 어느 하나에 있어서,
    상기 트레이닝 오디오 샘플(134)의 제1 세트는,
    하나 이상의 음성 합성 시스템으로부터 출력된 커스텀 핫워드(132)의 합성 음성 발언(162)을 포함하는 것을 특징으로 하는 시스템(110).
  20. 제15항 내지 제19항 중 어느 하나에 있어서,
    상기 트레이닝 오디오 샘플(134)의 제1 세트는,
    커스텀 핫워드(132)를 말하는 사용자에 대응하는 하나 이상의 인간 생성 음성 발언과; 그리고
    하나 이상의 음성 합성 시스템으로부터 출력된 커스텀 핫워드(132)의 복수의 합성된 음성 발언(162)을 포함하는 것을 특징으로 하는 시스템(110).
  21. 제20항에 있어서,
    상기 복수의 합성 음성 발언(162)의 적어도 하나의 합성 음성 발언(162)은,
    복수의 합성 음성 발언(162)의 다른 합성 음성 발언(162)과 상이한 합성 음성을 포함하는 것을 특징으로 하는 시스템(110).
  22. 제20항 또는 제21항에 있어서,
    상기 동작들은,
    커스텀 핫워드(132)에 대응하는 입력 텍스트를 수신하는 단계와, 상기 입력 텍스트는 데이터 처리 하드웨어(112)에서 실행되는 그래픽 사용자 인터페이스를 통해 사용자에 의해 입력되고; 그리고
    하나 이상의 음성 합성 시스템의 입력으로서 입력 텍스트를 사용하여, 커스텀 핫워드(132)의 복수의 합성 음성 발언(162)을 생성하는 단계를 더 포함하는 것을 특징으로 하는 시스템(110).
  23. 제20항 내지 제22항 중 어느 한 항에 있어서,
    상기 동작들은,
    커스텀 핫워드(132)를 말하는 사용자에 대응하는 하나 이상의 인간-생성 음성 발언을 수신하는 단계와;
    하나 이상의 인간-생성 음성 발언 중 적어도 하나의 전사(164)를 생성하는 단계와; 그리고
    하나 이상의 음성 합성 시스템에 대한 입력으로서 하나 이상의 인간-생성 음성 발언 중 적어도 하나의 전사(164)를 사용하여, 커스텀 핫워드(132)의 복수의 합성 음성 발언(162)을 생성하는 단계를 더 포함하는 것을 특징으로 하는 시스템(110).
  24. 제15항 내지 제23항 중 어느 한 항에 있어서,
    상기 음성 임베딩 모델(202)은 5개의 컨볼루션 블록(210)을 포함하고;
    상기 커스텀 핫워드 모델(200)은,
    음성 임베딩 모델(202)의 5개의 컨볼루션 블록(210) 중 마지막 컨볼루션 블록의 출력을 입력으로 수신하도록 구성된 하나의 컨볼루션 블록(210)과; 그리고
    컨볼루션 블록(210)의 출력을 입력으로 수신하도록 구성된 분류 블록(210)을 포함하는 것을 특징으로 하는 시스템(110).
  25. 제24항에 있어서,
    상기 음성 임베딩 모델(202) 및 커스텀 핫워드 모델(200)의 각 콘볼루션 블록(210)은 4개의 콘볼루션 계층(212) 및 맥스풀 계층(212)을 포함하는 것을 특징으로 하는 시스템(110).
  26. 제24항 또는 제25항에 있어서,
    상기 커스텀 핫워드 모델(200)의 분류 블록(210)은,
    맥스풀 계층(212)을 따르는 컨볼루션 계층(212) 또는 완전 연결 계층 중 하나를 포함하는 것을 특징으로 하는 시스템(110).
  27. 제15항 내지 제26항 중 어느 하나에 있어서,
    상기 데이터 처리 하드웨어(112)는,
    사용자와 관련된 사용자 디바이스(110)에 상주하는 것을 특징으로 하는 시스템(110).
  28. 제27항에 있어서,
    상기 사용자 디바이스(110)의 사용자는,
    사용자 디바이스(110)에 커스텀 핫워드(132)를 할당하는 것을 특징으로 하는 시스템(110).
KR1020227024628A 2019-12-17 2020-12-16 키워드 탐지기 트레이닝 KR102540248B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/717,518 2019-12-17
US16/717,518 US11341954B2 (en) 2019-12-17 2019-12-17 Training keyword spotters
PCT/US2020/065445 WO2021127064A1 (en) 2019-12-17 2020-12-16 Training keyword spotters

Publications (2)

Publication Number Publication Date
KR20220107310A true KR20220107310A (ko) 2022-08-02
KR102540248B1 KR102540248B1 (ko) 2023-06-07

Family

ID=74181362

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227024628A KR102540248B1 (ko) 2019-12-17 2020-12-16 키워드 탐지기 트레이닝

Country Status (6)

Country Link
US (2) US11341954B2 (ko)
EP (1) EP4052252A1 (ko)
JP (1) JP7268251B2 (ko)
KR (1) KR102540248B1 (ko)
CN (1) CN114787915A (ko)
WO (1) WO2021127064A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11763806B1 (en) * 2020-06-25 2023-09-19 Amazon Technologies, Inc. Speaker recognition adaptation
US11557278B2 (en) * 2020-12-10 2023-01-17 Google Llc Speaker dependent follow up actions and warm words
US20220293088A1 (en) * 2021-03-12 2022-09-15 Samsung Electronics Co., Ltd. Method of generating a trigger word detection model, and an apparatus for the same
US20230017728A1 (en) * 2021-07-14 2023-01-19 Harman International Industries, Incorporated Techniques for audio feature detection
WO2024053915A1 (en) * 2022-09-05 2024-03-14 Samsung Electronics Co., Ltd. System and method for detecting a wakeup command for a voice assistant

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090319270A1 (en) * 2008-06-23 2009-12-24 John Nicholas Gross CAPTCHA Using Challenges Optimized for Distinguishing Between Humans and Machines
EP3032535A1 (en) * 2014-12-11 2016-06-15 MediaTek, Inc Voice wakeup detecting device and method
US10679615B2 (en) * 2018-04-16 2020-06-09 Google Llc Adaptive interface in a voice-based networked system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9589563B2 (en) * 2014-06-02 2017-03-07 Robert Bosch Gmbh Speech recognition of partial proper names by natural language processing
US9548053B1 (en) * 2014-09-19 2017-01-17 Amazon Technologies, Inc. Audible command filtering
US9600231B1 (en) * 2015-03-13 2017-03-21 Amazon Technologies, Inc. Model shrinking for embedded keyword spotting
US10438593B2 (en) * 2015-07-22 2019-10-08 Google Llc Individualized hotword detection models
US10331402B1 (en) * 2017-05-30 2019-06-25 Amazon Technologies, Inc. Search and knowledge base question answering for a voice user interface
CN107358951A (zh) * 2017-06-29 2017-11-17 阿里巴巴集团控股有限公司 一种语音唤醒方法、装置以及电子设备
US10720151B2 (en) * 2018-07-27 2020-07-21 Deepgram, Inc. End-to-end neural networks for speech recognition and classification
JP7014142B2 (ja) * 2018-11-30 2022-02-01 日本電信電話株式会社 キーワード抽出装置、キーワード抽出方法、およびプログラム
US11132992B2 (en) * 2019-05-05 2021-09-28 Microsoft Technology Licensing, Llc On-device custom wake word detection

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090319270A1 (en) * 2008-06-23 2009-12-24 John Nicholas Gross CAPTCHA Using Challenges Optimized for Distinguishing Between Humans and Machines
EP3032535A1 (en) * 2014-12-11 2016-06-15 MediaTek, Inc Voice wakeup detecting device and method
US10679615B2 (en) * 2018-04-16 2020-06-09 Google Llc Adaptive interface in a voice-based networked system

Also Published As

Publication number Publication date
US20220262345A1 (en) 2022-08-18
EP4052252A1 (en) 2022-09-07
WO2021127064A1 (en) 2021-06-24
KR102540248B1 (ko) 2023-06-07
US20210183367A1 (en) 2021-06-17
JP2022552916A (ja) 2022-12-20
US11341954B2 (en) 2022-05-24
JP7268251B2 (ja) 2023-05-02
CN114787915A (zh) 2022-07-22

Similar Documents

Publication Publication Date Title
KR102540248B1 (ko) 키워드 탐지기 트레이닝
US11227611B2 (en) Determining hotword suitability
JP7248751B2 (ja) ホットワード認識音声合成
EP3553773B1 (en) Training and testing utterance-based frameworks
CN109686383B (zh) 一种语音分析方法、装置及存储介质
KR20230113368A (ko) 검출들의 시퀀스에 기반한 핫프레이즈 트리거링
JP2018031851A (ja) 談話機能推定装置及びそのためのコンピュータプログラム
US11942094B2 (en) Hybrid multilingual text-dependent and text-independent speaker verification
KR20220129034A (ko) 작은 풋프린트 멀티-채널 키워드 스포팅
KR20210081166A (ko) 다국어 음성 환경에서의 언어 식별 장치 및 방법
US11978431B1 (en) Synthetic speech processing by representing text by phonemes exhibiting predicted volume and pitch using neural networks
Jois et al. RED: An Intelligent Edge based Speaker System with Ambient Sensing Technology
CN117223052A (zh) 基于神经网络的关键词检出方法

Legal Events

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