KR20230008152A - 엔드-투-엔드 멀티-토커 중첩 스피치 인식 - Google Patents

엔드-투-엔드 멀티-토커 중첩 스피치 인식 Download PDF

Info

Publication number
KR20230008152A
KR20230008152A KR1020227041677A KR20227041677A KR20230008152A KR 20230008152 A KR20230008152 A KR 20230008152A KR 1020227041677 A KR1020227041677 A KR 1020227041677A KR 20227041677 A KR20227041677 A KR 20227041677A KR 20230008152 A KR20230008152 A KR 20230008152A
Authority
KR
South Korea
Prior art keywords
speaker
audio
embedding
training
speech recognition
Prior art date
Application number
KR1020227041677A
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 KR20230008152A publication Critical patent/KR20230008152A/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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/044Recurrent networks, e.g. Hopfield networks
    • 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
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • 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/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
    • 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/0272Voice signal separating

Landscapes

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

Abstract

손실 함수(310)를 이용하여 스피치 인식 모델(200)을 트레이닝하기 위한 방법(400)은, 제1 화자(10)가 말한 오디오에 대응하는 제1 세그먼트(304), 제2 화자가 말한 오디오에 대응하는 제2 세그먼트, 및 제1 세그먼트가 제2 세그먼트와 중첩하는 중첩 영역(306)을 포함하는 오디오 신호(202)를 수신하는 단계를 포함한다. 중첩 영역은 알려진 시작 시간 및 알려진 종료 시간을 포함한다. 방법은 또한, 제1 및 제2 화자들 각각에 대해 개개의 마스킹된 오디오 임베딩(254)을 생성하는 단계를 포함한다. 방법은 또한, 제1 화자가 알려진 시작 시간 이전에 말하고 있었을 때, 제1 화자에 대한 개개의 마스킹된 오디오 임베딩에, 알려진 종료 시간 이후의 마스킹 손실(312)을 적용하는 단계, 또는 제1 화자가 알려진 종료 시간 이후에 말하고 있었을 때, 알려진 시작 시간 이전의 마스킹 손실을 적용하는 단계를 포함한다.

Description

엔드-투-엔드 멀티-토커 중첩 스피치 인식
[0001] 본 개시내용은 스피치 인식에 관한 것이다.
[0002] 현대의 ASR(automated speech recognition) 시스템들은 높은 품질(예컨대, 낮은 WER(word error rate))뿐만 아니라 낮은 레이턴시(예컨대, 사용자가 말하는 것과 트랜스크립션(transcription)이 나타나는 것 사이의 짧은 지연)를 제공하는 데 중점을 둔다. 더욱이, 오늘날 ASR 시스템을 사용할 때, ASR 시스템은 실시간 또는 심지어 실시간보다 더 빠른 것에 대응하는 스트리밍 방식으로 발언들을 디코딩해야 한다는 요구가 있다. 예시하자면, ASR 시스템이 직접적인 사용자 상호작용을 경험하는 모바일 폰 상에 배치될 때, ASR 시스템을 사용하는 모바일 폰 상의 애플리케이션은 단어들이 말해지자마자 단어들이 스크린 상에 나타나도록 스피치 인식이 스트리밍되도록 요구할 수 있다. 여기서, 또한 모바일 폰의 사용자는 레이턴시에 대해 낮은 허용오차를 가질 가능성이 있다. 이러한 낮은 허용오차로 인해, 스피치 인식은, 사용자의 경험에 유해하게 영향을 미칠 수 있는 레이턴시 및 부정확성으로부터의 영향을 최소화하는 방식으로 모바일 디바이스 상에서 실행되도록 노력한다.
[0003] 본 개시내용의 일 양상은 손실 함수(loss function)를 이용하여 스피치 인식 모델을 트레이닝하는 방법을 제공한다. 방법은 데이터 프로세싱 하드웨어에서, 제1 화자가 말한 오디오에 대응하는 제1 세그먼트, 제2 화자가 말한 오디오에 대응하는 제2 세그먼트, 및 제1 세그먼트가 제2 세그먼트와 중첩하는 중첩 영역을 포함하는 오디오 신호를 포함하는 트레이닝 예를 수신하는 단계를 포함한다. 중첩 영역은 알려진 시작 시간 및 알려진 종료 시간을 포함한다. 제1 화자 및 제2 화자 각각에 대해, 방법은 데이터 프로세싱 하드웨어에 의해, 트레이닝 예에 기초하여 개개의 마스킹된 오디오 임베딩을 생성하는 단계를 포함한다. 방법은 또한, 데이터 프로세싱 하드웨어에 의해, 제1 화자가 중첩 영역의 알려진 시작 시간 이전에 말하고 있었는지 또는 중첩 영역의 알려진 종료 시간 이후에 말하고 있었는지를 결정하는 단계를 포함한다. 중첩 영역의 알려진 시작 시간 이전에 제1 화자가 말하고 있었을 때, 방법은 데이터 프로세싱 하드웨어에 의해, 제1 화자에 대한 개개의 마스킹된 오디오 임베딩에, 알려진 종료 시간 이후의 제1 마스킹 손실을 적용하는 단계를 포함한다. 중첩 영역의 알려진 종료 시간 이후에 제1 화자가 말하고 있었을 때, 방법은 데이터 프로세싱 하드웨어에 의해, 제1 화자에 대한 개개의 마스킹된 오디오 임베딩에, 알려진 시작 시간 이전의 생성된 마스킹된 오디오 임베딩에 대한 마스킹 손실을 적용하는 단계를 포함한다.
[0004] 본 개시내용의 구현들은 다음의 선택적 특징들 중 하나 이상을 포함할 수 있다. 일부 구현들에서, 중첩 영역의 알려진 시작 시간 이전에 제1 화자가 말하고 있었을 때, 방법은 데이터 프로세싱 하드웨어에 의해, 제2 화자에 대한 개개의 마스킹된 오디오 임베딩에, 중첩 영역의 알려진 시작 시간 이전의 제2 제2 마스킹 손실을 적용하는 단계를 포함한다. 이러한 구현들에서, 중첩 영역의 알려진 종료 시간 이후에 제1 화자가 말하고 있었을 때, 방법은 또한 데이터 프로세싱 하드웨어에 의해, 제2 화자에 대한 개개의 마스킹된 오디오 임베딩에, 중첩 영역의 알려진 종료 시간 이후의 제2 마스킹 손실을 적용하는 단계를 포함한다. 이러한 구현들에서, 제1 화자 및 제2 화자에 대해 생성된 개개의 마스킹된 오디오 임베딩들 각각에 대해, 방법은 또한 데이터 프로세싱 하드웨어에 의해, 중첩 영역 내부에서 제1 화자 또는 제2 화자의 개개의 화자에 대한 개개의 평균 화자 임베딩을 컴퓨팅하는 단계; 및 데이터 프로세싱 하드웨어에 의해, 중첩 영역 외부에서 제1 화자 또는 제2 화자의 개개의 화자에 대한 개개의 평균 화자 임베딩을 컴퓨팅하는 단계를 포함할 수 있다. 여기서, 방법은, 데이터 프로세싱 하드웨어에 의해, 중첩 영역 내부의 제1 화자에 대한 개개의 마스킹된 오디오 임베딩에 대해 컴퓨팅된 평균 화자 임베딩, 중첩 영역 내부의 제2 화자에 대한 개개의 마스킹된 오디오 임베딩에 대해 컴퓨팅된 평균 화자 임베딩, 중첩 영역 외부의 제1 화자에 대한 개개의 마스킹된 오디오 임베딩에 대해 컴퓨팅된 평균 화자 임베딩, 및 중첩 영역 외부의 제2 화자에 대한 개개의 마스킹된 오디오 임베딩에 대해 컴퓨팅된 평균 화자 임베딩의 함수에 기초하여 임베딩 손실을 결정하는 단계; 및 데이터 프로세싱 하드웨어에 의해, (i) 제1 화자에 대해 생성된 개개의 마스킹된 오디오 임베딩 전체가 제1 화자가 말한 오디오에만 대응하도록 강제하기 위해, 제1 화자에 대해 생성된 개개의 마스킹된 오디오 임베딩; 및 (ii) 제2 화자에 대해 생성된 개개의 마스킹된 오디오 임베딩 전체가 제2 화자가 말한 오디오에만 대응하도록 강제하기 위해, 제2 화자에 대해 생성된 개개의 마스킹된 오디오 임베딩 각각에 임베딩 손실을 적용하는 단계를 더 포함한다.
[0005] 본 개시내용의 다른 양상은 손실 함수를 이용하여 스피치 인식 모델을 트레이닝하는 시스템을 제공한다. 시스템은 데이터 프로세싱 하드웨어 및 데이터 프로세싱 하드웨어와 통신하는 메모리 하드웨어를 포함한다. 메모리 하드웨어는, 데이터 프로세싱 하드웨어 상에서 실행될 때 데이터 프로세싱 하드웨어로 하여금 동작들을 수행하게 하는 명령들을 저장한다. 동작들은, 제1 화자가 말한 오디오에 대응하는 제1 세그먼트, 제2 화자가 말한 오디오에 대응하는 제2 세그먼트, 및 제1 세그먼트가 제2 세그먼트와 중첩하는 중첩 영역을 포함하는 오디오 신호를 포함하는 트레이닝 예를 수신하는 것을 포함한다. 중첩 영역은 알려진 시작 시간 및 알려진 종료 시간을 포함한다. 제1 화자 및 제2 화자 각각에 대해, 동작들은 트레이닝 예에 기초하여 개개의 마스킹된 오디오 임베딩을 생성하는 것을 포함한다. 동작들은 또한, 제1 화자가 중첩 영역의 알려진 시작 시간 이전에 말하고 있었는지 또는 중첩 영역의 알려진 종료 시간 이후에 말하고 있었는지를 결정하는 것을 포함한다. 중첩 영역의 알려진 시작 시간 이전에 제1 화자가 말하고 있었을 때, 동작들은 제1 화자에 대한 개개의 마스킹된 오디오 임베딩에, 알려진 종료 시간 이후의 제1 마스킹 손실을 적용하는 단계를 포함한다. 중첩 영역의 알려진 종료 시간 이후에 제1 화자가 말하고 있었을 때, 동작들은 제1 화자에 대한 개개의 마스킹된 오디오 임베딩에, 알려진 시작 시간 이전의 생성된 마스킹된 오디오 임베딩에 대한 마스킹 손실을 적용하는 것을 포함한다.
[0006] 본 개시내용의 구현들은 다음의 선택적 특징들 중 하나 이상을 포함할 수 있다. 일부 구현들에서, 중첩 영역의 알려진 시작 시간 이전에 제1 화자가 말하고 있었을 때, 동작들은 제2 화자에 대한 개개의 마스킹된 오디오 임베딩에, 중첩 영역의 알려진 시작 시간 이전의 제2 제2 마스킹 손실을 적용하는 것을 포함한다. 이러한 구현들에서, 중첩 영역의 알려진 종료 시간 이후에 제1 화자가 말하고 있었을 때, 동작들은 또한 제2 화자에 대한 개개의 마스킹된 오디오 임베딩에, 중첩 영역의 알려진 종료 시간 이후의 제2 마스킹 손실을 적용하는 것을 포함한다. 이러한 구현들에서, 제1 화자 및 제2 화자에 대해 생성된 개개의 마스킹된 오디오 임베딩들 각각에 대해, 동작들은 또한 중첩 영역 내부에서 제1 화자 또는 제2 화자의 개개의 화자에 대한 개개의 평균 화자 임베딩을 컴퓨팅하는 것; 및 중첩 영역 외부에서 제1 화자 또는 제2 화자의 개개의 화자에 대한 개개의 평균 화자 임베딩을 컴퓨팅하는 것을 포함할 수 있다. 여기서, 동작들은, 중첩 영역 내부의 제1 화자에 대한 개개의 마스킹된 오디오 임베딩에 대해 컴퓨팅된 평균 화자 임베딩, 중첩 영역 내부의 제2 화자에 대한 개개의 마스킹된 오디오 임베딩에 대해 컴퓨팅된 평균 화자 임베딩, 중첩 영역 외부의 제1 화자에 대한 개개의 마스킹된 오디오 임베딩에 대해 컴퓨팅된 평균 화자 임베딩, 및 중첩 영역 외부의 제2 화자에 대한 개개의 마스킹된 오디오 임베딩에 대해 컴퓨팅된 평균 화자 임베딩의 함수에 기초하여 임베딩 손실을 결정하는 것; 및 (i) 제1 화자에 대해 생성된 개개의 마스킹된 오디오 임베딩 전체가 제1 화자가 말한 오디오에만 대응하도록 강제하기 위해, 제1 화자에 대해 생성된 개개의 마스킹된 오디오 임베딩; 및 (ii) 제2 화자에 대해 생성된 개개의 마스킹된 오디오 임베딩 전체가 제2 화자가 말한 오디오에만 대응하도록 강제하기 위해, 제2 화자에 대해 생성된 개개의 마스킹된 오디오 임베딩 각각에 임베딩 손실을 적용하는 것을 더 포함한다.
[0007] 일부 예들에서, 제1 화자가 중첩 영역의 알려진 시작 시간 이전에 말하고 있었을 때, 제1 화자는 중첩 영역의 알려진 종료 시간 이후에 말하고 있지 않았고, 제1 화자가 중첩 영역의 알려진 종료 시간 이후에 말하고 있었을 때, 제1 화자는 중첩 영역의 알려진 시작 시간 이전에 말하고 있지 않았다. 마스킹된 오디오 임베딩을 생성하는 것은 트레이닝 예에 대한 오디오 신호의 각각의 프레임에서 발생할 수 있다. 트레이닝 예는 모노포닉 오디오 신호에 대응할 수 있다. 트레이닝 예는 시뮬레이션된 트레이닝 데이터를 포함할 수 있다.
[0008] 일부 예들에서, 스피치 인식 모델은 RNN-T(recurrent neural network transducer) 아키텍처를 포함한다. 여기서, RNN-T 아키텍처는, 입력으로서, 제1 화자에 대한 개개의 마스킹된 오디오 임베딩을 수신하고, 출력으로서, 제1 화자와 연관된 제1 트랜스크립션을 생성하도록 구성된 제1 디코더 ― 제1 트랜스크립션은 제1 화자가 말한 오디오에 대응하는 오디오 신호의 제1 세그먼트를 트랜스크라이브(transcribe)함 ―; 및 입력으로서, 제2 화자에 대해 생성된 개개의 마스킹된 오디오 임베딩을 수신하고, 출력으로서, 제2 화자와 연관된 제2 트랜스크립션을 생성하도록 구성된 제2 디코더를 포함할 수 있고, 제2 트랜스크립션은 제2 화자가 말한 오디오에 대응하는 오디오 신호의 제2 세그먼트를 트랜스크라이브한다. 스피치 인식 모델은 오디오 인코더를 포함할 수 있고, 오디오 인코더는, 추론 동안, 2개 이상의 상이한 화자들이 말한 스피치를 포함하는 모노포닉 오디오 스트림으로부터 프레임당 임베딩들을 생성하고 각각의 프레임 오디오 임베딩을 마스킹 모드에 통신하도록 구성된다. 여기서, 마스킹 모델은 각각의 프레임 오디오 임베딩에 대해, 개개의 마스킹된 오디오 임베딩을 생성하도록 트레이닝된다. 선택적으로, 트레이닝 예는 제1 화자가 말한 오디오에 대응하는 제1 실측 자료 트랜스크립트(ground truth transcript) 및 제2 화자가 말한 오디오에 대응하는 제2 실측 자료 트랜스크립트를 더 포함할 수 있다.
[0009] 본 개시내용의 하나 이상의 구현들의 세부사항들은 첨부된 도면들 및 이하의 설명에서 기술된다. 다른 양상들, 특징들 및 이점들은 설명 및 도면들로부터 및 청구항들로부터 자명할 것이다.
[0010] 도 1은 멀티-화자 스피치 인식기를 사용하는 예시적인 스피치 환경의 예의 개략도이다.
[0011] 도 2a 및 도 2b는 예시적인 멀티-화자 스피치 인식기들의 개략도들이다.
[0012] 도 3a 내지 도 3d는 멀티-화자 스피치 인식기에 대한 예시적인 트레이닝 프로세스들의 개략도들이다.
[0013] 도 4는 엔드-투-엔드 멀티-토커 중첩 스피치 인식의 방법에 대한 동작들의 예시적인 배열의 흐름도이다.
[0014] 도 5는 본원에 설명된 시스템들 및 방법들을 구현하기 위해 사용될 수 있는 예시적인 컴퓨팅 디바이스의 개략도이다.
[0015] 다양한 도면들에서 유사한 참조 부호들은 유사한 요소들을 표시한다.
[0016] 종종 대화들에서, 사람들이 동시에 말하거나 또는 말할 때 중첩되는 것이 일반적이다. 예를 들어, 하나의 화자가 다른 화자를 중단시킬 수 있거나, 일시정지가 있을 수 있고, 일시정지 이후에 대화의 하나 초과의 참가자가 말하기 시작한다. 오늘날의 기술을 이용하여, 하나 이상의 화자들이 대화에서 중첩하는 것은 훨씬 더 쉬울 수 있다. 예를 들어, 화자들이 기술(예를 들어, 실시간 통신 애플리케이션 또는 소프트웨어)을 통해 통신하고 있을 때, 바디 랭귀지 또는 대화중 통신 큐들을 이해하기 위해 모든 화자가 가시적이지는 않을 수 있다. 대면 대화의 큐들이 없으면, 하나의 화자에 의한 일시정지들 또는 다른 주저함들은 2명 이상의 화자들로 하여금 서로 이야기하게 할 수 있다. 화자들이 서로 이야기하고 있는 대화의 이러한 부분은, 하나 초과의 화자가 동시에 말하고 있기 때문에 중첩 스피치 또는 멀티-화자 스피치로 지칭될 수 있다.
[0017] 화자가 다른 화자와 이야기하고 있을 때, 스피치 인식 시스템들은 스피치 인식을 수행하는 데 어려움을 가질 수 있고, 분할을 수행할 수 있는 스피치 인식 시스템들에서, 누가 언제 말하고 있는지를 결정하는 데 어려움이 있을 수 있다. 즉, 스피치 인식 시스템은, 어느 화자가 언제 말하고 있는지, 그리고 중첩으로 인해, 화자들이 서로 이야기할 때 각각의 화자에 의해 무엇이 실제로 말해지고 있는지를 구별하는 데 어려움을 가질 수 있다. 불행하게도, 이러한 상황은, 대화의 참여자가 대화 동안 또는 대화-후 프로세싱 동안 스피치 인식 기능을 사용하려고 시도할 때 문제가 되는 것으로 판명될 수 있다. 예를 들어, 대화 동안, 참가자는 대화의 오디오에 기초하여 트랜스크립트를 생성할 수 있다. 트랜스크립트를 생성하는 스피치 인식 시스템이 중첩 스피치 세그먼트에 직면할 때, 스피치 인식 시스템은 정확한 화자(또는 임의의 화자)를 식별하는 것을 실패하거나 또는 중첩 스피치 세그먼트에서 조합된 음향들로 인해 대화의 콘텐츠(예를 들어, 말해진 단어들)을 실제로 트랜스크라이브하는 불량한 작업을 수행할 수 있다. 이러한 어려움들은 대화에 몇몇 참여자들이 있고 다수의 화자들이 동시에 차임 인(chime in)할 때 추가로 증폭될 수 있다. 예를 들어, 이는 그룹 회의 또는 다른 타입의 사람들의 집합에서 발생할 수 있다. 종종, 칵테일 파티 문제로 지칭되는 이 문제는 오랫동안 스피치 인식 시스템들에 부담을 주었다.
[0018] 중첩 스피치의 다른 문제점은 스피치 인식 시스템에 의해 생성 또는 수신된 오디오가 단일 채널에서 발생할 수 있다는 것이다. 사운드 채널은 일반적으로, 레코딩 시스템에 의해 수집된 독립적인 오디오 신호를 지칭한다. 여기서, 대화 내의 각각의 참가자가 독립적인 오디오 채널을 가졌다면, 중첩 스피치가 발생할 수 있더라도, 스피치 인식 시스템은 독립적인 채널들을 사용하여 중첩 스피치 동안 화자의 식별 및/또는 스피치 콘텐츠에 대한 트랜스크립트 생성을 도울 수 있을 것이다. 대조적으로, 단일 채널의 경우, 스피치 인식 시스템은 스피치 인식 프로세스를 돕기 위해 다른 채널들을 사용할 혜택을 갖지 않는다. 대신에, 불행하게도, 스피치 인식 시스템은 단일 채널만을 해석해야 하며, 오디오 신호는 중첩 스피치 세그먼트에서 다수의 화자들의 스피치를 함께 믹싱한다. 비디오 회의 애플리케이션과 같은 통신 애플리케이션은 통신 세션의 모든 참가자들이 말한 스피치를 포함할 수 있는 단일 채널 상에서 수신된 오디오를 트랜스크라이브할 수 있다. 유사하게, 의사와 환자 사이의 대화를 레코딩하기 위해 의사의 진료실에 배치된 환자의 모바일 디바이스와 같은 사용자 디바이스 상에서 실행되는 오디오 레코딩 애플리케이션은 의사와 환자 사이에서 말해진 스피치를 포함하는 오디오를 단일 채널 상에 기록할 수 있고, 여기서 환자와 의사 둘 모두가 동시에 말하고 있는 중첩 스피치의 발생들이 있을 수 있다.
[0019] 스피치 인식 시스템들이 개발됨에 따라, 멀티-화자 오디오 세그먼트들을 해결하기 위해 몇몇 접근법들이 시도되었다. 하나의 더 일반적인 접근법은 다수의 화자들로부터의 오디오에 대해 소스 분리를 먼저 수행함으로써 멀티-화자 오디오 세그먼트의 화자들을 인식하는 것이다. 이러한 시스템들이 소스들을 분리하면, 이러한 시스템들은 분리된 스피치에 대해 스피치 인식(예를 들어, ASR(automatic speech recognition)을 계속 수행할 것이다. 일반적으로, 이러한 접근법의 경우, 단일 채널 입력에 대한 소스 분리는 FFT(Fast Fourier Transform)들에 대한 마스크를 예측하고, 이어서 마스킹된 FFT들로부터 화자 특정 오디오 신호를 생성함으로써 이루어진다. 그러나, 이러한 소스 분리 접근법은 종래의 스피치 인식 시스템(예를 들어, ASR 시스템)과는 별개로 그리고 그에 추가로 스피치 분리 모델을 요구한다.
[0020] 추가적인 스피치 분리 모델을 가짐으로써, 이러한 타입의 멀티-화자 접근법은 그 자체가 엔드-투-엔드 스피치 인식 시스템이 되기에는 적합하지 않다. 엔드-투-엔드 스피치 인식 시스템들은 스피치 인식 시스템의 이전에 분리된 모델들(예를 들어, 음향, 언어 및 발음 모델들 뿐만 아니라 스피치 분리 모델)을 통합하도록 셋업된다. 이러한 통합 모델들은 오디오 파형(즉, 입력 시퀀스)을 출력 문장(즉, 출력 시퀀스)에 직접 맵핑하기 위해 단일 신경 네트워크를 사용하려고 하며; 이는 오디오 특징들의 시퀀스가 주어질 때 단어들(또는 자소들)의 시퀀스를 생성하는 시퀀스-대-시퀀스 접근법을 도출한다. 통합형 구조를 이용하여, 모델의 모든 컴포넌트들은 단일 E2E(end-to-end) 신경 네트워크로서 공동으로 트레이닝될 수 있다. 여기서, E2E 모델은 아키텍처가 완전히 신경 네트워크로 구성된 모델을 지칭한다. 완전 신경 네트워크는 외부 및/또는 수동으로 설계된 컴포넌트들(예를 들어, 유한 상태 트랜스듀서들, 어휘 또는 텍스트 정규화 모듈들) 없이 기능한다. 추가적으로, E2E 모델들을 트레이닝할 때, 이들 모델들은 일반적으로, 별개의 시스템으로부터의 시간 정렬들 또는 결정 트리들로부터의 부트스트래핑을 요구하지 않는다.
[0021] 멀티-화자 오디오 세그먼트들을 해결하기 위한 다른 접근법에서, 스피치 인식 시스템은 PIT(permutation-invariant training)를 사용하여 트레이닝될 수 있다. 이러한 PIT 트레이닝 접근법은 별개의 스피치 분리 모델을 요구하지 않지만, 이러한 방식으로 스피치 인식 시스템을 트레이닝하기 위해, 트레이닝 시간 동안 라벨들과 오디오 사이의 정렬 정보가 요구된다. 정렬 정보를 필요로 함으로써, 트레이닝 프로세스는 본질적으로 복잡성을 증가시켰다. PIT 트레이닝은 일반적으로, 트레이닝 프로세스가 중첩 스피치의 모든 치환들(또는 상당한 부분)을 표현하도록, 화자 정렬의 모든 가능한 치환들의 예들을 포함하는 프로세스를 지칭한다. 이는, 추론 동안, 스피치 인식 시스템이 중첩 스피치의 특정 치환 또는 타입의 정렬 쪽으로 바이어스되지 않는 것을 보장하는 데 도움이 된다. 트레이닝 동안 상당한 치환들의 파퓰레이션(population)을 고려해야 하기 때문에, PIT 프로세스는 스피치 인식 시스템에 대한 집중적인 트레이닝 프로세스를 요구한다.
[0022] 멀티-화자 스피치에 대한 이들 문제들 중 일부를 극복하기 위해, 종래의 RNN-T(recurrent neural network transducer)가 증강되어 중첩 화자들로부터의 스피치를 디코딩할 수 있다. RNN-T 모델들은 주의 메커니즘을 사용하기보다는 트레이닝 데이터로부터 음향 특징들과 라벨 특징들 사이의 정렬을 학습할 수 있는 E2E 모델 타입이다. 예를 들어, RNN-T 모델은 트레이닝 동안 순방향-역방향 정렬 손실을 사용한다. 출력(예를 들어, 문장)을 생성하기 위해 전체 시퀀스(예를 들어, 오디오 파형)를 일반적으로 프로세싱할 필요가 있는 다른 시퀀스-투-시퀀스 모델들과 달리, RNN-T는 입력 샘플들을 연속적으로 프로세싱하고 출력 심볼들을 스트리밍하는데, 이는 실시간 통신에 특히 매력적인 특징이다. 예를 들어, RNN-T를 이용한 스피치 인식은 문자들을 (예를 들어, 자소 출력들로서) 말해진 바와 같이 하나씩 출력할 수 있다. 여기서, RNN-T는 다음 심볼들을 예측하기 위해 모델에 의해 예측된 심볼들을 그 자체로 다시 공급하는 피드백 루프를 사용한다. RNN-T를 디코딩하는 것은 큰 디코더 그래프 대신에 단일 신경 네트워크를 통한 빔 탐색을 포함하기 때문에, RNN-T는 서버-기반 스피치 인식 모델의 크기의 일부로 스케일링될 수 있다. 크기 감소로 인해, RNN-T는 완전히 온-디바이스에 배치될 수 있고, 오프라인으로(즉, 네트워크 접속 없이) 실행될 수 있고; 따라서, 통신 네트워크들에 대한 비신뢰성 문제들을 회피한다.
[0023] 또한, 종래의 RNN-T 모델은 신뢰할 수 있는 "온 디바이스" 스피치 인식 시스템인 것으로 입증되었다. "온-디바이스" 스피치 인식 시스템은, 오디오 입력을 수신하고 자신의 프로세서(들)를 사용하여 스피치 인식 시스템의 기능을 실행하는 디바이스에 의해 "온-디바이스"로 호스팅된다. 예를 들어, 스피치 인식 시스템이 완전히 온-디바이스로 호스팅될 때, 디바이스의 프로세서들은 스피치 인식 시스템의 기능을 수행하기 위해 임의의 오프-디바이스 컴퓨팅 자원들과 조정할 필요가 없다. 완전히 온-디바이스가 아닌 스피치 인식을 수행하는 디바이스는 (예를 들어, 원격 컴퓨팅 시스템 또는 클라우드 컴퓨팅의) 원격 컴퓨팅 및 그에 따라 온라인 접속에 의존하여 스피치 인식 시스템의 적어도 일부 기능을 수행한다. 예를 들어, 스피치 인식 시스템은 서버-기반 모델과의 네트워크 접속을 사용하여 큰 탐색 그래프를 이용한 디코딩을 수행한다. 원격 접속에 의존하지 않으면, 온-디바이스 스피치 인식 시스템은 통신 네트워크들의 고유한 비신뢰성 및/또는 레이턴시 문제들에 덜 취약하다. 이들 문제들을 회피함으로써 스피치 인식의 유용성을 개선하기 위해, 스피치 인식 시스템들은 다시, RNN-T(recurrent neural network transducer)로 알려진 시퀀스-대-시퀀스 모델의 형태로 발전하였다.
[0024] RNN-T 모델은 다수의 화자들과 함께 단일 채널 스피치를 인식하는 멀티-화자 스피치 인식 시스템에 적응될 수 있다. 여기서, 멀티-화자 스피치 인식 시스템은, 트레이닝 예 내의 화자들의 순서가 알려지도록, 정의된 파라미터들을 갖는 시뮬레이션된 트레이닝 데이터를 사용하여 트레이닝될 수 있다. 즉, 시뮬레이션된 트레이닝 데이터를 이용하여, 트레이닝 예들은 PIT 프로세스의 순서와 같이 화자 순서에 대해 치환이 불변으로 될 필요가 없다. 이는, 시뮬레이션된 트레이닝 예들이 트레이닝 예 내의 중첩 스피치 세그먼트들에 대한 시작 및 종료 시간들 및 화자 순서와 같은 알려진 파라미터들로 구성될 수 있기 때문이다. 멀티-화자 RNN-T의 경우, 화자 분리는 소스 레벨에서 행해지는 것이 아니라, 대신에 멀티-화자 RNN-T의 인코더로부터의 특징들의 레벨에서 이루어진다. 특징들의 레벨에서 화자 분리를 수행하기 위해, 멀티-화자 스피치 인식기는 마스킹 모델을 이용한다. 특징 레벨에서 마스킹 모델을 사용함으로써, 멀티-화자 스피치 인식기는 E2E 모델로서 트레이닝될 수 있다.
[0025] 도 1은 스피치 환경(100)의 예이다. 스피치 환경(100)에서, 사용자 디바이스(110)와 같은 컴퓨팅 디바이스와 상호작용하는 사용자(10)의 방식은 음성 입력을 통할 수 있다. 사용자 디바이스(110)(일반적으로 디바이스(110)로 또한 지칭됨)는 스피치-가능 환경(100) 내의 하나 이상의 사용자들(10, 10a-b)(또한 화자들로 지칭됨)로부터의 사운드들(예를 들어, 스트리밍 오디오 데이터(202))을 캡처하도록 구성된다. 여기서, 디바이스(110)에 의해 캡처된 스트리밍 오디오 데이터(202)는 하나 이상의 사용자들(10)이 말한 발언들(12, 12a-b)을 포함하는 가청 통신을 포함한다. 디바이스(110)의 스피치-가능 시스템들은 가청 통신을 수신하고, 오디오 데이터(202)에 기초하여 스피치 관련 기능(예를 들어, 트랜스크립션, 질의들, 화자 식별 등)을 수행할 수 있다.
[0026] 여기서, 사용자 디바이스(110)는 2명의 사용자들(10)(예를 들어, 제1 사용자(10a) 및 제2 사용자(10b)로서 도시됨) 사이의 대화의 오디오 데이터(202)를 캡처한다. 사용자 디바이스(110)는 사용자(10)와 연관되고 오디오 데이터(202)를 수신할 수 있는 임의의 컴퓨팅 디바이스(화자(10)로 또한 지칭됨)에 대응할 수 있다. 사용자 디바이스들(110)의 일부 예들은 모바일 디바이스들(예를 들어, 모바일 폰들, 태블릿들, 랩톱들 등), 컴퓨터들, 웨어러블 디바이스들(예를 들어, 스마트 시계들), 스마트 기기들, IoT(internet of things) 디바이스들, 스마트 스피커들 등 포함하지만 이에 제한되지 않는다. 사용자 디바이스(110)는 데이터 프로세싱 하드웨어(112), 및 데이터 프로세싱 하드웨어(112)와 통신하고 데이터 프로세싱 하드웨어(112)에 의해 실행될 때 데이터 프로세싱 하드웨어(112)로 하여금 하나 이상의 동작들을 수행하게 하는 명령들을 저장하는 메모리 하드웨어(114)를 포함한다. 사용자 디바이스(110)는, 스피치-가능 시스템(100) 내의 말해진 발언들(12)을 캡처하여 전기 신호들로 변환하기 위한 오디오 캡처 디바이스(예를 들어, 마이크로폰)(116, 116a) 및 가청 오디오 신호를 (예를 들어, 디바이스(110)로부터의 출력 오디오 데이터로서) 통신하기 위한 스피치 출력 디바이스(예를 들어, 스피커)(116, 116b)를 갖는 오디오 서브시스템(116)을 더 포함한다. 도시된 예에서 사용자 디바이스(110)가 단일 오디오 캡처 디바이스(116a)를 구현하지만, 사용자 디바이스(110)는 본 개시내용의 범위를 벗어나지 않으면서 오디오 캡처 디바이스들(116a)의 어레이를 구현할 수 있으며, 이로써 어레이 내의 하나 이상의 캡처 디바이스들(116a)은 사용자 디바이스(110) 상에 물리적으로 상주하지 않을 수 있지만, 오디오 서브시스템(116)과 통신할 수 있다. (예를 들어, 하드웨어(112, 114)를 사용하는) 사용자 디바이스(110)는 스피치 인식기(200)를 사용하여 스트리밍 오디오 데이터(202)에 대해 스피치 인식 프로세싱을 수행하도록 추가로 구성된다. 일부 예들에서, 오디오 캡처 디바이스(116a)를 포함하는 사용자 디바이스(110)의 오디오 서브시스템(116)은 오디오 데이터(202)(예를 들어, 말해진 발언들(12))를 수신하고 오디오 데이터(202)를 스피치 인식기(200)와 호환가능한 디지털 포맷으로 변환하도록 구성된다. 디지털 포맷은 음향 프레임들(예를 들어, 파라미터화된 음향 프레임들), 이를테면 멜(mel) 프레임들에 대응할 수 있다. 예를 들어, 파라미터화된 음향 프레임들은 로그-멜 피터뱅크(log-mel fiterbank) 에너지들에 대응한다.
[0027] 도 1과 같은 일부 예들에서, 사용자(10)는 스피치 인식기(200)를 사용하는 사용자 디바이스(110)의 프로그램 또는 애플리케이션(118)과 상호작용한다. 사용자(10)는 오디오 데이터(202)의 레코딩을 시작하기 위해 (예를 들어, 사용자 입력을 통해) 애플리케이션(118)을 명시적으로 호출할 수 있고, 유사하게, 사용자(10)는 오디오 데이터(202)의 레코딩을 중단하도록 애플리케이션(118)에 명령할 수 있다. 예를 들어, 도 1은 사용자(10a)인 Ted가 제2 사용자(10b)인 Ted의 친구 Jane과 통신하는 것(예를 들어, 말하는 것)을 도시한다. 여기서, Ted(10a)와 Jane(10b) 사이의 스피치 발언들(12)의 대화는 사용자 디바이스(110)에서(예를 들어, 사용자 디바이스(110)의 통신 애플리케이션(118)에서) 오디오 데이터/신호들(202)로서 수신/캡처될 수 있다. 이러한 예들에서, 통신 애플리케이션(118)은 스피치 인식기(200)를 사용하여 사용자 디바이스(110)에서 캡처된 모노포닉 오디오 데이터(202)에서 Ted(10a) 및 Jane(10b) 둘 모두의 음성 입력들(12)(즉, 이들의 대화)을 트랜스크라이브한다. 여기서, 오디오 캡처 디바이스(116a)는 발언들(12)을 포함하는 오디오 데이터(202)를 캡처하고, 오디오 데이터(202)를 스피치 인식기(200)에 대한 디지털 형태(예를 들어, 음향 프레임들)로 변환한다. 스피치 인식기(200)는 통신 애플리케이션에 의해 사용자 디바이스(110)의 스크린 상에 디스플레이될 수 있는 트랜스크립트(204)를 생성하기 위해 이러한 음향 프레임들을 프로세싱한다. 도 1이 예시하는 바와 같이, 스피치 인식기(200)는 Ted(10a) 및Jane(10b)이 말한 문자들의 시퀀스로서 대화를 트랜스크라이브할 수 있다. 예를 들어, Ted(10a)가 Jane(10b)에게 "when did Steve say the Overtones are playing?"이라고 묻는 발언(12a)을 말할 때, 통신 애플리케이션(118)은 (예를 들어, 스피치 인식기(200)를 사용하여) Ted(10a)가 말한 발언(12a)을 대화의 트랜스크립트(204)에서의 프리젠테이션을 위해 대응하는 텍스트로 트랜스크라이브한다.
[0028] 이 예에서, Ted(10a)는, Steve가 말했다고 생각한 것을 추측하기 시작함으로써 자기 자신의 질문 "I thought he said..."을 팔로우한다. 동일한 인스턴스에, jane(10b)은 Ted의 질문에 대답하기 위해 생각하고 발언(12b) "I think he told me around 9pm"으로 응답한다. Ted(10a)가 자기 자신의 질문에 답하기 시작하고, Jane(10b)이 이를 예상하지 않았기 때문에, Jane(10b)과 Ted(10a)는 서로 이야기하여, 그들 둘 모두가 말하고 있는 중첩 스피치 세그먼트(206)를 형성한다. 즉, 예에서, 중첩 스피치 세그먼트(206)는, Ted(10a)가 말한 발언(12a)의 일부가 Jane(10b)이 말한 발언(12b)의 일부와 중첩하는 세그먼트를 포함한다. 일부 구성들에서, 오디오 캡처 디바이스(116a)는 모노포닉 오디오 데이터(예를 들어, 단일 채널 상의 오디오 데이터)로서 혼합된 스피치(즉, 중첩하는 스피치 세그먼트(206))를 포함하는 이러한 스피치 오디오 신호들(202)을 스피치 인식기(200)에 통신한다. 따라서, 스피치 인식기(200)는, 트랜스크립트(204)를 생성할 때, 멀티-화자 중첩 세그먼트(206)를 인식하고, 이 세그먼트(206)를, Ted(10a)가 I thought he said"라는 단어들을 말하는 한편 Jane(10b)이 "I think he told me around 9pm"이라고 대답한 것을 정확하게 식별하는 트랜스크립트(204)로 적절하게 변환한다. 도 1은 (예를 들어, 2명의 화자들(10a-b)을 갖는) 2 당사자 대화를 예시하지만, 스피치 인식기(200)의 기능은 임의의 수의 화자들로 스케일링될 수 있다.
[0029] 도시되지 않았지만, 스피치 인식기(200)의 원리들은 또한 합성 스피치와 하나 이상의 화자들(예를 들어, 사용자(들)(10)) 사이의 오디오 상호작용들에 적용가능할 수 있다. 예를 들어, 사용자 디바이스(110) 상에서 실행되는 자동화된 어시스턴트(예를 들어, 스피치-활성화 어시스턴트 애플리케이션(118))와 대화하는 사용자(10)는 "What time is the concert tonight?"라고 질문할 수 있지만, 이어서 자동화된 어시스턴트가 질문에 대답할 때 계속 말한다. 여기서, Jane의 경우와 같이, 스피치 인식기(200)는, 스피치의 콘텐츠 및/또는 합성이든 아니든, 어느 당사자가 오디오 신호(202) 내의 스피치의 소스인지를 적절하게 식별하는 트랜스크립트(204)를 생성할 수 있다. 따라서, 트랜스크립트(204)는 자동화된 어시스턴트에 의해 출력된 합성된/합성 스피치를 포함하는 임의의 오디오의 텍스트 표현을 포함하는 것을 생략할 수 있다. 대안적으로, 자동화된 어시스턴트가 가청 합성 스피치의 출력을 생성하고 있지만, 사용자 디바이스(110)의 사용자(10)가 가청 합성 스피치 출력을 중단하거나 또는 이야기하는 것이 상상가능할 수 있다. 이러한 대안에서, 스피치 인식기(200)는 (예를 들어, 대화의 트랜스크립트(204)를 형성하기 위해) 단어들의 정확한 시퀀스를 여전히 출력할 수 있다.
[0030] 도 2a 및 도 2b를 참조하면, 스피치 인식기(200)는 RNN-T(Recurrent Neural Network-Transducer) 모델 아키텍처를 포함할 수 있다. 일반적으로 말하면, RNN-T 모델은 입력 시퀀스들(예를 들어, 입력 오디오 신호들)을 타겟 시퀀스들(예를 들어, 오디오 신호들에서 말해진 단어들 또는 문자들)에 맵핑하도록 단대단으로 트레이닝될 수 있는 인코더-디코더 프레임워크에 대응하는 신경 네트워크 모델이다. 즉, (예를 들어, 실수 값 벡터들의) 입력 시퀀스가 주어지면, RNN-T 모델은 라벨들의 타겟 시퀀스를 예측하려고 시도한다. 여기서, 입력 시퀀스는 로그-멜 필터뱅크 에너지 특징들 또는 다른 신경 네트워크 인코딩된 특징들과 같은 미가공 특징 벡터들일 수 있다.
[0031] 종래의 RNN-T 모델 아키텍처에서, RNN-T 모델은 인코더 네트워크 및 디코더 네트워크를 포함한다. 여기서, 인코더 네트워크는 오디오 인코더(210) 및 라벨 인코더(220)를 포함한다. 오디오 인코더(210)는 음향 특징 벡터들
Figure pct00001
을 수신하는 AM(acoustic model)과 유사한 인코더(예를 들어, LSTM(long-short term memory) 신경 네트워크)이다. 예를 들어, 오디오 인코더(210)는 복수의 LSTM 계층들(예를 들어, 5개 내지 7개의 계층들)을 포함한다. 라벨 인코더(220)는 LM(language model)과 매우 유사하게 기능하는 인코더(예를 들어, 또한 LSTM 신경 네트워크)이다. 라벨 인코더(220)는 이전의 시간 단계 동안 모델(200)에 의해 출력된 이전의 자소 라벨 예측 yu-1을 입력(222)으로서 수용하고, 출력(224)으로서 출력 벡터 pu를 컴퓨팅한다. 여기서, 라벨 인코더(220)는 RNN-T 모델의 출력 심볼들에 걸쳐 순환 예측 네트워크로서 작용할 수 있다. 특정 시간 프레임 t에서 (예를 들어, 오디오 신호 입력들(202)로서 도시된) 음향 프레임 입력 xt 및 (예를 들어, 라벨 인코더(220)에 대한 입력(222)으로서 도시된) 라벨 yu의 각각의 조합에 대해, 오디오 인코더(210)는 인코더 임베딩 e를 출력(212)으로서 출력하고 라벨 인코더(220)는 예측 임베딩 pu를 예측 출력(224)으로서 생성한다. 도 2a의 멀티-화자 스피치 인식기(200)에 도시되지 않지만, 종래 RNN-T 모델에서, 이들 출력들(212, 224) 각각은 소프트맥스 계층(240)을 포함하는 디코더에 공급될 출력들(232)로서 출력 로짓(logit)들 j를 컴퓨팅하기 위해 조인트 네트워크(230)(예컨대, 피드 포워드 신경 네트워크)에 전달된다. 디코더(240)는 음향 프레임 입력 xt 및 라벨 yu의 각각의 조합에 대한 출력 타겟들의 세트에 걸친 확률 분포를 정의한다. 소프트맥스 계층은 디코더(240)의 출력을 수신하고 가장 높은 확률과 연관된 출력 타겟 라벨 yu를 선택할 수 있다. 따라서, RNN-T가 추가적인 외부 언어 모델의 도움 없이 자소들을 직접 출력하도록 구성될 수 있기 때문에, RNN-T는 종종 엔드-투-엔드 모델로서 설명된다.
[0032] RNN-T에 대한 조건부 확률 분포는 다음과 같이 표현될 수 있다:
Figure pct00002
(1)
여기서 xi는 특징 벡터(예를 들어, 각각의 프레임 1...T에 대한 80-차원 로그-멜 필터뱅크 특징들의 벡터)이다. 길이 U의 실측-자료 라벨 시퀀스는 y1, y2, ...yu로 표기되고, 여기서
Figure pct00003
이다(S는 자소 심볼들의 세트임). 일부 예들에서, 특수 심볼 y0 =<sos>는 시퀀스의 시작을 표시한다. 공식화의 편의를 위해, S는 추가적인 공백 기호 <b>로 증강되고, 모든 가능한 정렬들의 세트는 다음과 같이 설명된다:
Figure pct00004
, 여기서,
Figure pct00005
는 <b>가 제거될 때
Figure pct00006
가 y와 동일하도록 모든 라벨 시퀀스들
Figure pct00007
를 표현한다. 적소에 있는 이러한 표기로, 음향들 P(y|x)가 주어지면 라벨링의 조건부 확률은 정렬들에 대해 단순히 합산함으로써 획득된다. 정렬에서 일부 라벨을 볼 확률
Figure pct00008
는 시간 t까지의 음향 특징들 및 지금까지 방출된 넌-블랭크(non-blank) 라벨들의 이력
Figure pct00009
에 대해 조건부이다. 이루어진 유일한 독립 가정은, 시간 t까지의 부분 정렬의 확률
Figure pct00010
이 미래의 프레임들로부터의 음향 특징들에 의존하지 않는다는 것이다. 이는 스트리밍 방식으로 추론을 가능하게 하여, 컴퓨테이션을 시작하기 전에 모든 오디오를 대기할 필요성을 완화시킨다. 이는 실행을 가속시킬 뿐만 아니라, 오디오가 프로세싱되고 있을 때 인식 결과들을 생성한다.
[0033] 도 2a 및 도 2b를 추가로 참조하면, 스피치 인식기(200)는 종래의 RNN-T 모델의 변형 또는 수정된 버전으로서 구성된다. 일부 예들에서, 오디오 인코더(210)의 출력(212)을 조인트 네트워크(230)에 전달하는 대신에, 스피치 인식기(200)는 마스킹 모델(250)을 사용하여, 오디오 인코더(210)로부터 출력된 인코딩된 임베딩들(212)을 마스킹한다. 여기서, 오디오 인코더(210)로부터 출력된 인코딩된 오디오 임베딩들(212)은 모노포닉 오디오 신호(202)(예를 들어, 오디오 신호(202)의 특징들)를 인코딩한다. 즉, 오디오 인코더(210)는 중첩 스피치 세그먼트(206)를 포함하는 모노포닉 오디오 신호(202)를 인코딩하는 오디오 임베딩(212)을 생성한다. 예를 들어, 오디오 신호(202)는 2개 이상의 화자들(예를 들어, 제1 및 제2 사용자들(10a-b))로부터의 단일-채널(예를 들어, 모노포닉) 믹싱된 오디오의 형태이다. 오디오 인코더(210)로부터 출력된 인코딩된 임베딩들(212)을 마스킹함으로써, 마스킹 모델(250)은 모노포닉 오디오 신호(202)에서 각각의 화자(10)의 특징들을 분리하도록 기능한다.
[0034] 일부 구현들에서, 오디오 인코더(210)로부터 출력된 오디오 임베딩들(212)은 마스킹 모델(250)에서 어느 화자를 마스킹할지를 나타내기 위해 (예를 들어, 프레임 단위로) 고정 입력(252)과 연접된다. 고정 입력(252)은 각각의 프레임에서 오디오 임베딩(212)과 연관된 화자(10)를 표시하는 라벨에 대응한다. 여기서, 스피치 인식기(200)는 (예를 들어, 출력(212) 생성 동안) 오디오 인코더(210)에서 또는 마스킹 모델(250)의 초기 단계로서 연접을 수행할 수 있다. 도 2a에서, 주어진 프레임에 대한 오디오 임베딩(212)이 제1 화자(10a)에 할당된 고정 입력(252)(예를 들어, 제로(0)의 고정 입력으로서 도시됨)과 연관될 때, 마스킹 모델(250)은 제1 화자(10a)에 대한 개개의 마스킹된 입력(254, 254a)을 생성한다. 반대로, 주어진 프레임에 대한 오디오 임베딩(212)이 제2 화자(10b)에 할당된 고정 입력(252)(예를 들어, 일(1)의 고정 입력으로서 도시됨)과 연관될 때, 마스킹 모델(250)은 제2 화자(10b)에 대한 개개의 마스킹된 입력(254, 254b)을 생성한다. 달리 말하면, 고정 입력(252)은 오디오 인코더(210)로부터 출력된 인코딩된 임베딩(212)의 각각의 프레임에 대해 마스킹 모델(250)이 어느 화자를 마스킹해야 하는지를 표시한다.
[0035] 도 2a 및 도 2b와 같은 일부 예들에서, 스피치 인식기(200)는 각각의 화자(10)에 대한 각각의 브랜치(208)를 포함한다. 각각의 화자(10)에 대한 개개의 브랜치(208)를 이용하여, 각각의 브랜치(208)는 특정 화자(10)가 말한 오디오에 대응하는 심볼들(예를 들어, 문자들 또는 단어들)의 개개의 출력 시퀀스를 생성할 수 있다. 2명의 화자들(10a, 10b)이 서로 대화하고 있는 도 1의 예를 계속하면, 도 2a는 제1 화자(10a)에 대한 제1 브랜치(208a) 및 제2 화자(10b)에 대한 제2 브랜치(208b)를 포함하는 스피치 인식기를 도시한다. 반면에, 도 2b는 n개의 브랜치들(208)을 갖는 스케일러블 스피치 인식기(200)를 도시한다.
[0036] 도 2a를 참조하면, 제1 화자(10a)에 대한 제1 브랜치(208a)는 제1 화자(10a)에 전용인 제1 라벨 인코더(220, 220a), 제1 조인트 네트워크(230, 230a) 및 제1 디코더(240, 240a)를 포함하는 한편, 제2 화자(10b)에 대한 제2 브랜치(208b)는, 제2 화자(10a)에 전용인 제2 라벨 인코더(220, 220b), 제2 조인트 네트워크(230, 230b) 및 제2 디코더(240, 240b)를 포함한다. 아래에서 더 상세히 설명되는 바와 같이, 제1 디코더(240a)는 제1 화자(10a)에 대한 심볼들의 출력 시퀀스(242, 242a)를 생성하도록 구성되고(예를 들어, 제1 화자(10b)가 말한 발언(12a)에 대응하는 오디오 신호(202)의 세그먼트를 트랜스크라이브함), 제2 디코더(240b)는 제2 화자(10b)가 말한 오디오에 대응하는 심볼들의 출력 시퀀스(242, 242b)를 생성하도록 구성된다(예를 들어, 제2 화자(10b)가 말한 발언(12b)에 대응하는 오디오 신호(202)의 세그먼트를 트랜스크라이브함).
[0037] 각각의 잠재적인 상이한 화자(10)에 전용되는 별개의 브랜치(208)를 가짐으로써, 스피치 인식기(200)는 몇몇 이점들을 가질 수 있다. 하나의 이러한 이점은 스피치 인식기(200)가 유사한 컴포넌트들을 함께 공동으로 트레이닝할 수 있다는 것일 수 있다. 예를 들어, 트레이닝 프로세스(300)(도 3a) 동안, 라벨 인코더들(220) 전부, 조인트 네트워크들(230) 전부, 및/또는 소프트 맥스 계층들(240) 전부가 개별적으로가 아니라 함께 트레이닝될 수 있다.
[0038] 다른 이점은, 오디오 인코더(210)가 믹싱된 모노포닉 오디오 신호(202)를 수신하기 때문에, 오디오 인코더(210)가 스피치 인식기(200)의 각각의 브랜치(208)에 대해 복제될 필요가 없다는 것일 수 있다. 오히려, 이러한 브랜치형 구조에서, 오디오 인코더(210)는 마스킹 모델(250)과 함께 입력들을 스피치 인식기(200)의 각각의 브랜치(208)에 피드하도록 중앙집중형 방식으로 기능할 수 있다. 예를 들어, 각각의 브랜치(208)에 관련된 개개의 마스킹된 오디오 임베딩들(254, 254a-b)(예를 들어, 제1 브랜치(208a)에 대한 개개의 마스킹된 임베딩들(254a) 및 제2 브랜치(208b)에 대한 개개의 마스킹된 오디오 임베딩들(254b))을 생성하기 위한 단일 마스킹 모델(250)이 도 2a에 도시되어 있다. 즉, 브랜치형 구조의 경우, 스피치 인식기(200)는 마스킹된 오디오 임베딩들(254)을, 하나의 화자(예를 들어, 제1 화자(10a) 또는 제2 화자(10b) 중 어느 하나)에만 속하는 오디오 임베딩들(212)로서 취급할 수 있다. 마스킹된 모델(250)이 각각의 화자(10a, 10b)에 대한 개개의 마스킹된 오디오 임베딩(254a, 254b)을 생성하면, 스피치 인식기(200)는 각각의 브랜치(208)에 대한 개개의 출력 시퀀스(242)를 생성하기 위해 개개의 마스킹된 임베딩(254) 상의 각각의 브랜치(208)로부터의 조인트 네트워크(230)를 별개로 적용할 수 있다. 일부 구성들에서, 스피치 인식기(200)는 화자들(10) 사이의 대화에 대한 트랜스크립트(204)를 정의하는 문자들 및/또는 단어들의 시퀀스를 형성하기 위해 각각의 브랜치(208)의 출력 시퀀스(242)를 조합한다. 각각의 브랜치(208)와 개개의 화자(10)의 연관에 기초하여, 트랜스크립트(204)는 어느 화자가 무엇을 말했는지를 표시하는 라벨들을 포함할 수 있다. 트랜스크립트(204)는 또한, 누가 언제 무엇을 말했는지를 표시하는 타임 스탬프들을 포함할 수 있다.
[0039] 스피치 인식기(200)의 브랜치형 구조는 또한, 라벨 인코더(220)가 브랜치(208)와 연관된 주어진 화자(10)에 대한 라벨들을 생성(예를 들어, 예측)하도록 각각의 브랜치(208)에 대한 전용 라벨 인코더(220)를 허용할 수 있다. 즉, 제1 화자 브랜치(208a)의 제1 라벨 인코더(220a)는 제1 화자(10a)에 대한 라벨들 pu1(224, 224a)을 예측한다. 마찬가지로, 제2 화자 브랜치(208b)의 제2 라벨 인코더(220b)는 제2 화자(10b)에 대한 라벨들 pu2(224, 224b)를 예측한다.
[0040] 도 2a는 2 브랜치 접근법을 개시하지만, 스피치 인식기(200)는 다수의 잠재적 중첩 화자들(10)을 수용하도록 수정될 수 있다. 2개 초과의 중첩 화자들(10)에 대해, 스피치 인식기(200)는 몇몇 방식들로 적응될 수 있다. 고정 입력 접근법에서, 고정 입력(252)은 각각의 잠재적 화자(10)에 할당될 수 있어서, 마스킹 모델(250)은 다수의 화자들(10)을 지원하도록 스케일링할 수 있다. 즉, 3명의 화자들(10, 10a-c)과의 대화에서, 스피치 인식기(200)는 제1 화자(10a)에 대한 고정 입력(252)으로서 제1 화자(10a)에 제로(0)를 할당하고, 제2 화자(10b)에 대한 고정 입력(252)으로서 제2 화자(10b)에 일(1)을 할당하고, 제3 화자(10c)에 대한 고정 입력(252)으로서 제3 화자(10c)에 이(2)를 할당한다. 추가적으로 또는 대안적으로, 도 2b는 스피치 인식기(200)가 단순히 고정 입력들(252)의 수보다는 마스킹 모델들(250)의 수를 스케일링할 수 있음을 예시한다. 예를 들어, 스피치 인식기(200)는 각각의 화자(10)에 대한 마스킹 모델(250)을 포함한다. 일부 구현들에서, 스피치 인식기(200)는, (예를 들어, 1-대-1 방식으로) 각각의 화자(10)에 대한 마스킹 모델(250)을 포함하는 것이 아니라, 다수의 화자들(10)에 대응하는 인코더 임베딩(212)을 단일 스피커(10)에 대응하는 마스킹된 오디오 임베딩(254)으로 변환하는 프로세싱을 분산시키기 위해 하나 초과의 마스킹 모델(250)을 포함한다.
[0041] 일부 구성들에서, 인코딩된 오디오 임베딩(212)의 프레임과 연관된 고정 입력(252) 대신에, 마스킹 모델(250)은 인코딩된 오디오 임베딩(212)의 프레임과 연관된 화자 임베딩을 수신한다. 화자 임베딩은 특정 화자에 대한 특징들을 식별할 수 있다. 예를 들어, 화자 임베딩은 i-벡터들 또는 d-벡터들을 포함할 수 있다. 화자 임베딩 접근법의 경우, 마스킹 모델(250)은 특정 화자 임베딩의 수신에 기초하여 화자들을 정확하게 마스킹하는 방법을 학습하기 위해 화자 임베딩 예들에 대해 트레이닝될 수 있다. 예를 들어, 추론 동안, 마스킹 모델(250)이 제1 화자(10a)에 대한 화자 임베딩을 수신할 때, 마스킹 모델(250)은 화자 임베딩들에 대해 트레이닝되었고, 화자 임베딩과 연관된 화자(10)에 대응하는 인코딩된 오디오 임베딩(212)의 부분을 결정하기 위해 수신된 화자 임베딩을 사용한다. 고정 입력 접근법과 매우 유사하게, 마스킹된 모델(250)은 화자 임베딩 및 인코딩된 오디오 임베딩들(212)에 기초하여 단일 화자(10)에 대응하는 마스킹된 임베딩들(254)을 생성한다. 거기로부터, 스피치 인식기(200)는 이러한 마스킹된 임베딩들(254)을, 단일 화자(10)에 대응하는 스피치 인식기(200)의 개개의 브랜치(208)에 전달한다.
[0042] 일부 예들에서, 스피치 인식기(200)는 계층당 1024개(예를 들어, 어느 한 방향에 대해 512개)의 유닛들을 갖는 양방향 LSTM의 몇몇 계층들을 갖는 오디오 인코더(210)를 포함한다. 예를 들어, 오디오 인코더(210)는 5 계층 LSTM 또는 7 계층 LSMT일 수 있다. 라벨 인코더(220)는 계층당 1024개의 유닛들을 갖는 2 계층 단방향 LTSM일 수 있다. 이러한 예들에서, 스피치 인식기(200)에 대한 출력 어휘는 85개의 자소들일 수 있다. 마스킹 모델(250)은 계층당 1024개(예를 들어, 어느 한 방향으로 512개)의 유닛들을 갖는 2 계층 LSTM일 수 있다.
[0043] 도 3a 내지 도 3d를 참조하면, E2E 모델로서 스피치 인식기(200)는 먼저, 주어진 입력 시퀀스에 기초하여 타겟 출력 시퀀스를 생성할 수 있도록 트레이닝된다. 여기서, 스피치 인식기(200)에 대한 트레이닝 프로세스(300)는 스테이지들에서 발생할 수 있다. 도 3a와 같은 일부 구현들에서, 트레이닝 프로세스(300)는 제1 트레이닝 스테이지에서 마스킹 모델(250) 이외에 스피치 인식기(200)의 컴포넌트들 모두를, 마치 이들 컴포넌트들이 개별 브랜치들(208) 대신에 단일 RNN-T 모델인 것처럼 트레이닝한다. 예를 들어, 단일 RNN-T 모델은 먼저 트레이닝 예들(302)에 기초하여 트레이닝되고, 이어서 RNN-T 모델은 스피치 인식기(200)를 형성하도록 브랜치들(208)로 분할된다. 스피치 인식기(200)가 형성되면, 트레이닝 프로세스의 제2 스테이지(예를 들어, 도 3b 내지 도 3d에 도시됨)는 마스킹 모델(250)을 트레이닝하도록 진행된다. 여기서, 마스킹 모델(250)의 트레이닝은 또한, 스피치 인식기(200)의 브랜치들(208)에 대한 미세-튜닝 트레이닝을 수행할 수 있다.
[0044] 도 3b를 참조하면, 스피치 인식기(200)를 트레이닝할 때, 트레이닝 프로세스(300)는 추론 동안 스피치 인식기(200)의 정확도를 보장하기 위해 하나 이상의 타입들의 손실 함수들(310)을 사용할 수 있다. 이러한 손실 함수들(310)은 더 종래의 RNN-T 손실(312), 마스킹 손실(314), 임베딩 손실(316) 및/또는 mWER(minimum word error rate) 손실(318)을 포함할 수 있다. 스피치 인식기(200)의 입도 또는 설계에 따라, 스피치 인식기(200)는 이러한 타입들의 손실 함수들(310) 중 임의의 하나 또는 이들의 조합을 사용하여 트레이닝될 수 있다. 종래의 RNN-T 손실(312)은 일반적으로 모든 트레이닝 예들에 걸쳐 입력 시퀀스가 주어지면 타겟 라벨 시퀀스의 확률에 대응하는 네거티브 로그 확률들의 합으로서 정의된다. 트레이닝 동안, 트레이닝 프로세스(300)는, 스피치 인식기(200)를 형성하기 전에 제1 트레이닝 스테이지 동안 그리고/또는 브랜치들(208)을 갖는 스피치 인식기(200)에 대한 제2 트레이닝 스테이지 동안 브랜치 기반으로 RNN-T 손실(312)을 사용할 수 있다. 예를 들어, 제2 트레이닝 스테이지에서, RNN-T 손실(312)을 최소화하는 것은 스피치 인식기(200)의 각각의 브랜치(208)에 대한 트레이닝 목적이다.
[0045] 도 3c 및 도 3d를 참조하면, 트레이닝 프로세스(300)의 제2 스테이지는 마스킹 모델(250)을 트레이닝한다. 제2 스테이지에서, 오디오 인코더(210)는 중첩 스피치 영역 또는 세그먼트(306)를 갖는 트레이닝 모노포닉 오디오 신호에 대응하는 트레이닝 예(302)를 수신하고, 트레이닝 오디오 신호를 인코딩된 오디오 임베딩(212)의 프레임들로 변환한다. 일부 예들에서, 트레이닝 예(302)는 시뮬레이션된 오디오 신호에 대응한다. 여기서, 시뮬레이션된 오디오 신호는 특정 파라미터들을 이용하여 생성된 오디오 신호를 지칭한다. 이는, 트레이닝 예 내에 포함된 중첩 스피치 세그먼트에 관한 정보가 알려지지 않을 수 있는 실제 오디오 스피치 세그먼트들의 트레이닝 예들을 사용하는 트레이닝 프로세스와 대조적이다. 시작 시간 및 종료 시간과 같은 중첩 스피치 세그먼트(또는 영역)가 발생할 때에 관한 알려진 정보를 가짐으로써, 스피치 인식기(200)(예를 들어, 마스킹 모델(250))는 트레이닝 동안 이러한 추가적인 파라미터들을 학습함으로써 트레이닝 프로세스(300)를 복잡하게 할 필요가 없다.
[0046] 시뮬레이션된 오디오 신호로서, 트레이닝 예(302)는 제1 화자(10a)가 말하고 있는 오디오의 제1 세그먼트(304, 304a), 제2 화자(10b)가 말하고 있는 오디오의 제2 세그먼트(304, 304b) 및 제1 세그먼트(304a)가 제2 세그먼트(304b)와 중첩하는 중첩 영역(306)을 포함할 수 있다. 예를 들어, 도 3c 및 도 3d는 트레이닝 예(302)가 10초 길이인 예들을 예시하며, 제1 세그먼트(304a)는 트레이닝 예(302)의 처음 7초에 대응한다. 트레이닝 예(302)의 제2 세그먼트(304b)는 5 초에서 시작하여 트레이닝 예(302)의 10 초까지 연장된다. 여기서, 중첩 영역(306)은 트레이닝 예(302)의 5 초부터 트레이닝 예(302)의 7 초까지 발생한다.
[0047] 일부 구성들에서, 각각의 브랜치(208)에 대한 독립적인 RNN-T 손실들(312)의 사용은 하나의 브랜치(208)에 대한 RNN-T 손실(312)이 그 브랜치(208)에 대응하는 화자에 대한 라벨(224)을 다른 브랜치(208)에 속하는 오디오에 정렬하게 할 수 있다(화자들에 대한 라벨들을 오정렬함). 학습 오정렬을 방지하기 위해, 트레이닝 프로세스(300)는, 시뮬레이션된 트레이닝 예(302)에 대해, 중첩 영역(306)의 알려진 시작 시간 SO 및 중첩 영역(306)의 알려진 종료 시간 EO로 대문자로 표시된 마스킹 손실(314)을 사용한다. 이들 알려진 타이밍 파라미터들 SO, EO를 가짐으로써, 트레이닝 프로세스(300)는, 화자(10)가 말하고 있을 때 그리고 또한 화자(10)가 말하고 있지 않을 때를 표시하는, 각각의 화자(10)에 대한 개개의 마스킹된 오디오 임베딩(254a, 254b)을 생성한다. 화자(10)가 말하고 있지 않은 개개의 마스킹된 오디오 임베딩(254)에 표시를 포함함으로써, 표시는 RNN-T 손실(312)이 화자들(10)에 대한 라벨들을 오정렬하는 것을 방지한다. 즉, 이전에 화자(10)가 말하고 있거나 또는 말하고 있지 않다는 표시가 마스킹된 오디오 임베딩(254)에 없으면, 스피치 인식기(200)는 제2 화자(10b)가 말하고 있지 않았던 경우에도 제1 화자(10a)로부터의 단어들을 제2 화자(10b)의 오디오 프레임들에 정렬하도록 학습할 수 있다. 마스킹된 임베딩(254)이 이러한 표시를 포함할 때, 스피치 인식기(200)는 이러한 오정렬 에러를 만들지 않도록 학습한다.
[0048] 일부 구현들에서, 트레이닝 동안, 주어진 화자(10)에 대한 개개의 마스킹된 임베딩(254)은 트레이닝 예(302)의 상이한 세그먼트들(304) 동안 어느 화자(10)가 말하고 있는지를 결정함으로써, 화자(10)가 언제 말하고 있는지의 표시를 포함한다. 예를 들어, 특정 화자(10)에 대해, 트레이닝 프로세스(300)는, 그 특정 화자(10)가 중첩 영역(306)의 알려진 시작 시간 SO 이전에 말하고 있었는지 여부 및 그 특정 화자(10)가 중첩 영역(306)의 알려진 종료 시간 E0 이후에 말하고 있었는지 여부를 결정한다. 중첩 영역(306) 이전 및 이후 둘 모두에서 동일한 화자(10)가 말하고 있지 않도록 트레이닝 예(302)가 구성될 때, 트레이닝 프로세스(300)는 특정 화자(10)가 중첩 영역(306)의 알려진 시작 시간 SO 이전에 말하고 있었는지 또는 중첩 영역(306)의 알려진 종료 시간 E0 이후에 말하고 있었는지를 결정한다. 여기서, 트레이닝 동안, 마스킹 모델(250)은, 화자(10)가 말하고 있지 않은 트레이닝 예(302)의 세그먼트(304)에 개개의 마스킹 손실(314)을 적용하도록 교시된다. 다르게 말하면, 트레이닝 예(302)에서 화자(10)가 알려진 시작 시간 SO 이전에 말하고 있었을 때, 마스킹 모델(250)은 그 화자(10)에 대한 개개의 마스킹된 오디오 임베딩(254)에, 트레이닝 예(302)의 알려진 종료 시간 EO 이후의 개개의 마스킹 손실(314)을 적용한다(또는 그 반대의 경우도 마찬가지임). 마스킹 손실(314)은 화자(10)의 임의의 단어가 알려진 종료 시간 EO 이후에 정렬되는 것을 방지하기 위해, 알려진 종료 시간 EO 이후에 모든 마스킹된 활성화들을 0으로 만들려고 시도한다. 일부 예들에서, 마스킹 손실(314)은 마스킹된 오디오 임베딩(254)의 차이들의 제곱을 최소화하는 L2 손실 함수에 대응한다.
[0049] 구체적으로 도 3c를 참조하면, 트레이닝 동안, 마스킹 모델(250)은, 제1 세그먼트(304a)가 말하는 제1 화자(10a)에 대응한다는 것을 식별하고, 이 세그먼트(304a)에 대한 개개의 마스킹된 오디오 임베딩(254a)을 생성한다. 마스킹 모델(250)은 또한, 제1 화자(10a)가 제2 세그먼트(304b) 동안 말하고 있지 않았음을 식별하고, 제1 화자(10a)에 대한 마스킹 임베딩(254a)의 일부로서 포함하도록 제1 마스킹 손실(314, 314a)을 적용한다. 이어서, 마스킹 모델(250)은 제1 마스킹 손실(314a)을 갖는 마스킹된 임베딩(254a)을 제1 화자 브랜치(208a)에 통신한다. 유사하게, 마스킹 모델(250)은, 제2 세그먼트(304b)가 말하는 제2 화자(10b)에 대응한다는 것을 식별하고, 이 세그먼트(304b)에 대한 개개의 마스킹된 오디오 임베딩(254b)을 생성한다. 마스킹 모델(250)은 또한, 제2 화자(10b)가 제1 세그먼트(304a) 동안 말하고 있지 않았음을 식별하고, 제2 화자(10b)에 대한 개개의 마스킹 임베딩(254b)의 일부로서 포함하도록 제2 마스킹 손실(314, 314b)을 적용한다. 이어서, 마스킹 모델(250)은 마스킹 손실(314b)을 갖는 개개의 마스킹된 임베딩(254b)을 제2 화자 브랜치(208b)에 통신한다.
[0050] 도 3d와 같은 일부 구성들에서, 트레이닝 프로세스(300)는 추가적으로 또는 대안적으로 임베딩 손실(316)을 포함한다. 구체적으로, 이러한 구성들에서, 트레이닝 프로세스(300)는 제1 화자(10a)에 대해 생성된 마스킹된 오디오 임베딩(254a) 및 제2 화자(10b)에 대해 생성된 개개의 마스킹된 오디오 임베딩(254b) 각각에 임베딩 손실(316)을 적용한다. 임베딩 손실(316)은 각각의 화자(10)에 대해 생성된 개개의 마스킹된 오디오 임베딩(254) 전체가 그 화자(10)가 말한 오디오에만 대응하게 강제하도록 구성된다. 즉, 마스킹 모델(250)은 각각의 오디오 프레임에서 (예를 들어, 인코딩된 임베딩(212)으로부터) 인코더 특징들을 분리해야 하기 때문에, 임베딩 손실(316)은 각각의 마스킹된 임베딩(254)의 특징들이 중첩 영역(306) 내부 및 외부 둘 모두에서 동일한 화자 임베딩을 유지함을 보장한다. 예를 들어, 트레이닝 프로세스(300)는 중첩 영역(306) 내부 및 외부 둘 모두의 각각의 화자(10a, 10b)에 대한 개개의 마스킹된 임베딩들(254a, 254b)에 대한 평균 화자 임베딩 벡터를 컴퓨팅한다. 화자 임베딩 손실(316)은 다음과 같이 표현될 수 있다:
Figure pct00011
(2)
여기서 I0은 중첩 영역(306) 내부의 제1 화자(10a)에 대한 개개의 마스킹된 오디오 임베딩(254a)에 대해 컴퓨팅된 평균 화자 임베딩이고, I1은 중첩 영역(306) 내부의 제2 화자(10b)에 대한 개개의 마스킹된 오디오 임베딩(254b)에 대해 컴퓨팅된 평균 화자 임베딩이고, O0은 중첩 영역(306) 외부의 제1 화자에 대한 개개의 마스킹된 오디오 임베딩(254a)에 대해 컴퓨팅된 평균 화자 임베딩이고, O1은 중첩 영역(306) 외부의 제2 화자(10b)에 대한 개개의 마스킹된 오디오 임베딩(254b)에 대해 컴퓨팅된 평균 화자 임베딩이고, 코사인은 코사인 유사성을 표기한다. 따라서, 트레이닝 프로세스(300)는 I0, I1, O0, 및 O1의 함수에 기초하여 임베딩 손실(316)을 생성할 수 있다.
[0051] 도 3d는, 임베딩 손실(316)이, 각각의 화자(10)에 대해 생성된 개개의 마스킹된 오디오 임베딩(254) 전체가 그 화자(10)가 말한 오디오에만 대응하는 것을 보장하도록 돕는 손실 함수(310)인 상황을 예시한다. 여기서, 도 3d는 마스킹 모델(250)이 중첩 영역(306) 외부의 오디오 신호(202)의 부분들에 대해 화자(10)를 정확하게 식별(예를 들어, 제1 화자(10a)에 대해 S1 및 제2 화자(10b)에 대해 S2로 도시됨)하지만, 중첩 영역(306) 내의 화자(10)를 부정확하게 식별할 수 있는 것을 도시한다. 예를 들어, 도 3d는 마스킹 모델(250)이 트레이닝 프로세스(300) 동안 생성할 수 있는 마스킹된 임베딩들(254, 254a-d)의 상이한 치환들을 도시한다. 이 예에서, 마스킹 모델(250)은 제2 화자(10b)의 스피치(예를 들어, 제2 마스킹된 임베딩(254b)으로서 라벨링됨)에 대응하는 중첩 영역(306)을 갖는 제1 화자(10a)에 대한 마스킹된 임베딩(254) 및 제1 화자(10b)의 스피치(예를 들어, 제4 마스킹된 임베딩(252d)으로서 도시됨)에 대응하는 중첩 영역(306)을 갖는 제2 화자(10b)에 대한 마스킹된 임베딩(254)을 생성할 수 있다. 중첩 영역(206)이 멀티-화자 스피치 인식에 대한 임계 영역이기 때문에, 트레이닝 프로세스(300)는, 이러한 타입의 상호-화자 임베딩이 발생하는 것을 방지하도록 마스킹 모델(250)을 트레이닝하기 위해 임베딩 손실(316)을 사용할 수 있다. 일부 구현들에서, 트레이닝 프로세스(300)는 각각의 마스킹된 임베딩(254)(예를 들어, 4개의 마스킹된 임베딩들(254a-d))에 대해 중첩 영역(306) 내부(I로 지정됨)에 대한 평균 화자 임베딩 및 중첩 영역(306) 외부(O로 지정됨)에 대한 평균 화자 임베딩을 컴퓨팅하고, 임베딩 손실(316)은 단일 화자(10)로부터의 스피치에 완전히 대응하는 마스킹된 임베딩(254)을 표시한다. 도 3d에서, 손실 함수(310)로서 임베딩 손실(316)을 사용하면, 임베딩 손실(316)은, 제1 마스킹된 임베딩(254a)이 제1 화자(10a)로부터의 스피치에 완전히 대응하고, 제4 마스킹된 임베딩(254d)이 제2 화자(10b)로부터의 스피치에 완전히 대응한다는 것을 식별할 수 있다. 이어서, 이러한 마스킹된 임베딩들(254a, d) 둘 모두는 정확한 브랜치들(208)로 전달된다.
[0052] 트레이닝 프로세스(300)가 스피치 인식기(200)의 스피치 인식을 최적화하기 위해 사용할 수 있는 다른 손실 함수(310)는 단어 에러 레이트 손실(318)이다. 일반적으로 말하면, 낮은 레이턴시로 동작하는 스피치 인식기(200)에 추가하여, 스피치 인식기(200)는 또한 스피치를 인식할 때 정확할 필요가 있다. 종종, 스피치 인식을 수행하는 모델들의 경우, 모델의 정확도를 정의할 수 있는 메트릭은 WER(word error rate)이다. WER은 실제로 발화된 단어들의 수와 비교하여 얼마나 많은 단어들이 변경되었는지의 척도를 지칭한다. 일반적으로, 이러한 단어 변화들은 치환들(즉, 단어가 대체될 때), 삽입들(즉, 단어가 추가될 때) 및/또는 삭제들(즉, 단어가 생략될 때)을 지칭한다. 예시하자면, 화자는 "car"라고 말하지만, ASR 시스템은 "car"라는 단어를 "bar"로 트랜스크라이브한다. 이것은 음성적 유사성으로 인한 치환의 예이다. 다른 ASR 시스템들과 비교하여 ASR 시스템의 능력을 측정할 때, WER은 다른 시스템 또는 일부 베이스라인에 대한 개선 또는 품질 능력의 일부 측정치를 표시할 수 있다. 따라서, 트레이닝 예(302)는 제1 화자(10a)가 말한 오디오의 제1 세그먼트(304a)에 대응하는 제1 실측 자료 트랜스크립트 및 제2 화자(10b)가 말한 오디오의 제2 세그먼트(304a)에 대응하는 제2 실측 자료 트랜스크립트를 포함할 수 있다. 여기서, 트레이닝 프로세스(300)는 제1 및 제2 실측 자료 변환들을 사용하여 WER을 최소화한다.
[0053] 스피치 인식기(200)가 추론 동안 동작할 때, 스피치 인식기(200)는 n개의 출력 시퀀스들(242, 242a-n)을 생성하며, 여기서 각각의 출력 시퀀스(242)는 특정 화자(10)에 대한 트랜스크립트(204)에 대응한다. 2개의 화자들(10a-b)의 경우, 제1 디코더(240a)는 제1 화자(10a)에 대한 출력 시퀀스(242a)를 생성하고, 제2 디코더(240b)는 제2 화자(10b)에 대한 출력 시퀀스(242b)를 생성한다. 트레이닝 동안, 트레이닝 출력 시퀀스들(242)의 정확도는, 확률적 변화도 하강을 사용하여 WER을 최소화하기 위해, 트레이닝 예(302)에 대한 전술된 실측 자료 트랜스크립트들과 비교될 수 있다. 즉, 각각의 트레이닝 예(302)는 트레이닝 예(302)의 각각의 화자에 대한 실측 자료 트랜스크립트와 연관될 수 있다. 그러나, 어떤 실측-자료 트랜스크립트가 어느 출력 시퀀스(242)에 대응하는지가 알려져 있지 않을 수 있기 때문에, 두 가능성들 모두에 대해 WER이 결정될 수 있다. 일부 예들에서, WER 손실(318)은 모든 가능성들 중에서 최소 WER에 대응하는 스코어로 표현될 수 있다. 2개의 화자들(10a-b)에 대한 에러는 다음과 같이 표현될 수 있다:
Figure pct00012
(3)
여기서, r1은 제1 실측 자료 트랜스크립트이고, r2는 제2 실측 자료 트랜스크립트이고, h1은 제1 화자(10a)에 대한 제1 예측된 출력 시퀀스(242a)이고, h2는 제2 화자(10b)에 대한 제2 예측된 출력(242b)이고, Err(h,r)은 기준 트랜스크립트 r과 가설 h 사이의 편집 거리 에러들의 수를 컴퓨팅한다. 이러한 에러에 기초하여, WER은 다음과 같이 표현될 수 있다:
Figure pct00013
(4)
여기서 N(r)은 기준 트랜스크립트 r의 단어들의 수이다.
[0054] 도 4는 엔드-투-엔드 멀티-토커 중첩 스피치 인식의 방법(400)에 대한 동작들의 예시적인 배열의 흐름도이다. 방법(400)은 손실 함수(310)를 이용하여 스피치 인식 모델(200)을 트레이닝한다. 컴퓨팅 시스템(500)(도 5)은, 데이터 프로세싱 하드웨어(510)(도 5), 및 데이터 프로세싱 하드웨어(510)와 통신하고 데이터 프로세싱 하드웨어(510) 상에서 실행될 때 데이터 프로세싱 하드웨어(510)로 하여금 트레이닝 프로세스(300)를 실행하게 하고 방법(400)에 대한 동작들의 예시적인 배열을 수행하게 하는 명령들을 저장하는 메모리 하드웨어(520)(도 5)를 포함한다. 컴퓨팅 시스템(500)은 트레이닝된 스피치 인식 모델(200)을 사용자 디바이스(110)에 푸시할 수 있다. 동작(402)에서, 방법(400)은, 제1 화자(10, 10a)가 말한 오디오에 대응하는 제1 세그먼트(304, 304a), 제2 화자(10, 10b)가 말한 오디오에 대응하는 제2 세그먼트(304, 304b), 및 제1 세그먼트(304, 304a)가 제2 세그먼트(304, 304b)와 중첩하는 중첩 영역(306)을 포함하는 오디오 신호를 포함하는 트레이닝 예(302)를 수신한다. 중첩 영역(306)은 알려진 시작 시간 S0 및 알려진 종료 시간 E0을 포함한다. 제1 화자(10, 10a) 및 제2 화자(10, 10b) 각각에 대해, 방법(400)은 동작(404)에서, 트레이닝 예(302)에 기초하여 개개의 마스킹된 오디오 임베딩(254)을 생성한다. 동작(406)에서, 방법(400)은, 제1 화자(10, 10a)가 중첩 영역(306)의 알려진 시작 시간 S0 이전에 말하고 있었는지 또는 중첩 영역(306)의 알려진 종료 시간 E0 이후에 말하고 있었는지를 결정한다. 중첩 영역(306)의 알려진 시작 시간 S0 이전에 제1 화자(10, 10a)가 말하고 있었을 때, 동작(408)에서, 방법(400)은 제1 화자(10, 10a)에 대한 개개의 마스킹된 오디오 임베딩(254)에, 알려진 종료 시간 E0 이후의 제1 마스킹 손실(312)을 적용한다. 중첩 영역(306)의 알려진 종료 시간 E0 이후에 제1 화자(10, 10a)가 말하고 있었을 때, 동작(410)에서, 방법(400)은 제1 화자(10, 10a)에 대한 개개의 마스킹된 오디오 임베딩(254)에, 알려진 시작 시간 S0 이전의 생성된 마스킹된 오디오 임베딩(254)에 대한 마스킹 손실(312)을 적용한다.
[0055] 도 5는 본 문헌에 설명된 시스템들(예를 들어, 스피치 인식기(200)) 및 방법들(예를 들어, 방법(300))을 구현하기 위해 사용될 수 있는 예시적인 컴퓨팅 디바이스(500)의 개략도이다. 컴퓨팅 디바이스(500)는 랩톱들, 데스크톱들, 워크스테이션들, 개인 휴대 정보 단말들, 서버들, 블레이드 서버들, 메인프레임들 및 다른 적절한 컴퓨터들과 같은 다양한 형태들의 디지털 컴퓨터들을 표현하도록 의도된다. 여기에 도시된 컴포넌트들, 이들의 연결들 및 관계들, 및 기능들은 오직 예시일 뿐이며, 본 문헌에서 설명 및/또는 청구된 발명들의 구현들을 제한하려는 의도가 아니다.
[0056] 컴퓨팅 디바이스(500)는 프로세서(510)(예를 들어, 데이터 프로세싱 하드웨어), 메모리(520)(예를 들어, 메모리 하드웨어), 저장 디바이스(530), 메모리(520) 및 고속 확장 포트들(550)에 연결되는 고속 인터페이스/제어기(540), 및 저속 버스(570) 및 저장 디바이스(530)에 연결되는 저속 인터페이스/제어기(560)를 포함한다. 컴포넌트들(510, 520, 530, 540, 550, 560) 각각은 다양한 버스들을 사용하여 상호연결되며, 공통 마더보드 상에 또는 적절한 다른 방식들로 장착될 수 있다. 프로세서(510)는, 고속 인터페이스(540)에 커플링된 디스플레이(580)와 같은 외부 입력/출력 디바이스 상의 GUI(graphical user interface)에 대한 그래픽 정보를 디스플레이하기 위해 메모리(520)에 또는 저장 디바이스(530) 상에 저장된 명령들을 포함하는, 컴퓨팅 디바이스(500) 내에서의 실행을 위한 명령들을 프로세싱할 수 있다. 다른 구현들에서, 다수의 프로세서들 및/또는 다수의 버스들이 다수의 메모리들 및 메모리의 타입들과 함께 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들(500)은 (예를 들어, 서버 뱅크, 블레이드 서버들의 그룹, 또는 다중 프로세서 시스템으로서) 필요한 동작들의 부분들을 제공하는 각각의 디바이스와 연결될 수 있다.
[0057] 메모리(520)는 컴퓨팅 디바이스(500) 내에 비일시적으로 정보를 저장한다. 메모리(520)는 컴퓨터 판독가능 매체, 휘발성 메모리 유닛(들) 또는 비휘발성 메모리 유닛(들)일 수 있다. 비일시적 메모리(520)는 컴퓨팅 디바이스(500)에 의한 사용을 위해 일시적 또는 영구적으로 프로그램들(예를 들어, 명령들의 시퀀스들) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하기 위해 사용되는 물리적 디바이스들일 수 있다. 비휘발성 메모리의 예들은 플래시 메모리 및 ROM(read-only memory) / PROM(programmable read-only memory) / EPROM(erasable programmable read-only memory) / EEPROM(electronically erasable programmable read-only memory)(예를 들어, 통상적으로 부트 프로그램들과 같은 펌웨어에 사용됨)을 포함한다(그러나, 이에 제한되지 않음). 휘발성 메모리의 예들은 RAM(Random Access Memory), DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), PCM(Phase Change Memory)뿐만 아니라 디스크들 또는 테이프들을 포함한다(그러나, 이에 제한되지 않음).
[0058] 저장 디바이스(530)는 컴퓨팅 디바이스(500)에 대한 대용량 저장을 제공할 수 있다. 일부 구현들에서, 저장 디바이스(530)는 컴퓨터 실행가능 매체이다. 다양한 다른 구현들에서, 저장 디바이스(530)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 솔리드 스테이트 메모리 디바이스, 또는 저장 영역 네트워크 또는 다른 구성들의 디바이스들을 포함하는 디바이스들의 어레이일 수 있다. 추가적인 구현들에서, 컴퓨터 프로그램 제품은 정보 캐리어에서 유형적으로 구현된다. 컴퓨터 프로그램 제품은 전술된 것들과 같이, 실행될 때, 하나 이상의 방법들을 수행하는 명령들을 포함한다. 정보 캐리어는 메모리(520), 저장 디바이스(530) 또는 프로세서(510) 상의 메모리와 같은 컴퓨터 또는 머신 판독가능 매체이다.
[0059] 고속 제어기(540)는 컴퓨팅 디바이스(500)에 대한 대역폭 집약적인 동작들을 관리하는 반면, 저속 제어기(560)는 더 낮은 대역폭 집약적 동작들을 관리한다. 이러한 업무 할당은 단지 예시적이다. 일부 구현들에서, 고속 제어기(540)는 (예를 들어, 그래픽 프로세서 또는 가속기를 통해) 메모리(520), 디스플레이(580)에 그리고 다양한 확장 카드들(미도시)을 수용할 수 있는 고속 확장 포트들(550)에 커플링된다. 일부 구현들에서, 저속 제어기(560)는 저장 디바이스(530) 및 저속 확장 포트(590)에 커플링된다. 다양한 통신 포트들(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)을 포함할 수 있는 저속 확장 포트(590)는 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입력/출력 디바이스들, 또는 예를 들어, 네트워크 어댑터를 통해 스위치 또는 라우터와 같은 네트워킹 디바이스에 커플링될 수 있다.
[0060] 컴퓨팅 디바이스(500)는 도면에 도시된 바와 같이 다수의 상이한 형태들로 구현될 수 있다. 예를 들어, 이는, 표준 서버(500a)로서 또는 그러한 서버들(500a)의 그룹에서 여러번, 랩톱 컴퓨터(500b)로서 또는 랙 서버 시스템(500c)의 일부로서 구현될 수 있다.
[0061] 본원에 설명된 시스템들 및 기술들의 다양한 구현들은 디지털 전자 및/또는 광학 회로부, 집적 회로부, 특별히 설계된 ASIC들(application specific integrated circuits), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합들로 실현될 수 있다. 이러한 다양한 구현들은, 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령들을 수신하고 그에 데이터 및 명령들을 송신하도록 커플링된, 특수 목적 또는 범용일 수 있는 적어도 하나의 프로그래밍가능 프로세서를 포함하는 프로그래밍가능 시스템 상에서 실행가능한 및/또는 해석가능한 하나 이상의 컴퓨터 프로그램들로 구현을 포함할 수 있다.
[0062] 이러한 컴퓨터 프로그램들(또한 프로그램들, 소프트웨어, 소프트웨어 애플리케이션들 또는 코드로 공지됨)은 프로그래밍가능한 프로세서에 대한 머신 명령들을 포함하고, 하이 레벨 절차 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/기계 언어로 구현될 수 있다. 본원에 사용되는 바와 같이, "머신 판독가능 매체" 및 "컴퓨터 판독가능 매체"라는 용어들은 머신 판독가능 신호로서 머신 명령들을 수신하는 머신 판독가능 매체를 포함하는, 머신 명령들 및/또는 데이터를 프로그래밍가능 프로세서에 제공하기 위해 사용되는 임의의 컴퓨터 프로그램 제품, 비일시적 컴퓨터 판독가능 매체, 장치 및/또는 디바이스(예를 들어, 자기 디스크들, 광 디스크들, 메모리, PLD(Programmable Logic Device)들)를 지칭한다. "머신 판독가능 신호"라는 용어는 머신 명령들 및/또는 데이터를 프로그래밍가능 프로세서에 제공하기 위해 사용되는 임의의 신호를 지칭한다.
[0063] 본 명세서에서 설명된 프로세스들 및 로직 흐름들은 입력 데이터에 대해 동작하고 출력을 생성함으로써 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그래밍가능 프로세서들에 의해 수행될 수 있다. 예를 들어, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)와 같은 특수 목적 로직 회로부에 의해 프로세스들 및 로직 흐름들이 또한 수행될 수 있다. 컴퓨터 프로그램의 실행에 적합한 프로세서들은 예시의 방식으로, 범용 및 특수 목적 마이크로프로세서들 둘 모두, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 엘리먼트들은 명령들을 수행하기 위한 프로세서 및 명령들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스들, 예를 들어, 자기, 자기 광학 디스크들 또는 광학 디스크들을 포함하거나, 또는 이들로부터 데이터를 수신하거나 이들에 데이터를 전송하거나 또는 둘 모두를 위해 동작가능하게 커플링될 것이다. 그러나, 컴퓨터는 이러한 디바이스들을 가질 필요가 없다. 컴퓨터 프로그램 명령들 및 데이터를 저장하기에 적합한 컴퓨터 판독가능 매체들은, 예를 들어, 반도체 메모리 디바이스들, 예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스들; 자기 디스크들, 예를 들어, 내부 하드 디스크들 또는 착탈식 디스크들; 자기-광학 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태들의 비휘발성 메모리, 매체들 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 로직 회로에 의해 보완되거나 그에 통합될 수 있다.
[0064] 사용자와의 상호작용을 제공하기 위해, 본 개시내용의 하나 이상의 양상들은 디스플레이 디바이스, 예를 들어, 사용자에게 정보를 디스플레이하기 위한 CRT(cathode ray tube), LCD(liquid crystal display) 모니터 또는 터치 스크린, 및 선택적으로 키보드 및 포인팅 디바이스, 예를 들어, 사용자가 컴퓨터에 입력을 제공할 수 있도록 하는 마우스 또는 트랙볼을 갖는 컴퓨터 상에서 구현될 수 있다. 다른 종류들의 디바이스들이 또한 사용자와의 상호작용을 제공하기 위해 사용될 수 있는데: 예를 들어, 사용자에게 제공된 피드백은 임의의 형태의 센서 피드백, 예를 들어, 시각적 피드백, 청각적 피드백 또는 촉각적 피드백일 수 있고; 사용자로부터의 입력은 음향, 스피치 또는 촉각적 입력을 포함하는 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는 예를 들어, 웹 브라우저로부터 수신된 요청들에 응답하여 사용자의 클라이언트 디바이스 상의 웹 브라우저에 웹 페이지들을 전송함으로써, 사용자에 의해 사용되는 디바이스에 문서들을 전송하고 그로부터 문서들을 수신함으로써 사용자와 상호작용할 수 있다.
[0065] 다수의 구현들이 설명되었다. 그럼에도 불구하고, 본 개시내용의 사상 및 범위를 벗어나지 않고 다양한 수정들이 행해질 수 있음이 이해될 것이다. 따라서, 다른 구현들은 다음의 청구항들의 범위 내에 존재한다.

Claims (22)

  1. 손실 함수(loss function)(310)를 이용하여 스피치 인식 모델(200)을 트레이닝하는 방법(400)으로서,
    데이터 프로세싱 하드웨어(510)에서, 제1 화자(speaker)(10)가 말한 오디오에 대응하는 제1 세그먼트(304), 제2 화자(10)가 말한 오디오에 대응하는 제2 세그먼트(304), 및 상기 제1 세그먼트(304)가 상기 제2 세그먼트(304)와 중첩하는 중첩 영역(306)을 포함하는 오디오 신호(202)를 포함하는 트레이닝 예(302)를 수신하는 단계 ― 상기 중첩 영역(306)은 알려진 시작 시간 및 알려진 종료 시간을 포함함 ―;
    상기 제1 화자(10) 및 상기 제2 화자(10) 각각에 대해, 상기 데이터 프로세싱 하드웨어(510)에 의해, 상기 트레이닝 예(302)에 기초하여 개개의 마스킹된 오디오 임베딩(254)을 생성하는 단계;
    상기 데이터 프로세싱 하드웨어(510)에 의해,
    상기 중첩 영역(306)의 알려진 시작 시간 이전에; 또는
    상기 중첩 영역(306)의 알려진 종료 시간 이후에;
    상기 제1 화자(10)가 말하고 있었는지 여부를 결정하는 단계;
    상기 중첩 영역(306)의 알려진 시작 시간 이전에 상기 제1 화자(10)가 말하고 있었을 때, 상기 데이터 프로세싱 하드웨어(510)에 의해, 상기 제1 화자(10)에 대한 상기 개개의 마스킹된 오디오 임베딩(254)에, 상기 알려진 종료 시간 이후의 제1 마스킹 손실(314)을 적용하는 단계; 및
    상기 중첩 영역(306)의 알려진 종료 시간 이후에 상기 제1 화자(10)가 말하고 있었을 때, 상기 데이터 프로세싱 하드웨어(510)에 의해, 상기 제1 화자(10)에 대한 상기 개개의 마스킹된 오디오 임베딩(254)에, 상기 알려진 시작 시간 이전의 제1 마스킹 손실(314)을 적용하는 단계를 포함하는,
    손실 함수(310)를 이용하여 스피치 인식 모델(200)을 트레이닝하는 방법(400).
  2. 제1 항에 있어서,
    상기 제1 화자(10)가 상기 중첩 영역(306)의 알려진 시작 시간 이전에 말하고 있었을 때, 상기 제1 화자(10)는 상기 중첩 영역(306)의 알려진 종료 시간 이후에 말하고 있지 않았고; 그리고
    상기 제1 화자(10)가 상기 중첩 영역(306)의 알려진 종료 시간 이후에 말하고 있었을 때, 상기 제1 화자(10)는 상기 중첩 영역(306)의 알려진 시작 시간 이전에 말하고 있지 않았던,
    손실 함수(310)를 이용하여 스피치 인식 모델(200)을 트레이닝하는 방법(400).
  3. 제1 항 또는 제2 항에 있어서,
    상기 중첩 영역(306)의 알려진 시작 시간 이전에 상기 제1 화자(10)가 말하고 있었을 때, 상기 데이터 프로세싱 하드웨어(510)에 의해, 상기 제2 화자(10)에 대한 상기 개개의 마스킹된 오디오 임베딩(254)에, 상기 중첩 영역(306)의 알려진 시작 시간 이전의 제2 마스킹 손실(314)을 적용하는 단계; 및
    상기 중첩 영역(306)의 알려진 종료 시간 이후에 상기 제1 화자(10)가 말하고 있었을 때, 상기 데이터 프로세싱 하드웨어(510)에 의해, 상기 제2 화자(10)에 대한 상기 개개의 마스킹된 오디오 임베딩(254)에, 상기 중첩 영역(306)의 알려진 종료 시간 이후의 제2 마스킹 손실(314)을 적용하는 단계를 더 포함하는,
    손실 함수(310)를 이용하여 스피치 인식 모델(200)을 트레이닝하는 방법(400).
  4. 제3 항에 있어서,
    상기 제1 화자(10) 및 상기 제2 화자(10)에 대해 생성된 상기 개개의 마스킹된 오디오 임베딩들(254) 각각에 대해:
    상기 데이터 프로세싱 하드웨어(510)에 의해, 상기 중첩 영역(306) 내부에서 상기 제1 화자(10) 또는 상기 제2 화자(10)의 개개의 화자에 대한 개개의 평균 화자 임베딩을 컴퓨팅하는 단계; 및
    상기 데이터 프로세싱 하드웨어(510)에 의해, 상기 중첩 영역(306) 외부에서 상기 제1 화자(10) 또는 상기 제2 화자(10)의 개개의 화자에 대한 개개의 평균 화자 임베딩을 컴퓨팅하는 단계;
    상기 데이터 프로세싱 하드웨어(510)에 의해, 상기 중첩 영역(306) 내부의 상기 제1 화자(10)에 대한 상기 개개의 마스킹된 오디오 임베딩(254)에 대해 상기 컴퓨팅된 평균 화자 임베딩, 상기 중첩 영역(306) 내부의 상기 제2 화자(10)에 대한 상기 개개의 마스킹된 오디오 임베딩(254)에 대해 상기 컴퓨팅된 평균 화자 임베딩, 상기 중첩 영역(306) 외부의 상기 제1 화자(10)에 대한 상기 개개의 마스킹된 오디오 임베딩(254)에 대해 상기 컴퓨팅된 평균 화자 임베딩, 및 상기 중첩 영역(306) 외부의 상기 제2 화자(10)에 대한 상기 개개의 마스킹된 오디오 임베딩(254)에 대해 상기 컴퓨팅된 평균 화자 임베딩의 함수에 기초하여 임베딩 손실(316)을 결정하는 단계; 및
    상기 데이터 프로세싱 하드웨어(510)에 의해,
    상기 제1 화자(10)에 대해 생성된 상기 개개의 마스킹된 오디오 임베딩(254) 전체가 상기 제1 화자(10)가 말한 오디오에만 대응하도록 강제하기 위해, 상기 제1 화자(10)에 대해 생성된 상기 개개의 마스킹된 오디오 임베딩(254); 및
    상기 제2 화자(10)에 대해 생성된 상기 개개의 마스킹된 오디오 임베딩(254) 전체가 상기 제2 화자(10)가 말한 오디오에만 대응하도록 강제하기 위해, 상기 제2 화자(10)에 대해 생성된 상기 개개의 마스킹된 오디오 임베딩(254)
    각각에 상기 임베딩 손실(316)을 적용하는 단계를 더 포함하는,
    손실 함수(310)를 이용하여 스피치 인식 모델(200)을 트레이닝하는 방법(400).
  5. 제1 항 내지 제4 항 중 어느 한 항에 있어서,
    상기 개개의 마스킹된 오디오 임베딩(254)을 생성하는 단계는 상기 트레이닝 예(302)에 대한 오디오 신호(202)의 각각의 프레임에서 발생하는,
    손실 함수(310)를 이용하여 스피치 인식 모델(200)을 트레이닝하는 방법(400).
  6. 제1 항 내지 제5 항 중 어느 한 항에 있어서,
    상기 오디오 신호(202)는 모노포닉(monophonic) 오디오 신호(202)를 포함하는,
    손실 함수(310)를 이용하여 스피치 인식 모델(200)을 트레이닝하는 방법(400).
  7. 제1 항 내지 제6 항 중 어느 한 항에 있어서,
    상기 트레이닝 예(302)는 시뮬레이션된 트레이닝 데이터를 포함하는,
    손실 함수(310)를 이용하여 스피치 인식 모델(200)을 트레이닝하는 방법(400).
  8. 제1 항 내지 제7 항 중 어느 한 항에 있어서,
    상기 스피치 인식 모델(200)은 RNN-T(recurrent neural network transducer) 아키텍처를 포함하는,
    손실 함수(310)를 이용하여 스피치 인식 모델(200)을 트레이닝하는 방법(400).
  9. 제8 항에 있어서,
    상기 RNN-T 아키텍처는,
    입력으로서, 상기 제1 화자(10)에 대해 생성된 상기 개개의 마스킹된 오디오 임베딩(254)을 수신하고, 출력으로서, 상기 제1 화자(10)와 연관된 제1 트랜스크립션(transcription)을 생성하도록 구성된 제1 디코더(240) ― 상기 제1 트랜스크립션은 상기 제1 화자(10)가 말한 오디오에 대응하는 상기 오디오 신호(202)의 제1 세그먼트(304)를 트랜스크라이브(transcribe)함 ―; 및
    입력으로서, 상기 제2 화자(10)에 대해 생성된 상기 개개의 마스킹된 오디오 임베딩(254)을 수신하고, 출력으로서, 상기 제2 화자(10)와 연관된 제2 트랜스크립션을 생성하도록 구성된 제2 디코더(240)를 포함하고, 상기 제2 트랜스크립션은 상기 제2 화자(10)가 말한 오디오에 대응하는 상기 오디오 신호(202)의 제2 세그먼트(304)를 트랜스크라이브하는,
    손실 함수(310)를 이용하여 스피치 인식 모델(200)을 트레이닝하는 방법(400).
  10. 제1 항 내지 제9 항 중 어느 한 항에 있어서,
    상기 스피치 인식 모델(200)은 오디오 인코더(210)를 포함하고,
    상기 오디오 인코더(210)는, 추론 동안:
    2개 이상의 상이한 화자들(10)이 말한 스피치를 포함하는 모노포닉 오디오 스트림으로부터 프레임당 오디오 임베딩들(212)을 생성하고; 그리고
    각각의 프레임 오디오 임베딩(212)을 마스킹 모델(250)에 통신하도록 ― 상기 마스킹 모델(250)은 각각의 프레임 오디오 임베딩(212)에 대해 개개의 마스킹된 오디오 임베딩(254)을 생성하도록 트레이닝됨 ―
    구성되는,
    손실 함수(310)를 이용하여 스피치 인식 모델(200)을 트레이닝하는 방법(400).
  11. 제1 항 내지 제10 항 중 어느 한 항에 있어서,
    상기 트레이닝 예(302)는,
    상기 제1 화자(10)가 말한 오디오에 대응하는 제1 실측 자료 트랜스크립트(ground truth transcript)(204); 및
    상기 제2 화자(10)가 말한 오디오에 대응하는 제2 실측 자료 트랜스크립트(204)를 더 포함하는,
    손실 함수(310)를 이용하여 스피치 인식 모델(200)을 트레이닝하는 방법(400).
  12. 손실 함수(310)를 이용하여 스피치 인식 모델(200)을 트레이닝하기 위한 시스템(500)으로서,
    데이터 프로세싱 하드웨어(510); 및
    상기 데이터 프로세싱 하드웨어(510)와 통신하는 메모리 하드웨어(520)를 포함하고, 상기 메모리 하드웨어(520)는, 상기 데이터 프로세싱 하드웨어(510) 상에서 실행될 때 상기 데이터 프로세싱 하드웨어(510)로 하여금 동작들을 수행하게 하는 명령들을 저장하고, 상기 동작들은,
    제1 화자(10)가 말한 오디오에 대응하는 제1 세그먼트(304), 제2 화자(10)가 말한 오디오에 대응하는 제2 세그먼트(304), 및 상기 제1 세그먼트(304)가 상기 제2 세그먼트(304)와 중첩하는 중첩 영역(306)을 포함하는 오디오 신호(202)를 포함하는 트레이닝 예(302)를 수신하는 것 ― 상기 중첩 영역(306)은 알려진 시작 시간 및 알려진 종료 시간을 포함함 ―;
    상기 제1 화자(10) 및 상기 제2 화자(10) 각각에 대해, 상기 트레이닝 예(302)에 기초하여 개개의 마스킹된 오디오 임베딩(254)을 생성하는 것;
    상기 중첩 영역(306)의 알려진 시작 시간 이전에; 또는
    상기 중첩 영역(306)의 알려진 종료 시간 이후에;
    상기 제1 화자(10)가 말하고 있었는지 여부를 결정하는 것;
    상기 중첩 영역(306)의 알려진 시작 시간 이전에 상기 제1 화자(10)가 말하고 있었을 때, 상기 제1 화자(10)에 대한 상기 개개의 마스킹된 오디오 임베딩(254)에, 상기 알려진 종료 시간 이후의 제1 마스킹 손실(314)을 적용하는 것; 및
    상기 중첩 영역(306)의 알려진 종료 시간 이후에 상기 제1 화자(10)가 말하고 있었을 때, 상기 제1 화자(10)에 대한 상기 개개의 마스킹된 오디오 임베딩(254)에, 상기 알려진 시작 시간 이전의 제1 마스킹 손실(314)을 적용하는 것을 포함하는,
    손실 함수(310)를 이용하여 스피치 인식 모델(200)을 트레이닝하기 위한 시스템(500).
  13. 제12 항에 있어서,
    상기 제1 화자(10)가 상기 중첩 영역(306)의 알려진 시작 시간 이전에 말하고 있었을 때, 상기 제1 화자(10)는 상기 중첩 영역(306)의 알려진 종료 시간 이후에 말하고 있지 않았고; 그리고
    상기 제1 화자(10)가 상기 중첩 영역(306)의 알려진 종료 시간 이후에 말하고 있었을 때, 상기 제1 화자(10)는 상기 중첩 영역(306)의 알려진 시작 시간 이전에 말하고 있지 않았던,
    손실 함수(310)를 이용하여 스피치 인식 모델(200)을 트레이닝하기 위한 시스템(500).
  14. 제12 항 또는 제13 항에 있어서,
    상기 동작들은,
    상기 중첩 영역(306)의 알려진 시작 시간 이전에 상기 제1 화자(10)가 말하고 있었을 때, 상기 제2 화자(10)에 대한 상기 개개의 마스킹된 오디오 임베딩(254)에, 상기 중첩 영역(306)의 알려진 시작 시간 이전의 제2 마스킹 손실(314)을 적용하는 것; 및
    상기 중첩 영역(306)의 알려진 종료 시간 이후에 상기 제1 화자(10)가 말하고 있었을 때, 상기 제2 화자(10)에 대한 상기 개개의 마스킹된 오디오 임베딩(254)에, 상기 중첩 영역(306)의 알려진 종료 시간 이후의 제2 마스킹 손실(314)을 적용하는 것을 더 포함하는,
    손실 함수(310)를 이용하여 스피치 인식 모델(200)을 트레이닝하기 위한 시스템(500).
  15. 제14 항에 있어서,
    상기 동작들은,
    상기 제1 화자(10) 및 상기 제2 화자(10)에 대해 생성된 상기 개개의 마스킹된 오디오 임베딩들(254) 각각에 대해:
    상기 중첩 영역(306) 내부에서 상기 제1 화자(10) 또는 상기 제2 화자(10)의 개개의 화자에 대한 개개의 평균 화자 임베딩을 컴퓨팅하는 것; 및
    상기 중첩 영역(306) 외부에서 상기 제1 화자(10) 또는 상기 제2 화자(10)의 개개의 화자에 대한 개개의 평균 화자 임베딩을 컴퓨팅하는 것;
    상기 중첩 영역(306) 내부의 상기 제1 화자(10)에 대한 상기 개개의 마스킹된 오디오 임베딩(254)에 대해 상기 컴퓨팅된 평균 화자 임베딩, 상기 중첩 영역(306) 내부의 상기 제2 화자(10)에 대한 상기 개개의 마스킹된 오디오 임베딩(254)에 대해 상기 컴퓨팅된 평균 화자 임베딩, 상기 중첩 영역(306) 외부의 상기 제1 화자(10)에 대한 상기 개개의 마스킹된 오디오 임베딩(254)에 대해 상기 컴퓨팅된 평균 화자 임베딩, 및 상기 중첩 영역(306) 외부의 상기 제2 화자(10)에 대한 상기 개개의 마스킹된 오디오 임베딩(254)에 대해 상기 컴퓨팅된 평균 화자 임베딩의 함수에 기초하여 임베딩 손실(316)을 결정하는 것; 및
    상기 제1 화자(10)에 대해 생성된 상기 개개의 마스킹된 오디오 임베딩(254) 전체가 상기 제1 화자(10)가 말한 오디오에만 대응하도록 강제하기 위해, 상기 제1 화자(10)에 대해 생성된 상기 개개의 마스킹된 오디오 임베딩(254); 및
    상기 제2 화자(10)에 대해 생성된 상기 개개의 마스킹된 오디오 임베딩(254) 전체가 상기 제2 화자(10)가 말한 오디오에만 대응하도록 강제하기 위해, 상기 제2 화자(10)에 대해 생성된 상기 개개의 마스킹된 오디오 임베딩(254)
    각각에 상기 임베딩 손실(316)을 적용하는 것을 더 포함하는,
    손실 함수(310)를 이용하여 스피치 인식 모델(200)을 트레이닝하기 위한 시스템(500).
  16. 제12 항 내지 제15 항 중 어느 한 항에 있어서,
    상기 개개의 마스킹된 오디오 임베딩(254)을 생성하는 것은 상기 트레이닝 예(302)에 대한 오디오 신호(202)의 각각의 프레임에서 발생하는,
    손실 함수(310)를 이용하여 스피치 인식 모델(200)을 트레이닝하기 위한 시스템(500).
  17. 제12 항 내지 제16 항 중 어느 한 항에 있어서,
    상기 오디오 신호(202)는 모노포닉 오디오 신호(202)를 포함하는,
    손실 함수(310)를 이용하여 스피치 인식 모델(200)을 트레이닝하기 위한 시스템(500).
  18. 제12 항 내지 제17 항 중 어느 한 항에 있어서,
    상기 트레이닝 예(302)는 시뮬레이션된 트레이닝 데이터를 포함하는,
    손실 함수(310)를 이용하여 스피치 인식 모델(200)을 트레이닝하기 위한 시스템(500).
  19. 제12 항 내지 제18 항 중 어느 한 항에 있어서,
    상기 스피치 인식 모델(200)은 RNN-T(recurrent neural network transducer) 아키텍처를 포함하는,
    손실 함수(310)를 이용하여 스피치 인식 모델(200)을 트레이닝하기 위한 시스템(500).
  20. 제19 항에 있어서,
    상기 RNN-T 아키텍처는,
    입력으로서, 상기 제1 화자(10)에 대해 생성된 상기 개개의 마스킹된 오디오 임베딩(254)을 수신하고, 출력으로서, 상기 제1 화자(10)와 연관된 제1 트랜스크립션을 생성하도록 구성된 제1 디코더(240) ― 상기 제1 트랜스크립션은 상기 제1 화자(10)가 말한 오디오에 대응하는 상기 오디오 신호(202)의 제1 세그먼트(304)를 트랜스크라이브함 ―; 및
    입력으로서, 상기 제2 화자(10)에 대해 생성된 상기 개개의 마스킹된 오디오 임베딩(254)을 수신하고, 출력으로서, 상기 제2 화자(10)와 연관된 제2 트랜스크립션을 생성하도록 구성된 제2 디코더(240)를 포함하고, 상기 제2 트랜스크립션은 상기 제2 화자(10)가 말한 오디오에 대응하는 상기 오디오 신호(202)의 제2 세그먼트(304)를 트랜스크라이브하는,
    손실 함수(310)를 이용하여 스피치 인식 모델(200)을 트레이닝하기 위한 시스템(500).
  21. 제12 항 내지 제20 항 중 어느 한 항에 있어서,
    상기 스피치 인식 모델(200)은 오디오 인코더(210)를 포함하고,
    상기 오디오 인코더(210)는, 추론 동안:
    2개 이상의 상이한 화자들(10)이 말한 스피치를 포함하는 모노포닉 오디오 스트림으로부터 프레임당 오디오 임베딩들(212)을 생성하고; 그리고
    각각의 프레임 오디오 임베딩(212)을 마스킹 모델(250)에 통신하도록 ― 상기 마스킹 모델(250)은 각각의 프레임 오디오 임베딩(212)에 대해 개개의 마스킹된 오디오 임베딩(254)을 생성하도록 트레이닝됨 ―
    구성되는,
    손실 함수(310)를 이용하여 스피치 인식 모델(200)을 트레이닝하기 위한 시스템(500).
  22. 제12 항 내지 제21 항 중 어느 한 항에 있어서,
    상기 트레이닝 예(302)는,
    상기 제1 화자(10)가 말한 오디오에 대응하는 제1 실측 자료 트랜스크립트(204); 및
    상기 제2 화자(10)가 말한 오디오에 대응하는 제2 실측 자료 트랜스크립트(204)를 더 포함하는,
    손실 함수(310)를 이용하여 스피치 인식 모델(200)을 트레이닝하기 위한 시스템(500).
KR1020227041677A 2020-05-01 2021-04-30 엔드-투-엔드 멀티-토커 중첩 스피치 인식 KR20230008152A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/865,075 2020-05-01
US16/865,075 US11521595B2 (en) 2020-05-01 2020-05-01 End-to-end multi-talker overlapping speech recognition
PCT/US2021/030049 WO2021222678A1 (en) 2020-05-01 2021-04-30 End-to-end multi-talker overlapping speech recognition

Publications (1)

Publication Number Publication Date
KR20230008152A true KR20230008152A (ko) 2023-01-13

Family

ID=75977852

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227041677A KR20230008152A (ko) 2020-05-01 2021-04-30 엔드-투-엔드 멀티-토커 중첩 스피치 인식

Country Status (6)

Country Link
US (2) US11521595B2 (ko)
EP (1) EP4128213A1 (ko)
JP (1) JP2023524088A (ko)
KR (1) KR20230008152A (ko)
CN (1) CN115485768A (ko)
WO (1) WO2021222678A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11404051B2 (en) * 2020-05-21 2022-08-02 Bank Of America Corporation Textual analysis system for automatic language proficiency assessment
US20220319506A1 (en) * 2021-03-31 2022-10-06 Chief Chief Technologies Oy Method and system for performing domain adaptation of end-to-end automatic speech recognition model
US11984127B2 (en) 2021-12-31 2024-05-14 Microsoft Technology Licensing, Llc Training and using a transcript generation model on a multi-speaker audio stream
US20230351099A1 (en) * 2022-05-02 2023-11-02 Optum, Inc. Supervised and unsupervised machine learning techniques for communication summarization

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9818431B2 (en) 2015-12-21 2017-11-14 Microsoft Technoloogy Licensing, LLC Multi-speaker speech separation
US10249305B2 (en) * 2016-05-19 2019-04-02 Microsoft Technology Licensing, Llc Permutation invariant training for talker-independent multi-talker speech separation
US10460727B2 (en) * 2017-03-03 2019-10-29 Microsoft Technology Licensing, Llc Multi-talker speech recognizer
US10957337B2 (en) * 2018-04-11 2021-03-23 Microsoft Technology Licensing, Llc Multi-microphone speech separation

Also Published As

Publication number Publication date
US20210343273A1 (en) 2021-11-04
US11521595B2 (en) 2022-12-06
CN115485768A (zh) 2022-12-16
EP4128213A1 (en) 2023-02-08
WO2021222678A1 (en) 2021-11-04
JP2023524088A (ja) 2023-06-08
US20230084758A1 (en) 2023-03-16

Similar Documents

Publication Publication Date Title
JP7436760B1 (ja) サブワードエンドツーエンド自動音声認識のための学習ワードレベルコンフィデンス
KR20230008152A (ko) 엔드-투-엔드 멀티-토커 중첩 스피치 인식
KR20220130699A (ko) 심의 모델 기반 2패스 종단간 음성 인식
JP2023545988A (ja) トランスフォーマトランスデューサ:ストリーミング音声認識と非ストリーミング音声認識を統合する1つのモデル
KR20230086737A (ko) 단순화된 스트리밍 및 비스트리밍 스피치 인식을 위한 캐스케이드 인코더들
JP2024511176A (ja) エンドツーエンド自動音声認識コンフィデンスおよび削除推定のためのマルチタスク学習
KR20230158107A (ko) 효율적인 스트리밍 비-순환 온-디바이스 엔드-투-엔드 모델
US11848005B2 (en) Voice attribute conversion using speech to speech
JP2023175029A (ja) アテンションベースのジョイント音響およびテキストのオンデバイス・エンド・ツー・エンドモデル
WO2022203733A1 (en) Mixture model attention for flexible streaming and non-streaming automatic speech recognition
KR20240074809A (ko) 장문 스피치 인식을 위한 트레이닝
US12027154B2 (en) Emitting word timings with end-to-end models
US20240135934A1 (en) Evaluation-based speaker change detection evaluation metrics
WO2023183206A1 (en) Deliberation by text-only and semi-supervised training