KR20210154849A - 2-패스 방식의 종단간 음성 인식 - Google Patents

2-패스 방식의 종단간 음성 인식 Download PDF

Info

Publication number
KR20210154849A
KR20210154849A KR1020217037998A KR20217037998A KR20210154849A KR 20210154849 A KR20210154849 A KR 20210154849A KR 1020217037998 A KR1020217037998 A KR 1020217037998A KR 20217037998 A KR20217037998 A KR 20217037998A KR 20210154849 A KR20210154849 A KR 20210154849A
Authority
KR
South Korea
Prior art keywords
decoder
pass
rnn
utterance
las
Prior art date
Application number
KR1020217037998A
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 KR20210154849A publication Critical patent/KR20210154849A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural 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/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0445
    • 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
    • G06N3/0454
    • 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
    • G10L15/05Word 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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/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/26Speech to text 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/28Constructional details of speech recognition systems
    • G10L15/32Multiple recognisers used in sequence or in parallel; Score combination systems therefor, e.g. voting systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Signal Processing (AREA)
  • Machine Translation (AREA)
  • Stereo-Broadcasting Methods (AREA)
  • Time-Division Multiplex Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Telephonic Communication Services (AREA)

Abstract

2-패스 자동 음성 인식(ASR) 모델이 오디오 데이터에 캡처된 발언의 텍스트 표현을 생성하기 위해 스트리밍 온-디바이스 ASR을 수행하는데 사용될 수 있다. 다양한 구현은 오디오 데이터에 캡처된 발언의 스트리밍 후보 인식(들)을 생성하는데 사용되는 ASR 모델의 제1-패스 부분을 포함한다. 예를 들어, 제1-패스 부분은 순환 신경망 변환기(RNN-T) 디코더를 포함할 수 있다. 다양한 구현은 발언의 스트리밍 후보 인식(들)을 수정하고 발언의 텍스트 표현을 생성하는데 사용되는 ASR 모델의 제2-패스 부분을 포함한다. 예를 들어, 제2-패스 부분은 청취 주의 철자(LAS) 디코더를 포함할 수 있다. 다양한 구현에는 RNN-T 디코더와 LAS 디코더 간에 공유되는 공유 인코더가 포함된다.

Description

2-패스 방식의 종단간 음성 인식
자동화 어시스턴트("개인 비서", "모바일 비서" 등으로도 알려짐)는 스마트 폰, 태블릿 컴퓨터, 웨어러블 디바이스, 자동차 시스템, 독립형 개인 비서 디바이스 등과 같은 다양한 클라이언트 디바이스를 통해 사용자와 상호 작용할 수 있다. 자동화 어시스턴트는 음성 자연어 입력(즉, 발언)을 포함하여 사용자로부터 입력을 수신하고 다른 디바이스를 제어하고 및/또는 반응형 컨텐츠(예를 들어, 시각적 및/또는 청각적 자연어 출력)를 제공함으로써 액션을 수행하여 응답할 수 있다. 클라이언트 디바이스를 통해 상호작용하는 자동화 어시스턴트는 클라이언트 디바이스 자체를 통해 및/또는 클라이언트 디바이스(예를 들어, 클라우드의 컴퓨팅 디바이스(들))와 네트워크 통신하는 하나 이상의 원격 컴퓨팅 디바이스를 통해 구현될 수 있다.
자동화 어시스턴트는 사용자의 음성 발언에 대응하는 오디오 데이터를 대응하는 텍스트(또는 다른 의미론적 표현)로 변환할 수 있다. 예를 들어, 오디오 데이터는 자동화 어시스턴트를 포함하는 클라이언트 디바이스의 하나 이상의 마이크로폰을 통한 사용자의 음성 발언의 검출에 기초하여 생성될 수 있다. 자동화 어시스턴트는 오디오 데이터에 캡처된 음성 발언의 다양한 특성, 예를 들어 음성 발언에 의해 생성되는 소리(예를 들어, 음소), 발음되는 소리의 순서, 음성의 리듬, 억양을 인식하려고 시도하는 음성 인식 엔진을 포함할 수 있다. 또한, 음성 인식 엔진은 이러한 특성으로 표현되는 텍스트 단어 또는 구문을 식별할 수 있다. 그런 다음 텍스트는 음성 발언에 대한 응답 컨텐츠를 결정할 때 (예를 들어, 자연어 이해 엔진 및/또는 대화 상태 엔진을 사용하여) 자동화 어시스턴트에 의해 추가로 처리될 수 있다. 음성 인식 엔진은 클라이언트 디바이스 및/또는 클라이언트 디바이스로부터 멀리 떨어져 있지만 클라이언트 디바이스와 네트워크 통신하는 하나 이상의 자동화 어시스턴트 구성요소(들)에 의해 구현될 수 있다.
본 명세서에 기술된 기술은 종단간(E2E) 2-패스(pass) 자동 음성 인식(ASR) 모델을 사용하여 음성 발언의 텍스트 표현을 생성하는 것에 관한 것이다. 2-패스 ASR 모델은 비-스트리밍 제2-패스 부분과 함께 스트리밍 제1-패스 패스 부분을 포함한다. 많은 구현에서, 제1-패스 부분은 순환 신경망 변환기(RNN-T) 디코더를 포함하고, 스트리밍 방식으로 음성 발언의 후보 텍스트 표현(들)을 생성할 수 있다. 다양한 구현에서, 비-스트리밍 제2-패스 부분(예를 들어, LAS(Listen, Attend and Spell) 디코더를 포함하는 것)은 제1-패스 부분에서 생성된 초기 후보 텍스트 표현(들)을 개선하는데 사용될 수 있다. 예를 들어, LAS 디코더는 RNN-T 디코더를 사용하여 생성된 후보 텍스트 표현들의 순위를 재지정하는데 사용될 수 있다. 많은 구현에서 2-패스 ASR 모델은 공유 인코더를 포함할 수 있으며, 여기서 RNN-T 디코더와 LAS 디코더는 공유 인코더를 공유한다. 공유 인코더의 사용은 예를 들어, RNN-T 디코더를 위한 전용 인코더를 사용하고 LAS 디코더를 위한 전용 인코더를 사용하는 것에 비해 2-패스 ASR 모델의 모델 크기를 줄일 수 있고 및/또는 향상된 계산 효율성을 제공할 수 있다. 다시 말해, 공유 인코더의 사용은 2-패스 ASR 모델을 사용하여 음성 발언의 텍스트 표현을 생성할 때 메모리 및/또는 계산 리소스의 효율적인 활용을 가능하게 할 수 있다. 메모리 및/또는 계산 리소스의 이러한 보존은 2-패스 ASR 모델이 종종 제한된 메모리 및/또는 계산 리소스를 갖는 클라이언트 디바이스에 의해 저장되고 활용될 때 특히 영향을 미칠 수 있다. 예를 들어, 공유 인코더를 사용하면 제한된 리소스가 다른 모델(들)을 사용하여 (적어도 저-배터리 상황과 같은 일부 상황에서) 온-디바이스 ASR을 방지할 수 있는 클라이언트(들)에서 온-디바이스 ASR를 수행할 수 있다.
예를 들어, 클라이언트 디바이스는 클라이언트 디바이스의 하나 이상의 마이크로폰을 사용하여 "거실 조명 켜"라는 음성 발언을 캡처할 수 있다. "거실 조명 켜"라는 음성 발언는 공유 인코더를 사용하여 스트리밍 방식으로 처리되어 공유 인코더 출력을 생성할 수 있고, 공유 인코더 출력은 RNN-T 디코더를 사용하여 처리되어 "거실 조명 켜"의 스트리밍 제1-패스 후보 텍스트 표현(들)을 생성할 수 있다. 사용자가 말하기를 종료했다고 결정하는 것에 응답하여, 공유 인코더 출력과 함께 제1-패스 후보 텍스트 표현(들)은 LAS 디코더를 사용하여 처리되어 "거실 조명 켜"의 텍스트 표현을 생성할 수 있다.
일부 구현에서, 2-패스 모델은 RNN-T 손실 및 LAS 손실 모두를 포함하는 결합(된) 손실 함수를 사용하여 트레이닝될 수 있다. 이러한 구현 중 일부에서, 트레이닝 프로세스는 (1) 인코더 및 RNN-T 디코더를 트레이닝하는 단계; (2) (1)에서 트레이닝된 인코더를 고정하고 LAS 디코더를 트레이닝할 때 고정된 인코더를 사용하는 단계; 및 (3) 결합 손실 함수를 사용하여 공유 인코더, RNN-T 디코더 및 LAS 디코더를 동시에 트레이닝하는 단계를 포함한다. 이러한 구현의 일부 버전에서, LAS 디코더는 최소 단어 오류율(MWER) 트레이닝 프로세스를 사용하여 추가적으로 트레이닝될 수 있다.
따라서, 온-디바이스 스트리밍 ASR에서 2-패스 ASR 모델을 사용하기 위한 기술에 대한 다양한 구현이 설정된다. 종래의 ASR 시스템은 예를 들어 클라이언트 디바이스에서 오디오 데이터를 캡처하고, 오디오 데이터 및/또는 오디오 데이터의 표현을 원격 서버로 전송하고, 오디오 데이터에서 캡처된 발언의 텍스트 표현을 생성하기 위해 원격 서버에서 오디오 데이터 및/또는 오디오 데이터의 표현을 처리하고, 그리고 발언의 텍스트 표현을 클라이언트 디바이스로 다시 전송하는 것이 필요할 수 있다. 이와 반대로, 온-디바이스 ASR 시스템은 원격 서버와 데이터를 주고받을 필요 없이 클라이언트 디바이스에서 로컬로 발언의 텍스트 표현을 생성한다. 많은 구현에서, 2패스 ASR 모델을 포함하는 온-디바이스 ASR의 사용은 원격 서버와 데이터를 송수신할 필요를 제거함으로써 기존 ASR과 비교할 때 계산 리소스(예를 들어, 배터리 전원, 프로세서 주기, 메모리 등)를 절약할 수 있다. 또한, 온-디바이스 ASR은 오디오 데이터를 원격 서버로 전송하지 않고 로컬로 텍스트 표현을 생성하기 위해 오디오 데이터를 처리함으로써 사용자 프라이버시 이점을 제공할 수 있다. 더욱이, 온-디바이스 ASR 시스템은 기존 ASR 모델보다 향상된 안정성을 제공한다. 예를 들어, 온-디바이스 ASR 시스템은 무선 네트워크가 다운될 때와 같이 오디오 데이터를 원격 서버로 전송하기 위한 네트워크 연결이 사용할 수 없을 때 오디오 데이터의 텍스트 표현을 생성할 수 있다. 반면에, 기존의 ASR 시스템은 원격 서버와 데이터를 주고받기 위한 네트워크 연결이 사용할 수 없을 때 오디오 데이터의 텍스트 표현을 생성할 수 없다.
전술한 개념의 모든 조합과 본 명세서에 더 자세히 설명되는 추가 개념은 본 명세서에 개시된 주제의 일부인 것으로 고려됨을 이해해야 한다. 예를 들어, 본 개시의 끝에 나타나는 청구된 주제의 모든 조합은 본 명세서에 개시된 주제의 일부인 것으로 고려된다.
도 1은 본 명세서에 개시된 다양한 구현에 따른 발언의 텍스트 표현을 생성하는 예를 도시한다.
도 2는 본 명세서에 개시된 다양한 구현에 따른 2-패스 ASR 모델을 사용하여 발언의 텍스트 표현을 생성하는 예를 도시한다.
도 3은 본 명세서에 개시된 구현들이 구현될 수 있는 예시적인 환경의 블록도를 도시한다.
도 4는 본 명세서에 개시된 다양한 구현에 따라 2-패스 ASR 모델을 트레이닝하기 위한 트레이닝 인스턴스를 생성하는 예시적인 프로세스를 예시하는 흐름도이다.
도 5는 본 명세서에 개시된 구현들에 따른 2-패스 ASR 모델의 1-패스 부분을 트레이닝하는 예시적인 프로세스를 예시하는 흐름도이다.
도 6은 본 명세서에 개시된 구현에 따른 2-패스 ASR 모델의 2-패스 부분을 트레이닝하는 예시적인 프로세스를 도시하는 흐름도이다.
도 7은 본 명세서에 개시된 구현에 따른 2-패스 ASR 모델을 트레이닝하는 예시적인 프로세스를 도시하는 흐름도이다.
도 8은 본 명세서에 개시된 구현에 따른 2-패스 ASR 모델을 사용하여 발언의 텍스트 표현을 생성하는 예시적인 프로세스를 도시하는 흐름도이다.
도 9는 본 명세서에 개시된 구현들이 구현될 수 있는 다른 예시적인 환경의 블록도를 예시한다.
도 10은 컴퓨팅 디바이스의 예시적인 아키텍처를 도시한다.
최첨단 음성 인식 시스템의 많은 애플리케이션에 대한 요구 사항은 낮은 단어 오류율(WER)뿐만 아니라 낮은 레이턴시(대기 시간)를 포함할 수 있다. 특히, 많은 사용 사례에서, 시스템은 스트리밍 방식으로 실시간보다 빠르게 발언을 디코딩할 수 있어야 한다. 최근, 스트리밍 순환 신경망 변환기(RNN-T) 종단간(E2E) 모델은 기존의 온-디바이스 모델에 비해 향상된 WER 및 레이턴시 메트릭으로 온-디바이스 음성 인식에 적합한 후보인 것으로 나타났다. 그러나, 이 모델은 품질면에서 대규모 최첨단 기존 모델보다 여전히 뒤떨어질 수 있다. 반면에, 비-스트리밍 E2E LAS(Listen, Attend and Spell) 모델은 기존 대형 모델에 필적하는 품질을 보여주었다. 본 명세서에 설명된 기술은 LAS 네트워크를 제2-패스 구성요소로 통합하여 여전히 레이턴시 제약을 준수하면서 E2E 스트리밍 모델의 품질을 기존 시스템의 품질에 가깝게 가져온다.
음향 모델(AM), 발음 모델(PM) 및 언어 모델(LM)을 하나의 네트워크로 결합한 음성 인식을 위한 E2E 모델은 AM, PM, LM이 분리된 기존의 ASR 시스템에 비해 경쟁력 있는 결과를 보여주고 있다. E2E 모델은 비슷한 크기의 기존 온-디바이스 모델을 능가할 수 있으므로 특히 온-디바이스 ASR에 적합하다.
많은 구현에서, 직접적인 사용자 상호작용으로 온-디바이스 ASR을 실행하는 것은 수많은 도전을 제시한다. 첫째, 인식 결과는 스트리밍이어야 한다. 즉, 단어는 발화되는 즉시 화면에 나타나야 한다. 둘째, 모델은 짧은 레이턴시(즉, 사용자가 말하는 것과 텍스트 출현 사이의 지연)를 가져야 하며, 따라서 모바일 디바이스에서 실시간 또는 그보다 빠르게 실행된다. 셋째, 모델은 인식 정확도를 향상시키기 위해 사용자 컨텍스트(예를 들어, 연락처 목록, 노래 이름 등)를 활용할 수 있어야 한다. RNN-T E2E 모델은 이러한 제약 조건을 충족할 수 있다.
LAS와 같은 비-스트리밍 E2E 모델은 기존의 대형 모델에 대해 경쟁력 있는 성능을 보여 왔다. 그러나, LAS 모델은 전체 오디오 세그먼트를 처리해야 하기 때문에 스트리밍되지 않으므로 대화형 애플리케이션에서 사용하기가 어렵다.
2-패스 디코딩에서, 2-패스 모델은 격자 재스코어링 또는 n-best 재랭킹을 사용함으로써 제1-패스 패스 모델의 초기 출력을 개선하는데 종종 사용된다. 품질 이득을 얻으면서 사용자가 인지하는 레이턴시를 낮게 유지하는 것은 제2 패스 모델을 적용하는 주요 과제이다. 언어 모델 재스코어링은 일반적으로 다중-패스 디코딩에 사용되지만 최근에는 LAS 모델과 함께 사용되어 제1-패스 기존 모델로부터 가설을 재스코어했다. 인코더로부터 음향 정보를 가져오고 이전 예측로부터 언어 모델 정보를 가져오는 LAS 디코더는 제2-패스 언어 모델보다 엄격하게 강력하다고 생각할 수 있다. 따라서, 본 명세서에 설명된 기술은 제2-패스 처리를 위해 LAS 모델을 사용하여 탐색한다.
특히, RNN-T 디코더와 LAS 디코더가 인코더 네트워크를 공유하는 2-패스 아키텍처가 탐구된다. 인코더를 공유하면 RNN-T 디코더를 위한 전용 인코더와 LAS 디코더를 위한 별개의 전용 인코더가 있는 것과 비교하여 모델 크기와 계산 비용을 줄일 수 있다. 추론하는 동안, RNN-T 디코더는 스트리밍 예측을 생성하고 LAS 디코더는 예측을 확정(finalize)한다. 다양한 구현은 LAS 디코더를 빔 검색으로 실행하고 RNN-T 디코더에 의해 생성된 가설을 재스코어링함으로써 트레이드오프(절충)을 탐색한다. 일부 구현에서, 적응형 빔으로 제1-패스 RNN-T 모델을 실행하고 재스코어링하기 전에 제1-패스 격자를 잘라냄으로써 계산 비용을 줄일 수 있다.
일부 구현에서, 2-패스 ASR 아키텍처는 도 2에 예시된 바와 같다. 파라미터화된 입력 음향 프레임은 x=(x1…xT)로 표시될 수 있으며, 여기서 xt=Rd는 로그-멜 필터 뱅크 에너지이다. 일부 구현에서, 여기서 (d=80)이고, T는 x의 프레임 수를 나타낸다. 제1-패스에서, 각 음향 프레임(xt)은 다중 계층 LSTM을 포함하는 공유 인코더를 통해 전달되어 출력(et)을 얻고, 스트리밍 방식으로 각 시간 단계에서 yr을 생성하기 위해 RNN-T 디코더로 전달된다. 제2-패스에서는, 모든 프레임 e=(e1…eT)의 공유 인코더 출력이 LAS 디코더로 전달된다. 트레이닝하는 동안, LAS 디코더는 e에 따라 출력(yl)을 계산한다. LAS 디코더를 디코딩하는 동안 아래에 설명된 바와 같이 yr을 추가로 사용할 수 있다.
이 작업에서는 두 가지 다른 디코딩 모드에서 LAS 디코더를 사용하는 방법을 살펴본다. 구체적으로, "제2 빔 탐색" 모드에서, LAS 디코더는 RNN-T 디코더의 출력인 yr을 무시하고 e 단독으로 출력 yl을 생성할 수 있다. 추가적으로 또는 대안적으로, LAS 디코더가 "재스코어링" 모드에 있을 때, RNN-T 디코더로부터의 상위(top)-K 가설이 선택될 수 있다. LAS 디코더는 e에 주의하면서 교사 강제 모드에서 각 시퀀스를 처리하여 시퀀스의 로그 확률과 주의 적용 패널티를 결합한 스코어를 계산할 수 있다. LAS 점수가 가장 높은 시퀀스가 출력 시퀀스로 선택된다.
일부 구현에서 2-패스 모델은 다음과 같은 결합 손실로 랜덤 초기화에서 트레이닝될 수 있는데, 여기서 y*는 실제 전사를 나타낸다.
Figure pct00001
(1)
위의 방정식에서, λ는 하이퍼파라미터이다. 많은 구현에서, λ는 0.5로 설정되어 RNN-T 및 LAS 손실에 동일한 가중치를 부여할 수 있다. 실제로 처음부터 직접 2-패스 모델을 트레이닝하는 것은 불안정할 수 있는데, 그 이유는 주로 처음부터 트레이닝할 때 RNN-T와 LAS의 손실 범위가 크게 다르기 때문이다. 따라서, 모델을 트레이닝하는 다중 단계 프로세스는 (1) 인코더와 RNN-T 모델을 트레이닝하고; (2) (1)에서 트레이닝된 인코더를 사용하여 LAS 디코더를 트레이닝하고, 여기서 트레이닝된 인코더는 LAS 디코더를 트레이닝하는 동안 고정되고; (3) "심층 미세 조정": 결합된 손실로 공유 인코더와 두 디코더를 동시에 트레이닝한다.
방정식 1의 손실의 단점 중 하나는 제2-패스 LAS 디코더가 RNN-T 디코더와 독립적으로 최적화된다는 것이다. 이것은 트레이닝 전략과 디코딩 전략 사이에 불일치가 있을 수 있음을 의미한다. 이를 해결하기 위해, 평균 단어 오류율(MWER) 트레이닝 프로세스를 사용하여 오류를 최소화하기 위해 LAS 디코더를 추가로 개선(refine)하는데 추가 트레이닝 단계가 사용될 수 있다. 구체적으로, 입력(x), 실제 전사(y*), 교사 강제가 있는 임의의 주어진 타겟 시퀀스(ym)에 대해 LAS P(ym|x)에 의해 계산된 확률(여기서 ym이 RNN-T에 의해 주어지면 m=r이고 ym이 LAS에 의해 주어지면 m=l)이 주어지면, 사전 트레이닝된 2-패스 모델은 다음과 같이 개선될 수 있다.
먼저, 시스템은 2-패스 모델의 디코더들(m) 중 하나를 사용하여 빔 검색을 실행하여 가설 세트 Hm={h1,…,hb}를 얻는다. 여기서 b는 빔 크기이다. MWER 트레이닝이 디코딩과 매칭하도록 하기 위해, Hm의 생성은 타겟 디코딩 모드에 따라 다르다. "제2 빔 탐색" 모드에서 사용되는 LAS 디코더의 경우, 시스템은 x(m=l)에서 LAS 디코더 자체로 빔 탐색을 실행함으로써 Hm을 계산한다. 반면에 "재스코어링" 모드에서 사용되는 LAS 디코더의 경우, 시스템은 제1-패스 RNN-T 디코더(m=r)로 빔 탐색을 실행하여 Hm(x)를 계산한다.
각 시퀀스 ym∈Hm에 대해, W(y*,ym)를 ym의 단어 오류 수(error number)라고 하고
Figure pct00002
는 Hm에 대한 평균 단어 오류 수이고, 그리고
Figure pct00003
는 Hm에서 ym의 상대 단어 오류율이다. 또한
Figure pct00004
는 Hm의 모든 가설 중에서 LAS 디코더가 가설(ym)에 할당하는 조건부 확률을 나타낸다. MWER 손실은 다음과 같이 정의된다.
Figure pct00005
(2)
LAS 디코더는 MWER 손실과 최대-가능성 교차 엔트로피 손실의 조합을 최소화하도록 트레이닝될 수 있다.
Figure pct00006
(3)
여기서 λMLE는 하이퍼파라미터이다. 많은 구현에서 λMLE는 0.01로 설정될 수 있다.
이제 도면을 참조하면, 도 1은 많은 구현에 따른 2-패스 ASR 프로세스의 예를 도시한다. 도 1은 시간을 나타내는 가로축(100)을 포함하고, 시점(102, 104, 106, 108)을 포함한다. 제1 시점(102)은 사용자가 발언을 말하기 시작하는 위치를 나타내고, 사용자가 발언 말하기를 완료했음을 나타내는 제2 시점(104)이 뒤따른다. 시점(106)은 2-패스 ASR 시스템이 사용자가 발언 말하기를 완료했다고 결정하는 시점의 표시를 제공하며, 이는 시간(104)에 이어진다. 도시된 예에서, 시간(104)과 시간(106) 사이의 지속시간(즉, 시스템이 사용자가 말하기를 완료했다고 결정하는데 걸리는 시간)은 시간(102)과 시간(104) 사이의 지속시간(즉, 사용자가 발언을 말하는 시간량)보다 훨씬 짧다. 추가적으로 또는 대안적으로, 시점(108)은 시스템이 발언의 텍스트 표현을 생성하는 때를 나타내며, 여기서 시간(108)은 시간(106)을 뒤따른다.
일부 구현에서, ASR 모델(110)의 제1-패스 스트리밍 부분은 시간(102)과 시간(106) 사이의 지속 기간(즉, 사용자가 발언을 말하기 시작하고 시스템이 사용자가 발언을 끝냈다고 결정한 시간)이다. 예시된 예에서, ASR 모델(110)의 제1-패스 스트리밍 부분은 사용자가 말하기 시작할 때 시작된다. 그러나, 이것은 단지 예시일 뿐이며 제1-패스 스트리밍 부분(110)은 사용자가 말하기를 시작하고 약간 후에 시작할 수 있다(예를 들어, 제1-패스 부분(110)은 사용자가 말하기 시작한 후 0.01초, 0.05초, 0.1초, 0.5초, 1초 및/또는 또는 추가 지속 기간을 시작할 수 있음). 유사하게, 예시된 예에서, 제1-패스 스트리밍 부분(110)은 시스템이 사용자가 발언(106) 말하기를 마쳤다고 결정할 때 종료된다. 그러나, 이것은 단지 예시일 뿐이며 제1-패스 스트리밍 부분(110)은 시스템이 사용자가 발언(106)를 말하기를 끝냈다고 결정하고 약간 후에 종료될 수 있다(예를 들어, 제1-패스 부분(110)은 시스템이 사용자가 말하기를 끝냈다고 결정한 후 0.01초, 0.05초, 0.1초, 0.5초, 0.5초, 1초 및/또는 추가 지속 기간을 종료할 수 있음). 많은 구현에서, ASR 시스템은 사용자가 발언을 말하는 동안 스트리밍 방식으로 발언의 하나 이상의 후보 스트리밍 텍스트 표현(들)을 생성한다. 일부 구현들에서, ASR 모델(110)의 제1-패스 스트리밍 부분은 공유 인코더 및 RNN-T 디코더를 포함한다. 추가적으로 또는 대안적으로, ASR 모델(110)의 제1-패스 스트리밍 부분은 공유 인코더 및 RNN-T 디코더에 더하여 추가 인코더를 포함할 수 있다.
일부 구현에서, ASR 모델(114)의 제2-패스 부분은 시간(106)과 시간(108) 사이의 지속 기간(즉, 시스템이 사용자가 발언 말하기를 마쳤다고 결정한 시간과 시스템이 발언의 최종 텍스트 표현을 생성한 시간)이다. 예시된 예에서, 제2-패스 부분(114)은 시스템이 사용자가 발언(106)를 말하기를 마쳤다고 결정할 때 시작된다. 그러나, 이는 예시일 뿐이며 제2-패스 스트리밍 부분(114)은 시스템이 사용자가 말하기를 마쳤다고 결정하고 약간 후에 시작할 수 있다(예를 들어, 제2 패스 부분(114)은 시스템이 사용자가 말하기를 끝낸 것으로 결정한 후 0.01초, 0.05초, 0.1초, 0.5초, 1초 및/또는 추가 지속 기간을 시작할 수 있음). 일부 구현에서, 제2-패스 부분(114)은 LAS 디코더를 포함하는데, 여기서 LAS 디코더는 공유 인코더를 사용하여 생성된 출력 및/또는 추가 인코더를 사용하여 생성된 출력과 같은 제1-패스 부분에서 생성된 출력을 처리함으로써 제1-패스 동안 스트리밍 방식으로 생성된 후보 텍스트 표현(들)을 개선할 수 있다.
도 2는 2-패스 ASR 모델을 사용하여 오디오 데이터의 텍스트 표현을 생성하는 예시적인 프로세스(200)를 도시하는 블록도이다. 사람에 의해 발화된 발언을 캡처하는 오디오 데이터(202)는 공유 인코더(204)를 사용하여 처리되어 공유 인코더 출력(206)을 생성한다. 많은 구현에서, 오디오 데이터(202)는 클라이언트 디바이스의 하나 이상의 마이크로폰을 사용하여 캡처된다. ASR 모델의 제1-패스 부분은 공유 인코더 출력(206)을 생성하기 위해 공유 인코더(204)를 사용하여 오디오 데이터(202)를 처리하는 것과 RNN-T 출력(210)을 생성하기 위해 RNN-T 디코더(208)를 사용하여 공유 인코더 출력(206)을 처리하는 것을 포함할 수 있다. 일부 구현에서, 제1-패스 부분은 스트리밍 ASR이고, RNN-T 출력(210)은 스트리밍 방식으로 생성된 오디오 데이터(202)에서 캡처된 발언의 하나 이상의 후보 텍스트 표현(들)을 포함할 수 있다.
많은 구현에서, 제2-패스 부분은 비-스트리밍이고 LAS 출력(214)을 생성하기 위해 LAS 디코더(212)를 사용하여 RNN-T 출력(210)과 함께 공유 인코더 출력(206)을 처리하는 것을 포함할 수 있다. LAS 출력(214)은 오디오 데이터(202)의 최종 텍스트 표현(216)을 생성하기 위해 사용될 수 있다. 많은 구현에서, LAS 디코더(212)는 오디오 데이터(216)의 텍스트 표현을 생성하기 위해 오디오 데이터의 후보 텍스트 표현(들)을 개선하는데 사용될 수 있다(즉, LAS 디코더(212)는 RNN-T 출력(210)을 개선할 수 있다).
도 3은 본 명세서에 개시된 구현들이 구현될 수 있는 예시적인 환경(300)을 도시한다. 도 3은 클라이언트 디바이스(302)를 포함한다. 많은 구현에서, 클라이언트 디바이스(302)는 자동화 어시스턴트(미도시)의 인스턴스를 실행할 수 있다. 클라이언트 컴퓨팅 디바이스(302)는 예를 들어, 데스크탑 컴퓨팅 디바이스, 랩탑 컴퓨팅 디바이스, 태블릿 컴퓨팅 디바이스, 이동 전화 컴퓨팅 디바이스, 사용자 차량의 컴퓨팅 디바이스(예를 들어, 차량 내 통신 시스템, 차량 내 엔터테인먼트 시스템, 차량 내 내비게이션 시스템), 독립형 대화형 스피커, 스마트 텔레비전과 같은 스마트 기기, 및/또는 컴퓨팅 디바이스를 포함하는 사용자의 웨어러블 장치(예를 들어, 컴퓨팅 디바이스를 갖는 사용자의 시계, 컴퓨팅 디바이스를 갖는 사용자의 안경, 가상 또는 증강 현실 컴퓨팅 디바이스)일 수 있다. 추가 및/또는 대체 클라이언트 컴퓨팅 디바이스가 제공될 수 있다.
예시적인 환경(300)은 2-패스 ASR 엔진(304), 공유 인코더 모듈(306), RNN-T 디코더 모듈(310), LAS 디코더 모듈(312), 트레이닝 엔진(316), 트레이닝 인스턴스 엔진(318), 2-패스 ASR 모델(314), 트레이닝 인스턴스(320) 및/또는 추가 또는 대체 엔진(들) 및/또는 모델(들)(미도시)을 포함한다. 2-패스 ASR 엔진(304), 공유 인코더 모듈(306), RNN-T 디코더 모듈(310) 및 LAS 디코더 모듈(312)은 본 명세서에 설명된 기술이 인터페이스할 수 있는 예시적인 구성요소이다. 일부 구현에서, 도 3의 하나 이상의 엔진 및/또는 모듈(304, 306, 310, 312, 316)의 하나 이상의 양태가 결합될 수 있다. 예를 들어, 공유 인코더 모듈(306)의 양태는 LAS 디코더 모듈(312)의 양태와 결합될 수 있다.
트레이닝 인스턴스 엔진(320)은 트레이닝 인스턴스(318)를 생성할 수 있다. 예를 들어, 트레이닝 인스턴스 엔진(320)은 하나 이상의 트레이닝 인스턴스를 생성할 수 있으며, 여기서 각각의 트레이닝 인스턴스는 발언을 캡처하는 오디오 데이터 및 발언의 실제(ground truth) 텍스트 표현을 포함한다. 일부 구현에서, 트레이닝 인스턴스(318)는 본 명세서에 설명된 도 4의 프로세스(400)에 따라 트레이닝 인스턴스(320)에 의해 생성될 수 있다.
트레이닝 엔진(316)은 트레이닝 인스턴스(318)를 사용하여 2-패스 ASR 모델(314)을 트레이닝할 수 있다. 일부 구현에서, 2-패스 ASR 모델(314)은 공유 인코더 부분, RNN-T 디코더 부분, 및 LAS 디코더 부분을 포함할 수 있다(예를 들어, 2-패스 ASR 모델은 본 명세서에 기술된 바와 같이 도 2에 도시된 모델에 따를 수 있다). 예를 들어, 트레이닝 엔진(316)은 (1) 도 5의 프로세스(500)에 따라 공유 인코더 부분 및 RNN-T 디코더 부분을 트레이닝하고, (2) 단계 (1)에서 트레이닝된 공유 인코더를 사용하여 LAS 디코더 부분을 트레이닝하고, 여기서 공유 인코더는 도 6의 프로세스(600)에 따라 LAS 디코더의 트레이닝 동안 고정되고, 그리고 (3) 도 7의 프로세스(700)에 따라 공통 손실을 사용하여 상기 트레이닝된 공유 인코더, RNN-T 디코더, 및 LAS 디코더를 개선함으로써 2-패스 ASR 모델(314)을 트레이닝할 수 있다.
발언의 텍스트 표현을 생성하는 것은 도 8의 프로세스(800)와 관련하여 여기에서 설명된다. 2-패스 ASR 엔진(304)은 2-패스 ASR 모델(314)을 사용하여 캡처된 오디오 데이터의 텍스트 표현을 생성할 수 있다. 일부 구현에서, 2-패스 ASR 엔진(304)의 공유 인코더 모듈(306)은 2-패스 ASR 모델(314)의 공유 인코더 부분을 사용하여 캡처된 오디오 데이터를 처리하여 스트리밍 방식으로 공유 인코더 출력을 생성할 수 있다. RNN-T 디코더 모듈(310)은 2-패스 ASR 모델(314)의 RNN-T 디코더 부분을 사용하여 공유 인코더 출력을 처리하여 발언의 하나 이상의 후보 텍스트 표현을 생성할 수 있다. 일부 구현에서, RNN-T 디코더 모듈(310)은 공유 인코더 모듈(306)에 의해 스트리밍 방식으로 생성된 공유 인코더 출력을 처리할 수 있다. LAS 디코더 모듈(312)은 공유 인코더 모듈(306)을 사용하여 버퍼에 저장된 공유 인코더 출력과 함께 RNN-T 디코더 모듈을 사용하여 생성된 발언의 후보 텍스트 표현(들)을 처리함으로써 발언의 텍스트 표현을 생성할 수 있다.
도 4는 다양한 구현에 따라 2-패스 ASR 모델을 트레이닝하는데 사용될 수 있는 하나 이상의 트레이닝 인스턴스를 생성하는 프로세스(400)를 도시하는 흐름도이다. 편의상, 흐름도의 동작들은 그 동작들을 수행하는 시스템을 참조하여 설명한다. 이 시스템은 하나 이상의 프로세서(예를 들어, CPU(들), GPU(들) 및/또는 TPU(들))와 같은 하나 이상의 구성요소를 포함할 수 있다. 프로세스(400)의 동작들이 특정 순서로 도시되어 있지만, 이것이 제한하려는 것은 아니다. 하나 이상의 동작은 재정렬, 생략 및/또는 추가될 수 있다.
블록(402)에서, 시스템은 발언을 캡처하는 오디오 데이터의 인스턴스를 선택한다. 예를 들어, 오디오 데이터의 인스턴스는 사람이 "온도 조절기를 3도 올려"라는 발언을 말하는 것을 캡처할 수 있다.
블록(404)에서, 시스템은 발언의 텍스트 표현을 결정한다. 많은 구현에서, 발언의 텍스트 표현은 오디오 데이터의 선택된 인스턴스의 인간 검토자에 의해 결정될 수 있다. 추가적으로 또는 대안적으로, 발언의 텍스트 표현은 추가 ASR 시스템을 사용하여 결정될 수 있다. 많은 구현에서, 오디오 데이터의 텍스트 표현은 생성된 텍스트 표현이 인간 검토자에 의해 정확성에 대해 검토되는 추가 ASR 시스템을 사용하여 결정될 수 있다.
블록(406)에서, 시스템은 (1) 발언을 캡처하는 오디오 데이터의 인스턴스 및 (2) 발언의 텍스트 표현을 포함하는 트레이닝 인스턴스를 저장한다.
블록(408)에서, 시스템은 임의의 추가 트레이닝 인스턴스를 생성할지 여부를 결정한다. 그런 경우, 시스템은 오디오 데이터의 추가 인스턴스를 사용하여 블록(404 및 406)으로 진행하기 전에 블록(402)로 다시 진행하여 발언을 캡처하는 오디오 데이터의 추가 인스턴스를 선택한다. 많은 구현에서, 시스템은 임계 수의 트레이닝 인스턴스가 생성되었는지 여부, 오디오 데이터의 미처리된 임의의 인스턴스가 남아 있는지 여부 및/또는 추가 조건(들)이 충족되는지 여부와 같은 하나 이상의 조건이 충족되는지 여부에 기초하여 추가 트레이닝 인스턴스(들)를 생성할지 여부를 결정할 수 있다. 블록(408)에서 시스템이 임의의 추가 트레이닝 인스턴스를 생성하지 않기로 결정하면 프로세스가 종료된다.
도 5는 다양한 구현에 따른 2-패스 ASR 모델의 공유 인코더 및 RNN-T 디코더를 트레이닝하는 프로세스(500)를 도시하는 흐름도이다. 편의상, 흐름도의 동작들은 그 동작들을 수행하는 시스템을 참조하여 설명한다. 이 시스템은 하나 이상의 프로세서(예를 들어, CPU(들), GPU(들) 및/또는 TPU(들))와 같은 하나 이상의 구성요소를 포함할 수 있다. 프로세스(500)의 동작들이 특정 순서로 도시되어 있지만, 이것은 제한을 의미하지 않는다. 하나 이상의 동작은 재정렬, 생략 및/또는 추가될 수 있다.
블록(502)에서, 시스템은 (1) 발언을 캡처하는 오디오 데이터의 인스턴스 및 (2) 발언의 실제 표현을 포함하는 트레이닝 인스턴스를 선택한다. 일부 구현에서, 트레이닝 인스턴스는 도 4의 프로세스(400)에 따라 생성될 수 있다.
블록(504)에서, 시스템은 공유 인코더를 사용하여 트레이닝 인스턴스의 오디오 데이터 부분을 처리하여 공유 인코더 출력을 생성하고, RNN-T 디코더를 사용하여 공유 인코더 출력을 처리하여 예측 RNN-T 출력을 생성할 수 있다.
블록(506)에서, 시스템은 예측 RNN-T 출력 및 트레이닝 인스턴스의 실제 텍스트 표현 부분에 기초하여 RNN-T 손실을 생성한다.
블록(508)에서, 시스템은 RNN-T 손실에 기초하여, 공유 인코더의 하나 이상의 부분 및/또는 RNN-T 디코더의 하나 이상의 부분을 업데이트한다.
블록(510)에서, 시스템은 추가 트레이닝을 수행할지 여부를 결정한다. 그런 경우, 시스템은 블록(502)으로 다시 진행하고, 블록(510)의 추가 반복을 수행하기 전에 추가 트레이닝 인스턴스를 사용하여 블록(504, 506, 508)으로 진행하기 전에 추가 트레이닝 인스턴스를 선택한다. 일부 구현에서, 시스템은 하나 이상의 추가 미처리 트레이닝 인스턴스가 있고 및/또는 다른 기준(criterion)/기준(criteria)이 아직 충족되지 않은 경우 더 많은 트레이닝을 수행하도록 결정할 수 있다. 다른 기준/기준은 예를 들어 임계 수의 에포크(epochs)가 발생했는지 여부 및/또는 임계 트레이닝 지속 기간이 발생했는지 여부를 포함할 수 있다. 프로세스(500)가 비-배치(non-batch) 학습 기술과 관련하여 설명되지만, 배치 학습이 추가적으로 및/또는 대안적으로 이용될 수 있다. 블록(510)에서 시스템이 추가 트레이닝을 수행하지 않기로 결정하면 프로세스가 종료된다.
도 6은 다양한 구현에 따른 2-패스 ASR 모델의 LAS 디코더를 트레이닝하는 예시적인 프로세스(600)를 도시하는 흐름도이다. 편의상, 흐름도의 동작들은 그 동작들을 수행하는 시스템을 참조하여 설명한다. 이 시스템은 하나 이상의 프로세서(예를 들어, CPU(들), GPU(들), 및/또는 TPU(들))와 같은 하나 이상의 구성요소를 포함할 수 있다. 프로세스(600)의 동작들이 특정 순서로 도시되어 있지만, 이것이 제한하려는 것은 아니다. 하나 이상의 동작은 재정렬, 생략 및/또는 추가될 수 있다.
블록(602)에서, 시스템은 (1) 발언을 캡처하는 오디오 데이터 및 (2) 발언의 실제 표현을 포함하는 트레이닝 인스턴스를 선택한다. 일부 구현에서, 선택된 트레이닝 인스턴스는 2-패스 ASR 모델의 공유 인코더 및/또는 RNN-T 디코더 부분을 트레이닝하는데 사용되는 트레이닝 인스턴스와 구별된다. 일부 다른 구현에서, 선택된 트레이닝 인스턴스는 2-패스 ASR 모델의 공유 인코더 및/또는 RNN-T 디코더 부분을 트레이닝하기 위해 추가적으로 활용된다. 일부 구현에서, 트레이닝 인스턴스는 도 4의 프로세스(400)에 따라 생성될 수 있다.
블록(604)에서, 시스템은 공유 인코더 및 LAS 디코더를 사용하여 트레이닝 인스턴스의 오디오 데이터 부분을 처리하여 예측 LAS 출력을 생성한다. 많은 구현에서, 공유 인코더는 도 5의 프로세스(500)에서 RNN-T 디코더와 함께 트레이닝된 공유 인코더와 같은 RNN-T 디코더와 함께 시스템에 의해 이전에 트레이닝된다.
블록(606)에서, 시스템은 트레이닝 인스턴스의 발언 부분의 실제 표현 및 예측 LAS 출력에 기초하여 LAS 손실을 생성한다.
블록(608)에서, 시스템은 공유 인코더를 업데이트하지 않는 동안 LAS 손실에 기초하여 LAS 디코더의 하나 이상의 부분을 업데이트한다. 즉, 이전에 트레이닝된 공유 인코더는 LAS 디코더를 트레이닝하는 동안 고정(freeze)된다.
블록(610)에서, 시스템은 임의의 추가 트레이닝을 수행할지 여부를 결정한다. 그런 경우, 시스템은 블록(602)으로 다시 진행하여 추가 트레이닝 인스턴스를 선택한 다음, 추가 트레이닝 인스턴스에 기초하여 블록(604, 606, 608)의 반복을 수행하고, 그런 다음 블록(610)의 추가 반복을 수행한다. 일부 구현에서, 시스템은 하나 이상의 추가 미처리된 트레이닝 인스턴스가 있고 및/또는 다른 기준(criterion)/기준(criteria)이 아직 충족되지 않은 경우 더 많이 수행하도록 결정할 수 있다. 다른 기준/기준은 예를 들어 임계 수의 에포크가 발생했는지 여부 및/또는 임계 트레이닝 지속 기간이 발생했는지 여부를 포함할 수 있다. 프로세스(600)가 비-배치 학습 기술과 관련하여 설명되지만, 배치 학습이 추가적으로 및/또는 대안적으로 이용될 수 있다. 블록(610)에서 시스템이 추가 트레이닝을 수행하지 않기로 결정하면 프로세스가 종료된다.
도 7은 다양한 구현에 따른 트레이닝된 2-패스 ASR 모델을 개선하기 위해 공유 인코더, RNN-T 디코더 및/또는 LAS 디코더를 공동 트레이닝하는 예시적인 프로세스(700)를 도시하는 흐름도이다. 예를 들어, 공유 인코더 및/또는 RNN-T 디코더는 도 5의 프로세스(500)에 따라 트레이닝될 수 있고 및/또는 LAS 디코더는 도 6의 프로세스(600)에 따라 트레이닝될 수 있다. 편의상, 흐름도의 동작들은 그 동작들을 수행하는 시스템을 참조하여 설명한다. 이 시스템은 하나 이상의 프로세서(예를 들어, CPU(들), GPU(들) 및/또는 TPU(들))와 같은 하나 이상의 구성요소를 포함할 수 있다. 프로세스(700)의 동작들이 특정 순서로 도시되어 있지만, 이것은 제한을 의미하지 않는다. 하나 이상의 동작은 재정렬, 생략 및/또는 추가될 수 있다.
블록(702)에서, 시스템은 (1) 발언을 캡처하는 오디오 데이터 및 (2) 발언의 실제 텍스트 표현을 포함하는 트레이닝 인스턴스를 선택한다. 일부 구현에서, 선택된 트레이닝 인스턴스는 2-패스 ASR 모델의 공유 인코더, RNN-T 디코더 및/또는 LAS 디코더를 초기에 트레이닝하는데 사용되는 트레이닝 인스턴스들과 구별된다. 일부 다른 구현에서, 선택된 트레이닝 인스턴스는 2-패스 ASR 모델의 공유 인코더, RNN-T 디코더, 및/또는 LAS 디코더를 초기에 트레이닝하기 위해 추가적으로 활용된다. 일부 구현에서, 트레이닝 인스턴스는 도 4의 프로세스(400)에 따라 생성될 수 있다.
블록(704)에서, 시스템은 초기에 트레이닝된 공유 인코더를 사용하여 오디오 데이터를 처리하여 공유 인코더 출력을 생성한다. 예를 들어, 공유 인코더는 도 5의 프로세스(500)에 따라 초기에 트레이닝될 수 있다.
블록(706)에서, 시스템은 초기에 트레이닝된 RNN-T 디코더를 사용하여 공유 인코더 출력을 처리하여 예측 RNN-T 출력을 생성한다. 예를 들어, RNN-T 디코더는 도 5의 프로세스(500)에 따라 초기에 트레이닝될 수 있다.
블록(708)에서, 시스템은 초기에 트레이닝된 LAS 디코더를 사용하여 공유 인코더 출력을 처리하여 예측 LAS 출력을 생성한다. 예를 들어, LAS 디코더는 도 6의 프로세스(600)에 따라 초기에 트레이닝될 수 있다.
블록(710)에서, 시스템은 예측 RNN-T 출력, 예측 LAS 출력, 및 트레이닝 인스턴스의 실제 텍스트 표현 부분에 기초하여 결합 손실을 생성할 수 있다. 예를 들어, 시스템은 Lcombined(x,y*) =λLRNNT(x,y*)+(1-λ)LLAS(x,y*)의 결합 손실을 생성할 수 있는데, 여기서 x는 오디오 데이터의 인스턴스이고, y*는 트레이닝 인스턴스의 실제 텍스트 표현 부분이고, LRNNT는 예측된 RNN-T 출력과 트레이닝 인스턴스의 실제 텍스트 표현 부분을 기반으로 하는 RNN-T 손실이고, 그리고 LLAS는 예측된 LAS 출력과 트레이닝 인스턴스의 실제 텍스트 표현 부분을 기반으로 하는 LAS 손실이다. 추가적인 또는 대안적인 결합 손실이 많은 구현에 따라 이용될 수 있다.
블록(712)에서, 시스템은 결합 손실에 기초하여, (1) 공유 인코더의 하나 이상의 부분; (2) RNN-T 디코더의 하나 이상의 부분; 및/또는 (3) LAS 디코더의 하나 이상의 부분을 업데이트한다.
블록(714)에서, 시스템은 임의의 추가 트레이닝을 수행할지 여부를 결정한다. 그런 경우, 시스템은 블록(702)으로 다시 진행하여 추가 트레이닝 인스턴스를 선택한 다음, 추가 트레이닝 인스턴스에 기초하여 블록(704, 706, 708, 710 및 712)의 반복을 수행하고, 그런 다음 블록(714)의 추가 반복을 수행한다. 일부 구현에서, 시스템은 하나 이상의 추가 미처리된 트레이닝 인스턴스가 있고 및/또는 다른 기준/기준이 아직 충족되지 않은 경우 더 많은 트레이닝을 수행하도록 결정할 수 있다. 다른 기준/기준은 예를 들어 임계 수의 에포크가 발생했는지 여부 및/또는 임계 트레이닝 기간이 발생했는지 여부를 포함할 수 있다. 프로세스(700)가 비-배치 학습 기술과 관련하여 설명되지만, 배치 학습이 추가적으로 및/또는 대안적으로 이용될 수 있다. 블록(714)에서 시스템이 추가 트레이닝을 수행하지 않기로 결정하면 프로세스가 종료된다.
도 8은 2-패스 ASR 모델을 사용하여 오디오 데이터에 캡처된 발언의 텍스트 표현을 생성하는 프로세스(800)를 도시하는 흐름도이고, 여기서 2-패스 ASR 모델은 다양한 구현에 따라 공유 인코더, RNN-T 디코더 및 LAS 디코더를 포함한다. 편의상, 흐름도의 동작들은 그 동작들을 수행하는 시스템을 참조하여 설명한다. 이 시스템은 하나 이상의 프로세서(예를 들어, CPU(들), GPU(들) 및/또는 TPU(들))와 같은 하나 이상의 구성요소를 포함할 수 있다. 프로세스(800)의 동작들이 특정 순서로 도시되어 있지만, 이것은 제한을 의미하지 않는다. 하나 이상의 동작은 재정렬, 생략 및/또는 추가될 수 있다.
블록(802)에서, 시스템은 스트리밍 오디오 데이터를 수신하는데, 여기서 오디오 데이터는 사람에 의해 발화된 발언을 캡처한다. 많은 구현에서, 오디오 데이터는 클라이언트 디바이스의 하나 이상의 마이크로폰을 사용하여 캡처된다. 예를 들어, 오디오 데이터는 휴대폰의 마이크로폰(들)를 사용하여 캡처될 수 있다.
블록(804)에서, 사람이 스트리밍 방식으로 말하기를 끝내기 전에, 시스템은 2-패스 ASR 모델의 제1-패스 패스 부분을 사용하여 오디오 데이터를 처리함으로써 발언의 하나 이상의 후보 텍스트 표현을 생성한다. 많은 구현에서, 시스템은 (1) 공유 인코더 출력을 생성하기 위해 공유 인코더를 사용하여 오디오 데이터를 처리고 그리고 (2) 발언의 하나 이상의 후보 텍스트 표현을 생성하기 위해 RNN-T 디코더를 사용하여 공유 인코더 출력을 처리함으로써 2-패스 ASR 모델의 제1-패스 부분을 사용하여 오디오 데이터를 처리한다.
블록(806)에서, 시스템은 사람이 말하기를 마쳤다고 결정한다. 일부 구현에서, 시스템은 RNN-T 디코더를 사용하여 생성된 질의 토큰의 끝에 기초하여 사람이 말하기를 마쳤다고 결정할 수 있다. 일부 구현에서, 시스템은 엔드포인터 모델(미도시)을 사용하여 오디오 데이터를 처리함으로써 생성된 질의 토큰의 끝에 기초하여 사람이 말하기를 마쳤다고 결정할 수 있다.
블록(808)에서, 사람이 말하기를 마쳤다고 결정한 것에 응답하여, 시스템은 발언의 텍스트 표현을 생성하기 위해 (1) 공유 인코더 출력과 함께 (2) LAS 디코더를 사용하여 발언의 하나 이상의 후보 텍스트 표현을 처리함으로써 2-패스 ASR 모델의 제2패스 부분을 사용하여 발언의 텍스트 표현을 생성한다. 일부 구현에서, LAS 디코더는 RNN-T 디코더를 사용하여 생성된 상위-K 가설(즉, RNN-T 디코더를 사용하여 생성된 상위-K 후보 텍스트 표현)을 재스코어링하는데 사용될 수 있다. 예를 들어, LAS 디코더는 상위 3개 가설, 상위 5개 가설, 상위 20개 가설 및/또는 RNN-T 디코더를 사용하여 생성된 추가 수의 상위 가설을 재스코어링하는데 사용될 수 있다. 예를 들어, 상위 가설 각각에 대해, LAS 디코더는 공유 인코더 출력에 주의하면서 교사 강제 모드에서 실행되어, 후보 가설의 확률과 주의 파라미터(들)를 결합한 LAS 점수를 생성할 수 있다. 시스템은 발언의 텍스트 표현으로 가장 높은 LAS 스코어를 갖는 가설을 선택할 수 있다. 추가적으로 또는 대안적으로, LAS 디코더는 격자로서 표현된 발언의 상위 후보 텍스트 표현들을 트리 기반 격자로 재스코어링하는데 사용될 수 있다. 예를 들어, LAS 디코더는 공유 인코더 출력에 주의하면서 교사 강제 모드에서 각 격자 아크(lattice arc)를 처리하여 아크의 확률을 업데이트하는데 사용할 수 있다. 시스템은 확률이 LAS 디코더를 사용하여 업데이트된 후 가장 높은 확률을 갖는 후보 텍스트 표현으로서 발언의 텍스트 표현을 식별할 수 있다.
블록(810)에서, 시스템은 발언의 텍스트 표현에 기초하여 하나 이상의 액션을 수행한다. 예를 들어, 시스템은 화자를 위한 클라이언트 디바이스의 화면 상의 텍스트 표현에 기초하여 출력을 렌더링할 수 있다. 일부 구현들에서, 시스템은 사람이 발언을 말하는 동안 가장 높은 확률을 갖는 후보 텍스트 표현에 기초하여 출력을 렌더링하는 것과 같이 후보 텍스트 표현들 중 하나 이상에 기초하여 출력을 렌더링할 수 있다. 일부 그러한 구현에서, 시스템은 사람이 발언을 말하는 동안 렌더링된 출력을 수정함으로써 텍스트 표현에 기초하여 출력을 렌더링할 수 있다. 추가적으로 또는 대안적으로, 시스템은 발언의 텍스트 표현에 대해 하나 이상의 응답을 렌더링할 수 있다. 예를 들어, 시스템은 "오늘 날씨 어때?"라는 발언을 말하는 사람에 대한 응답으로 "화씨 75도이고 화창합니다"라는 응답을 렌더링할 수 있다. 추가적으로 또는 대안적으로, 시스템은 발언의 텍스트 표현에 기초하여 하나 이상의 클라이언트 디바이스를 제어할 수 있다. 예를 들어, 시스템은 "온도 조절기의 온도를 72도로 설정해"라는 발언에 대한 응답으로 네트워크로 연결된 스마트 온도 조절기의 온도를 72도로 변경할 수 있다. 다양한 구현에서, 시스템은 발언의 텍스트 표현에 기초하여 추가 및/또는 대안적인 액션을 수행할 수 있다.
이제 도 9를 참조하면, 다양한 구현이 수행될 수 있는 예시적인 환경이 도시되어 있다. 도 9는 초기에 설명되며, 자동화 어시스턴트 클라이언트(904)의 인스턴스를 실행하는 클라이언트 컴퓨팅 디바이스(902)를 포함한다. 하나 이상의 클라우드 기반 자동화 어시스턴트 구성요소(910)는 일반적으로 908로 표시된 하나 이상의 근거리 및/또는 광역 네트워크(예를 들어, 인터넷)를 통해 클라이언트 디바이스(902)에 통신 가능하게 연결된 하나 이상의 컴퓨팅 시스템(총칭하여 "클라우드" 컴퓨팅 시스템으로 지칭됨)에서 구현될 수 있다.
자동화 어시스턴트 클라이언트(904)의 인스턴스는 하나 이상의 클라우드 기반 자동화 어시스턴트 구성요소(910)와의 상호작용을 통해, 사용자의 관점에서 볼 때 사용자가 인간 대 컴퓨터 대화에 참여할 수 있는 자동화 어시스턴트(900)의 논리적 인스턴스인 것처럼 보이는 것을 형성할 수 있다. 그러한 자동화 어시스턴트(900)의 도 9에 도시되어 있다. 따라서, 일부 구현에서, 클라이언트 디바이스(902)에서 실행되는 자동화된 어시스턴트 클라이언트(904)에 참여(engage)하는 사용자는 사실상 자동화된 어시스턴트(900)의 자신의 논리적 인스턴스에 참여할 수 있음을 이해해야 한다. 간결함과 단순함을 위해, 본 명세서에서 특정 사용자를 "서빙"하는 것으로 사용되는 "자동화 어시스턴트"라는 용어는 종종 사용자에 의해 작동되는 클라이언트 디바이스(902)에서 실행되는 자동화 어시스턴트 클라이언트(904)와 하나 이상의 클라우드 기반 자동화 어시스턴트 구성요소(910)(이는 다수의 클라이언트 컴퓨팅 디바이스의 다수의 자동화 어시스턴트 클라이언트 사이에서 공유될 수 있음)의 조합을 지칭할 것이다. 또한 일부 구현에서 자동화 어시스턴트(900)는 사용자가 자동화 어시스턴트(900)의 특정 인스턴스에 의해 실제로 "서빙"되는지 여부에 관계없이 임의의 사용자로부터의 요청에 응답할 수 있음을 이해해야 한다.
클라이언트 컴퓨팅 디바이스(902)는 예를 들어, 데스크탑 컴퓨팅 디바이스, 랩탑 컴퓨팅 디바이스, 태블릿 컴퓨팅 디바이스, 모바일 폰 컴퓨팅 디바이스, 사용자의 차량의 컴퓨팅 디바이스(예를 들어, 차량내 통신 시스템, 차량내 엔터테인먼트 시스템, 차량내 내비게이션 시스템), 독립형 대화형 스피커, 스마트 텔레비전과 같은 스마트 기기, 및/또는 컴퓨팅 디바이스를 포함하는 사용자의 웨어어러블 장치(예를 들어, 컴퓨팅 디바이스를 갖는 사용자의 시계, 컴퓨팅 디바이스를 갖는 사용자의 안경, 가상 또는 증강 현실 컴퓨팅 디바이스)일 수 잇다. 추가 및/또는 대안적인 클라이언트 컴퓨팅 디바이스가 제공될 수 있다. 다양한 구현에서, 클라이언트 컴퓨팅 디바이스(902)는 메시지 교환 클라이언트(예를 들어, SMS, MMS, 온라인 채팅), 브라우저 등과 같은 자동화 어시스턴트 클라이언트(904)에 추가된 하나 이상의 다른 애플리케이션을 선택적으로 작동할 수 있다. 이러한 다양한 구현 중 일부에서, 하나 이상의 다른 애플리케이션은 (예를 들어, 애플리케이션 프로그래밍 인터페이스를 통해) 자동화 어시스턴트(900)와 선택적으로 인터페이스하거나, (클라우드 기반 자동화 어시스턴트 구성요소(들)(910)과 인터페이스할 수도 있는) 자동화 어시스턴트 애플리케이션의 자체 인스턴스를 포함할 수 있다.
자동화 어시스턴트(900)는 클라이언트 디바이스(902)의 사용자 인터페이스 입력 및 출력 디바이스를 통해 사용자와의 인간 대 컴퓨터 대화 세션에 참여한다. 사용자 프라이버시를 보호하고 및/또는 리소스를 절약하기 위해, 많은 상황에서 사용자는 자동화 어시스턴트가 음성 발언을 완전히 처리하기 전에 종종 명시적으로 자동화 어시스턴트(900)를 호출해야 한다. 자동화 어시스턴트(900)의 명시적 호출은 클라이언트 디바이스(902)에서 수신된 특정 사용자 인터페이스 입력에 응답하여 발생할 수 있다. 예를 들어, 클라이언트 디바이스(902)를 통해 자동화 어시스턴트(900)를 호출할 수 있는 사용자 인터페이스 입력은 선택적으로 클라이언트 디바이스(902)의 하드웨어 및/또는 가상 버튼의 작동을 포함할 수 있다. 더욱이, 자동화 어시스턴트 클라이언트는 하나 이상의 음성 호출 구문의 존재를 검출하도록 동작가능한 호출 엔진과 같은 하나 이상의 로컬 엔진(906)을 포함할 수 있다. 호출 엔진은 음성 호출 구문 중 하나의 검출에 응답하여 자동화 어시스턴트(900)를 호출할 수 있다. 예를 들어, 호출 엔진은 "Hey Assistant", "OK Assistant" 및/또는 "Assistant"와 같은 음성 호출 구문을 검출하는 것에 응답하여 자동화 어시스턴트(900)를 호출할 수 있다. 호출 엔진은 음성 호출 구문의 발생을 모니터링하기 위해 클라이언트 디바이스(602)의 하나 이상의 마이크로폰의 출력에 기초하는 오디오 데이터 프레임의 스트림을 연속적으로 처리할 수 있다(예를 들어, "비활성" 모드에 있지 않은 경우). 음성 호출 구문의 발생을 모니터링하는 동안, 호출 엔진은 음성 호출 구문을 포함하지 않는 모든 오디오 데이터 프레임을 폐기한다(예를 들어, 버퍼에 임시로 저장한 후). 그러나, 호출 엔진이 처리된 오디오 데이터 프레임에서 음성 호출 구문의 발생을 감지할 때, 호출 엔진은 자동화 어시스턴트(900)를 호출할 수 있다. 본 명세서에서 사용되는 바와 같이, 자동화 어시스턴트(900)를 "호출"하는 것은 자동화 어시스턴트(900)의 하나 이상의 이전에 비활성화된 기능이 활성화되게 하는 것을 포함할 수 있다. 예를 들어, 자동화 어시스턴트(900)를 호출하는 것은 호출 구문이 검출된 것에 기초하여 하나 이상의 로컬 엔진(906) 및/또는 클라우드 기반 자동화 어시스턴트 구성요소(910)가 오디오 데이터 프레임 및/또는 하나 이상의 다음 오디오를 추가로 처리하게 하는 것을 포함할 수 있다(반면에 호출하기 전에는 오디오 데이터 프레임의 추가 처리가 발생하지 않았음). 예를 들어, 로컬 및/또는 클라우드 기반 구성요소는 자동화 어시스턴트(900)의 호출에 응답하여 2-패스 ASR 모델을 사용하여 캡처된 오디오 데이터를 처리할 수 있다.
자동화 어시스턴트(900)의 하나 이상의 로컬 엔진(들)(906)은 선택적이며, 예를 들어 위에서 설명된 호출 엔진, 로컬 음성-텍스트 변환("STT") 엔진(캡처된 오디오를 텍스트로 변환), 로컬 텍스트-음성 변환("TTS") 엔진(텍스트를 음성으로 변환), 로컬 자연어 프로세서(오디오 및/또는 오디오에서 변환된 텍스트의 의미론적 의미 결정), 및/또는 다른 로컬 구성 요소를 포함할 수 있다. 클라이언트 디바이스(902)는 컴퓨팅 리소스(예를 들어, 프로세서 주기, 메모리, 배터리 등)와 관련하여 상대적으로 제한되기 때문에, 로컬 엔진(906)은 클라우드 기반 자동화 어시스턴트 구성요소(910)에 포함된 임의의 대응물에 비해 제한된 기능을 가질 수 있다.
클라우드 기반 자동화 어시스턴트 구성요소(910)는 로컬 엔진(들)(906)의 임의의 대응물에 비해 오디오 데이터 및/또는 기타 사용자 인터페이스 입력의 더 강력하고 및/또는 더 정확한 처리를 수행하기 위해 사실상 무한한 클라우드 리소스를 활용한다. 다시, 다양한 구현에서, 클라이언트 디바이스(902)는 호출 엔진이 음성 호출 구문을 검출하거나 자동화 어시스턴트(900)의 일부 다른 명시적 호출을 검출하는 것에 응답하여 오디오 데이터 및/또는 기타 데이터를 클라우드 기반 자동화 어시스턴트 컴포넌트(910)에 제공할 수 있다.
도시된 클라우드 기반 자동화 어시스턴트 구성요소(910)는 클라우드 기반 TTS 모듈(912), 클라우드 기반 STT 모듈(914), 자연어 프로세서(916), 대화 상태 추적기(918) 및 대화 관리자(920)를 포함한다. 일부 구현에서, 자동화 어시스턴트(900)의 엔진 및/또는 모듈 중 하나 이상은 생략, 결합, 및/또는 자동화 어시스턴트(900)와 별개인 구성요소에서 구현될 수 있다. 또한, 일부 구현에서, 자동화 어시스턴트(900)는 추가 및/또는 대안적인 엔진 및/또는 모듈을 포함할 수 있다. 클라우드 기반 STT 모듈(914)은 오디오 데이터를 텍스트로 변환할 수 있으며, 텍스트는 자연어 프로세서(916)에 제공될 수 있다.
클라우드 기반 TTS 모듈(912)은 텍스트 데이터(예를 들어, 자동화 어시스턴트(900)에 의해 공식화된 자연어 응답)를 컴퓨터 생성 음성 출력으로 변환할 수 있다. 일부 구현에서, TTS 모듈(912)은 예를 들어 하나 이상의 스피커를 사용하여 직접 출력되도록 컴퓨터 생성 음성 출력을 클라이언트 디바이스(902)에 제공할 수 있다. 다른 구현에서, 자동화 어시스턴트(900)에 의해 생성된 텍스트 데이터(예를 들어, 자연어 응답)는 로컬 엔진(들)(906) 중 하나에 제공될 수 있고, 로컬 엔진(들)(906)은 텍스트 데이터를 로컬로 출력되는 컴퓨터 생성 음성으로 변환할 수 있다.
자동화 어시스턴트(900)의 자연어 프로세서(916)는 자유 형식의 자연어 입력을 처리하고, 자연어 입력에 기초하여 자동화 어시스턴트(900)의 하나 이상의 다른 구성요소에 의해 사용하기 위한 주석이 달린 출력을 생성한다. 예를 들어, 자연어 프로세서(916)는 클라이언트 디바이스(902)를 통해 사용자에 의해 제공되는 오디오 데이터의 STT 모듈(914)에 의한 변환인 텍스트 입력인 자연어 자유 형식의 입력을 처리할 수 있다. 생성된 주석이 달린 출력은 자연어 입력의 하나 이상의 주석 및 선택적으로 자연어 입력의 용어 중 하나 이상(예를 들어, 모두)을 포함할 수 있다.
일부 구현에서, 자연어 프로세서(916)는 자연어 입력에서 다양한 유형의 문법 정보를 식별하고 주석을 달도록 구성된다. 일부 구현에서, 자연어 프로세서(916)는 추가로 및/또는 대안적으로 사람(예를 들어, 문학적 캐릭터, 유명인, 공인 등), 조직, 위치(실제 및 가상)에 대한 참조와 같은 하나 이상의 세그먼트에서 엔티티 참조에 주석을 달도록 구성된 엔티티 태거(미도시)를 포함할 수 있다. 일부 구현에서, 자연어 프로세서(916)는 추가적으로 및/또는 대안적으로 하나 이상의 컨텍스트 큐에 기초하여 동일한 엔티티에 대한 참조를 그룹화하거나 "클러스터링"하도록 구성된 상호참조 해석기(미도시)를 포함할 수 있다. 예를 들어, 상호 참조 해석기를 사용하여 자연어 입력 "나는 우리가 지난번에 거기에서 먹었던 가상 카페가 좋았다"에서 "거기"를 "가상 카페"로 해석할 수 있다. 일부 구현에서, 자연어 프로세서(916)의 하나 이상의 구성요소는 자연어 프로세서(916)의 하나 이상의 다른 구성요소로부터의 주석에 의존할 수 있다. 일부 구현에서, 특정 자연어 입력을 처리할 때, 자연어 프로세서(916)의 하나 이상의 구성요소는 하나 이상의 주석을 결정하기 위해 특정 자연어 입력 외부의 관련된 사전 입력 및/또는 다른 관련 데이터를 사용할 수 있다.
일부 구현에서, 대화 상태 추적기(918)는 예를 들어, 인간 대 컴퓨터 대화 세션의 과정 동안 및/또는 다수의 대화 세션에 걸쳐 하나 이상의 사용자 목표(또는 "의도")에 대한 믿음 상태(belief state)를 포함하는 "대화 상태"를 추적하도록 구성될 수 있다. 대화 상태를 결정할 때, 일부 대화 상태 추적기는 대화 세션의 사용자 및 시스템 발언에 기초하여, 대화에서 인스턴스화되는 슬롯(들)에 대한 가장 가능성 있는 값(들)을 결정하려고 할 수 있다. 일부 기술은 슬롯 세트 및 해당 슬롯과 연관된 값 세트를 정의하는 고정 온톨로지를 활용한다. 일부 기술은 추가로 또는 대안적으로 개별 슬롯 및/또는 도메인에 맞춰질 수 있다. 예를 들어, 일부 기술은 각 도메인의 각 슬롯 유형에 대한 모델을 트레이닝해야 할 수 있다.
대화 관리자(920)는 예를 들어 대화 상태 추적기(918)에 의해 제공되는 현재 대화 상태를 자동화 어시스턴트(900)에 의해 수행되는 복수의 후보 응답 액션 중 하나 이상의 "응답 액션"에 매핑하도록 구성될 수 있다. 응답 액션은 현재 대화 상태에 따라 다양한 형태로 나타날 수 있다. 예를 들어, 마지막 차례(turn) 이전에 발생하는 대화 세션의 차례에 해당하는 초기 및 중간 스트림 대화 상태(예를 들어, 사용자가 원하는 궁극적인 작업이 수행될 때)는 추가 자연어 대화를 출력하는 자동화 어시스턴트(900)를 포함하는 다양한 응답 액션에 매핑될 수 있다. 이 응답 대화는 예를 들어 대화 상태 추적기(918)가 사용자가 수행할 의도라고 믿는 일부 액션(즉, 슬롯 채우기)에 대한 파라미터를 사용자가 제공하라는 요청을 포함할 수 있다. 일부 구현에서 응답 액션은 "요청"(예를 들어, 슬롯 채우기를 위한 파라미터 탐색), "제안"(예를 들어, 사용자를 위한 액션 또는 액션 과정 제안), "선택", "알림"(예를 들어, 사용자에게 요청 정보 제공), "일치하지 않음(no match)"(예를 들어, 사용자의 마지막 입력이 이해되지 않음을 사용자에게 통지), 주변 디바이스에 대한 명령(예를 들어, 전구 끄기) 등과 같은 액션을 포함할 수 있다.
도 10은 본 명세서에 설명된 기술의 하나 이상의 양태를 수행하기 위해 선택적으로 이용될 수 있는 예시적인 컴퓨팅 디바이스(1010)의 블록도이다. 일부 구현에서, 클라이언트 컴퓨팅 디바이스 및/또는 다른 구성요소(들) 중 하나 이상은 예시적인 컴퓨팅 디바이스(1010)의 하나 이상의 구성요소를 포함할 수 있다.
컴퓨팅 디바이스(1010)는 일반적으로 버스 서브시스템(1012)을 통해 다수의 주변 디바이스와 통신하는 적어도 하나의 프로세서(1014)를 포함한다. 이러한 주변 디바이스는 예를 들어 메모리 서브시스템(1025) 및 파일 저장 서브시스템(1026), 사용자 인터페이스 출력 디바이스(1020), 사용자 인터페이스 입력 디바이스(1022), 및 네트워크 인터페이스 서브시스템(1016)을 포함하는 저장 서브시스템(1024)을 포함할 수 있다. 입력 및 출력 디바이스는 컴퓨팅 디바이스(1010)와의 사용자 상호작용을 허용한다. 네트워크 인터페이스 서브시스템(1016)은 외부 네트워크에 대한 인터페이스를 제공하고 다른 컴퓨팅 디바이스의 대응하는 인터페이스 디바이스에 연결된다.
사용자 인터페이스 입력 디바이스(1022)는 포인팅 디바이스(예를 들어, 키보드, 마우스, 트랙볼, 터치패드 또는 그래픽 태블릿), 스캐너, 디스플레이에 통합된 터치스크린, 오디오 입력 디바이스(예를 들어, 음성 인식 시스템, 마이크로폰 및/또는 기타 유형의 입력 디바이스)를 포함할 수 있다. 일반적으로, "입력 디바이스"라는 용어의 사용은 모든 가능한 유형의 디바이스 및 정보를 컴퓨팅 디바이스(1010) 또는 통신 네트워크에 입력하는 방법을 포함하도록 의도된다.
사용자 인터페이스 출력 디바이스(1020)는 디스플레이 서브시스템, 프린터, 팩스 기계, 또는 오디오 출력 디바이스와 같은 비-시각적 디스플레이를 포함할 수 있다. 디스플레이 서브시스템은 음극선관("CRT"), 액정 디스플레이("LCD")와 같은 평판 디바이스, 프로젝션 디바이스, 또는 시각적 이미지를 생성하기 위한 일부 다른 메커니즘을 포함할 수 있다. 디스플레이 서브시스템은 오디오 출력 디바이스와 같은 비-시각적 디스플레이를 제공할 수도 있다. 일반적으로, "출력 디바이스"라는 용어의 사용은 컴퓨팅 디바이스(1010)로부터 사용자 또는 다른 기계 또는 컴퓨팅 디바이스로 정보를 출력하는 모든 가능한 유형의 디바이스 및 방법을 포함하도록 의도된다.
저장 서브시스템(1024)은 본 명세서에 설명된 모듈의 일부 또는 전부의 기능을 제공하는 프로그래밍 및 데이터 구성을 저장한다. 예를 들어, 저장 서브시스템(1024)은 도 4, 도 5, 도 6, 도 7, 및/또는 도 8의 프로세스들 중 하나 이상의 선택된 양태를 수행하고 도 3 및/또는 도 9에 도시된 다양한 구성요소를 구현하기 위한 로직을 포함할 수 있다.
이러한 소프트웨어 모듈은 일반적으로 프로세서(1014) 단독으로 또는 다른 프로세서와 조합하여 실행된다. 저장 서브시스템(1024)에서 사용되는 메모리(1025)는 프로그램 실행 동안 명령들 및 데이터의 저장을 위한 주 랜덤 액세스 메모리("RAM")(1030) 및 고정 명령들이 저장되는 판독 전용 메모리("ROM")(1032)를 포함하는 다수의 메모리를 포함할 수 있다. 파일 저장 서브시스템(1026)은 프로그램 및 데이터 파일을 위한 영구 저장을 제공할 수 있으며, 하드 디스크 드라이브, 관련 이동식 매체와 함께 플로피 디스크 드라이브, CD-ROM 드라이브, 광학 드라이브 또는 이동식 매체 카트리지를 포함할 수 있다. 특정 구현의 기능을 구현하는 모듈은 파일 저장 서브시스템(1026)에 의해 저장 서브시스템(1024) 또는 프로세서(들)(1014)에 의해 액세스 가능한 다른 기계에 저장될 수 있다.
버스 서브시스템(1012)은 컴퓨팅 디바이스(1010)의 다양한 구성요소 및 서브시스템이 의도한 대로 서로 통신하게 하는 메커니즘을 제공한다. 버스 서브시스템(1012)이 단일 버스로 개략적으로 도시되어 있지만, 버스 서브시스템의 대안적인 구현은 다중 버스를 사용할 수 있다.
컴퓨팅 디바이스(1010)는 워크스테이션, 서버, 컴퓨팅 클러스터, 블레이드 서버, 서버 팜, 또는 임의의 다른 데이터 처리 시스템 또는 컴퓨팅 디바이스를 포함하는 다양한 유형일 수 있다. 컴퓨터 및 네트워크의 끊임없이 변화하는 특성으로 인해, 도 10에 도시된 컴퓨팅 디바이스(1010)에 대한 설명은 일부 구현을 설명하기 위한 특정 예로서만 의도된다. 컴퓨팅 디바이스(1010)의 많은 다른 구성이 도 10에 도시된 컴퓨팅 디바이스보다 더 많거나 더 적은 구성요소를 갖는 것이 가능하다.
본 명세서에 설명된 시스템이 사용자(또는 본 문서에서 종종 "참가자"라고 함)에 대한 개인 정보를 수집하거나 개인 정보를 사용할 수 있는 상황에서, 사용자에게는 프로그램 또는 기능이 사용자 정보(예를 들어, 사용자의 소셜 네트워크, 소셜 액션 또는 활동, 직업, 사용자의 선호도, 또는 사용자의 현재 지리적 위치)를 수집하는지 여부를 제어하거나, 사용자와 더 관련이 있을 수 있는 컨텐츠를 컨텐츠 서버로부터 수신할지 여부 및/또는 방법을 제어할 기회가 제공될 수 있다. 또한, 특정 데이터는 개인 식별 정보가 제거될 수 있도록 저장 또는 사용되기 전에 하나 이상의 방식으로 처리될 수 있다. 예를 들어, 사용자의 신원은 사용자에 대해 개인 식별 정보가 확인될 수 없도록 처리될 수 있거나, 사용자의 지리적 위치는 사용자의 특정 지리적 위치가 확인될 수 없도록 지리적 위치 정보가 획득된 곳에서 일반화할 수 있다(예를 들어, 도시, 우편 번호 또는 주 수준). 따라서, 사용자는 사용자에 대한 정보 수집 및/또는 사용 방법을 제어할 수 있다.
일부 구현에서, 프로세서(들)에 의해 구현되는 방법이 제공되고, 이는 세그먼트의 시퀀스를 포함하고 인간 화자에 의해 발화된 발언을 캡처하는 오디오 데이터를 수신하는 것을 포함한다. 방법은 세그먼트 각각에 대해, 시퀀스에서: 순환 신경망 변환기("RNN-T") 출력을 생성하기 위해 자동 음성 인식("ASR") 모델의 제1-패스 부분을 사용하여 세그먼트를 처리하는 단계를 더 포함한다. ASR 모델의 제1-패스 부분을 사용하여 세그먼트 각각을 처리하는 단계는 공유 인코더 출력을 생성하기 위해 공유 인코더 부분을 사용하여 세그먼트를 처리하는 단계; 공유 인코더 출력을 공유 인코더 버퍼의 다음 아이템으로서 추가하는 단계; 및 RNN-T 출력의 대응하는 부분을 생성하기 위해 RNN-T 디코더 부분을 사용하여 공유 인코더 출력을 처리하는 단계를 포함한다. 방법은 RNN-T 출력에 기초하여 발언의 하나 이상의 제1-패스 후보 텍스트 표현을 결정하는 단계, 및 인간 화자가 발언을 말하기를 끝냈다고 결정하는 단계를 더 포함한다. 방법은 인간 화자가 발언을 말하기를 끝냈다고 결정하는 것에 응답하여, ASR 모델의 제2-패스 LAS 디코더 부분을 사용하여, (a) RNN-T 출력 및/또는 (b) 발언의 하나 이상의 제1-패스 후보 텍스트 표현과 함께 공유 인코더 버퍼로부터의 공유 인코더 출력을 처리하는 것에 기초하여 청취 주의 철자("LAS") 출력을 생성하는 단계를 더 포함한다. 방법은 LAS 출력에 기초하여 발언의 최종 텍스트 표현을 생성하는 단계를 더 포함한다.
기술의 이러한 구현 및 기타 구현은 다음 특징들 중 하나 이상을 포함할 수 있다.
일부 구현에서, 방법은 발언의 하나 이상의 제1-패스 후보 텍스트 표현 중 적어도 하나에 기초하여, 스트리밍 방식으로 출력을 렌더링하는 단계; 및 발언의 최종 텍스트 표현에 기초하여 상기 렌더링된 출력을 업데이트하는 단계를 더 포함한다.
일부 구현에서, 방법은 발언의 최종 텍스트 표현에 기초하여 하나 이상의 디바이스를 제어하는 단계를 더 포함한다.
일부 구현에서, 방법은 최종 텍스트 표현에 응답하여 컨텐츠를 결정하는 단계, 및 결정된 컨텐츠에 기초하여 출력을 렌더링하는 단계를 더 포함한다.
일부 구현에서, 프로세서(들)에 의해 구현되는 방법이 제공되며, 이 방법은 발언을 수신하는 단계; 제1-패스, 순환 신경망 변환기(RNN-T), 종단 간(E2E) 디코더 및 제2-패스, LAS(isten, Attend and Spell) 디코더를 포함하는 다중-패스 디코더를 사용하여 발언 처리하는 단계; 및 다중-패스 디코더를 이용하여 발언을 처리한 최종 결과를 출력하는 단계를 포함한다.
기술의 이러한 구현 및 기타 구현은 다음 특징들 중 하나 이상을 포함할 수 있다.
일부 구현에서, 다중-패스 디코더를 사용하여 발언을 처리하는 단계는 처리를 위해 발언을 나타내는 오디오 데이터의 프레임을 RNN-T, E2E 디코더로 전송하는 단계; 발언 처리 결과가 확정되기 전에, 출력을 위해 RNN-T, E2E 디코더를 사용하여 오디오 데이터의 전송된 프레임을 처리한 하나 이상의 스트리밍 결과를 제공하는 단계; RNN-T, E2E 디코더가 상기 전송된 프레임의 처리를 완료한 후, 발언을 나타내는 오디오 데이터의 프레임을 처리를 위해 LAS 디코더로 전송하는 단계; 및 LAS 디코더를 사용하여 상기 전송된 오디오 데이터 프레임을 처리한 결과에 기초하여 발언 처리 결과를 확정하는 단계를 포함한다. 이러한 구현들 중 일부에서, 방법은 RNN-T, E2E 디코더를 사용하여 오디오 데이터의 상기 전송된 프레임을 처리하는 스트리밍 결과 중 하나 이상을 LAS 디코더로 전송하는 단계를 더 포함한다. 발언 처리 결과는 LAS 디코더를 사용하여 하나 이상의 스트리밍 결과를 처리한 결과에 기초하여 추가로 확정될 수 있다. 이러한 구현들 중 일부에서, 발언을 처리한 결과를 확정하는 단계는 LAS 디코더를 사용하여 RNN-T, E2E 디코더로부터 LAS 디코더로 전송되는 하나 이상의 스트리밍 결과 중에서 선택된 특정 스트리밍 결과를 선택하는 단계를 포함한다.
일부 구현에서, 발언는 LAS 디코더가 제2 빔 탐색 모드에 있는 동안 LAS 디코더에 의해 처리된다.
일부 구현에서, 발언는 LAS 디코더가 재스코어링 모드에 있는 동안 LAS 디코더에 의해 처리된다.
일부 구현에서, 다중-패스 디코더는 LAS 디코더 및 RNN-T, E2E 디코더 모두와 공유되는 단일 인코더를 더 포함한다.
일부 구현에서, 다중-패스 디코더는 최소 단어 오류율(MWER)을 최적화하도록 트레이닝된다.
일부 구현에서, 다중-패스 디코더는 RNN-T, E2E 디코더를 독립적으로 트레이닝한 다음 RNN-T, E2E 디코더를 트레이닝하는 것을 중단하고 그런 다음 LAS 디코더를 독립적으로 트레이닝하는 것을 포함하는 다중 단계 접근법을 사용하여 트레이닝된다.
또한, 일부 구현은 하나 이상의 컴퓨팅 디바이스의 하나 이상의 프로세서(예컨대, 중앙 처리 장치(들)(CPUs), 그래픽 처리 장치(들)(GPUs) 및/또는 텐서 처리 장치(들)(TPUs)를 포함하고, 여기서 하나 이상의 프로세서는 관련 메모리에 저장된 명령들을 실행하도록 작동 가능하고, 명령들은 본 명세서에 설명된 방법 중 임의의 방법의 성능을 유발하도록 구성된다. 일부 구현은 또한 본 명세서에 설명된 방법 중 임의의 것을 수행하기 위해 하나 이상의 프로세서에 의해 실행 가능한 컴퓨터 명령을 저장하는 하나 이상의 비-일시적 컴퓨터 판독 가능 저장 매체를 포함한다.
여러 구현이 본 명세서에 설명되고 도시되었지만, 기능을 수행하고 및/또는 결과 및/또는 본 명세서에 설명된 하나 이상의 이점을 얻기 위한 다양한 다른 수단 및/또는 구조가 이용될 수 있고, 이러한 변형 및/또는 수정 각각은 본 명세서에 설명된 구현의 범위 내에 있는 것으로 간주된다. 보다 일반적으로, 본 명세서에 기술된 모든 파라미터, 치수, 재료 및 구성은 예시를 의미하며 실제 파라미터, 치수, 재료 및/또는 구성은 교시가 사용되는 특정 애플리케이션 또는 애플리케이션에 의존할 것이다. 당업자는 일상적인 실험을 사용하여 본 명세서에 설명된 특정 구현에 대한 많은 등가물을 인식 또는 확인할 수 있을 것이다. 따라서, 전술한 구현은 단지 예로서 제시되고 첨부된 청구범위 및 그에 대한 등가물의 범위 내에서 구현이 구체적으로 설명되고 청구된 것과 다르게 실행될 수 있음을 이해해야 한다. 본 개시의 구현은 본 명세서에 기재된 각각의 개별 특징, 시스템, 물품, 재료, 키트 및/또는 방법에 관한 것이다. 또한, 2개 이상의 이러한 기능, 시스템, 물품, 재료, 키트 및/또는 방법의 조합은 이러한 기능, 시스템, 물품, 재료, 키트 및/또는 방법이 서로 일치하지 않는 경우 본 개시의 범위에 포함된다.

Claims (16)

  1. 컴퓨터 구현 방법으로서,
    발언을 수신하는 단계;
    제1-패스, 순환 신경망 변환기(RNN-T), 종단 간(E2E) 디코더 및 제2-패스, LAS(Listen, Attend and Spell) 디코더를 포함하는 다중-패스 디코더를 사용하여 발언을 처리하는 단계; 및
    다중-패스 디코더를 사용하여 발언을 처리한 최종 결과를 출력하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  2. 제1항에 있어서,
    상기 다중-패스 디코더를 사용하여 발언을 처리하는 단계는,
    발언을 나타내는 오디오 데이터의 프레임을 처리를 위해 RNN-T, E2E 디코더로 전송하는 단계;
    발언 처리 결과가 확정되기 전에, 출력을 위해 RNN-T, E2E 디코더를 사용하여 상기 전송된 오디오 데이터의 프레임을 처리한 하나 이상의 스트리밍 결과를 제공하는 단계;
    RNN-T, E2E 디코더가 상기 전송된 프레임의 처리를 완료한 후, 발언을 나타내는 오디오 데이터의 프레임을 처리를 위해 LAS 디코더로 전송하는 단계; 및
    LAS 디코더를 사용하여 상기 전송된 오디오 데이터의 프레임을 처리한 결과에 기초하여 발언을 처리한 결과를 확정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  3. 제2항에 있어서,
    RNN-T, E2E 디코더를 사용하여 상기 전송된 오디오 데이터 프레임을 처리한 스트리밍 결과 중 하나 이상을 LAS 디코더로 전송하는 단계를 포함하고,
    상기 발언을 처리한 결과는 LAS 디코더를 사용하여 하나 이상의 스트리밍 결과를 처리한 결과에 기초하여 추가로 확정되는 것을 특징으로 하는 컴퓨터 구현 방법.
  4. 제3항에 있어서,
    상기 발언을 처리한 결과를 확정하는 단계는,
    LAS 디코더에 의해, RNN-T, E2E 디코더로부터 RNN-T, E2E 디코더로 전송되는 하나 이상의 스트리밍 결과 중에서 선택된 특정 스트리밍 결과를 선택하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  5. 임의의 선행하는 항에 있어서,
    상기 발언는 LAS 디코더가 제2 빔 탐색 모드에 있는 동안 LAS 디코더에 의해 처리되는 것을 특징으로 하는 컴퓨터 구현 방법.
  6. 임의의 선행하는 항에 있어서,
    상기 발언는 LAS 디코더가 재스코어링 모드에 있는 동안 LAS 디코더에 의해 처리되는 것을 특징으로 하는 컴퓨터 구현 방법.
  7. 임의의 선행하는 항에 있어서,
    상기 다중-패스 디코더는 LAS 디코더 및 RNN-T, E2E 디코더 모두와 공유되는 단일 인코더를 더 포함하는 것을 특징으로 하는 컴퓨터 구현 방법.
  8. 임의의 선행하는 항에 있어서,
    상기 다중-패스 디코더는 최소 단어 오류율(MWER)을 최적화하도록 트레이닝되는 것을 특징으로 하는 컴퓨터 구현 방법.
  9. 임의의 선행하는 항에 있어서,
    상기 다중-패스 디코더는 RNN-T, E2E 디코더를 독립적으로 트레이닝한 다음, RNN-T, E2E 디코더를 트레이닝하는 것을 중단하고, 그런 다음 LAS 디코더를 독립적으로 트레이닝하는 것을 포함하는 다중 단계 접근법을 사용하여 트레이닝되는 것을 특징으로 하는 컴퓨터 구현 방법.
  10. 하나 이상의 프로세서에 의해 구현되는 방법으로서, 상기 방법은:
    세그먼트의 시퀀스를 포함하는 오디오 데이터를 수신하고 인간 화자에 의해 발화된 발언을 캡처하는 단계;
    각 세그먼트에 대해 세그먼트대로:
    순환 신경망 변환기("RNN-T") 출력을 생성하기 위해 자동 음성 인식(ASR) 모델의 제1-패스 부분을 사용하여 세그먼트를 처리하는 단계, 상기 ASR 모델의 제1-패스 부분을 사용하여 세그먼트를 처리하는 단계는:
    공유 인코더 출력을 생성하기 위해 공유 인코더 부분을 사용하여 세그먼트를 처리하는 단계와,
    공유 인코더 출력을 공유 인코더 버퍼의 다음 아이템으로서 추가하는 단계와, 그리고
    RNN-T 출력의 대응하는 부분을 생성하기 위해 RNN-T 디코더 부분을 사용하여 공유 인코더 출력을 처리하는 단계를 포함하고;
    RNN-T 출력에 기초하여 발언의 하나 이상의 제1-패스 후보 텍스트 표현을 결정하는 단계;
    인간 화자가 발언 말하기를 마쳤는지 결정하는 단계;
    인간 화자가 발언 말하기를 마쳤다고 결정한 것에 응답하여, ASR 모델의 제2-패스 LAS 디코더 부분을 사용하여, (a) RNN-T 출력 또는 (b) 발언의 하나 이상의 제1-패스 후보 텍스트 표현 중 적어도 하나와 함께 공유 인코더 버퍼로부터의 공유 인코더 출력을 처리하는 것에 기초하여 LAS((Listen, Attend and Spell) 출력을 생성하는 단계; 및
    LAS 출력에 기초하여 발언의 최종 텍스트 표현을 생성하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  11. 제10항에 있어서,
    스트리밍 방식으로, 발언의 하나 이상의 제1-패스 후보 텍스트 표현 중 적어도 하나에 기초하여 출력을 렌더링하는 단계; 및
    발언의 최종 텍스트 표현에 기초하여 상기 렌더링된 출력을 업데이트하는 단계를 더 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  12. 제10항 또는 제11항에 있어서,
    발언의 최종 텍스트 표현에 기초하여 하나 이상의 디바이스를 제어하는 단계를 더 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  13. 제10항 내지 제12항 중 어느 한 항에 있어서,
    최종 텍스트 표현에 응답하여 컨텐츠를 결정하는 단계; 및
    결정된 컨텐츠에 기초하여 출력을 렌더링하는 단계를 더 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  14. 컴퓨팅 시스템의 하나 이상의 프로세서에 의해 실행될 때 컴퓨팅 시스템으로 하여금 임의의 선행하는 항의 방법을 수행하게 하는 명령들을 포함하는 컴퓨터 프로그램.
  15. 제1항 내지 제13항 중 어느 한 항의 방법을 수행하기 위해, 클라이언트 디바이스의 메모리에 저장된 명령들을 실행하는 하나 이상의 프로세서를 포함하는 클라이언트 디바이스.
  16. 제1항 내지 제13항 중 어느 한 항의 방법을 수행하기 위해 컴퓨팅 시스템의 하나 이상의 프로세서에 의해 실행 가능한 명령들을 저장하는 컴퓨터 판독 가능 저장 매체.
KR1020217037998A 2019-06-04 2020-06-03 2-패스 방식의 종단간 음성 인식 KR20210154849A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962856815P 2019-06-04 2019-06-04
US62/856,815 2019-06-04
US201962943703P 2019-12-04 2019-12-04
US62/943,703 2019-12-04
PCT/US2020/035912 WO2020247489A1 (en) 2019-06-04 2020-06-03 Two-pass end to end speech recognition

Publications (1)

Publication Number Publication Date
KR20210154849A true KR20210154849A (ko) 2021-12-21

Family

ID=71842812

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217037998A KR20210154849A (ko) 2019-06-04 2020-06-03 2-패스 방식의 종단간 음성 인식

Country Status (7)

Country Link
US (1) US20220310072A1 (ko)
EP (2) EP4047596A1 (ko)
JP (2) JP2022534888A (ko)
KR (1) KR20210154849A (ko)
CN (1) CN114097025A (ko)
AU (2) AU2020288565B2 (ko)
WO (1) WO2020247489A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200090035A1 (en) * 2018-09-19 2020-03-19 International Business Machines Corporation Encoder-decoder memory-augmented neural network architectures
KR20230006010A (ko) * 2020-05-07 2023-01-10 구글 엘엘씨 종단 간 모델로 단어 타이밍 방출
CN113724713A (zh) * 2021-09-07 2021-11-30 科大讯飞股份有限公司 一种语音识别方法、装置、设备及存储介质
US20230104244A1 (en) * 2021-09-17 2023-04-06 International Business Machines Corporation Separating acoustic and linguistic information in neural transducer models for end-to-end speech recognition
US11880645B2 (en) 2022-06-15 2024-01-23 T-Mobile Usa, Inc. Generating encoded text based on spoken utterances using machine learning systems and methods
WO2024009746A1 (ja) * 2022-07-07 2024-01-11 ソニーグループ株式会社 モデル生成装置、モデル生成方法、信号処理装置、信号処理方法、及び、プログラム
CN115394300B (zh) * 2022-10-28 2023-03-31 广州小鹏汽车科技有限公司 语音交互方法、语音交互装置、车辆和可读存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3148322B2 (ja) * 1992-01-24 2001-03-19 株式会社日立製作所 音声認識装置
US7729912B1 (en) * 2003-12-23 2010-06-01 At&T Intellectual Property Ii, L.P. System and method for latency reduction for automatic speech recognition using partial multi-pass results
KR102386854B1 (ko) * 2015-08-20 2022-04-13 삼성전자주식회사 통합 모델 기반의 음성 인식 장치 및 방법
US9799327B1 (en) * 2016-02-26 2017-10-24 Google Inc. Speech recognition with attention-based recurrent neural networks
CN109937446B (zh) * 2016-10-10 2023-08-04 谷歌有限责任公司 用于端到端语音识别的极深卷积神经网络
US20180330718A1 (en) * 2017-05-11 2018-11-15 Mitsubishi Electric Research Laboratories, Inc. System and Method for End-to-End speech recognition
CN111429889B (zh) * 2019-01-08 2023-04-28 百度在线网络技术(北京)有限公司 基于截断注意力的实时语音识别的方法、装置、设备以及计算机可读存储介质
US10861441B2 (en) * 2019-02-14 2020-12-08 Tencent America LLC Large margin training for attention-based end-to-end speech recognition

Also Published As

Publication number Publication date
AU2020288565B2 (en) 2023-02-16
AU2020288565A1 (en) 2021-12-09
AU2023202949B2 (en) 2024-05-16
WO2020247489A1 (en) 2020-12-10
JP2024019405A (ja) 2024-02-09
CN114097025A (zh) 2022-02-25
JP2022534888A (ja) 2022-08-04
EP3776536A1 (en) 2021-02-17
EP3776536B1 (en) 2022-04-06
US20220310072A1 (en) 2022-09-29
EP4047596A1 (en) 2022-08-24
AU2023202949A1 (en) 2023-06-01

Similar Documents

Publication Publication Date Title
EP3776536B1 (en) Two-pass end to end speech recognition
US20220238101A1 (en) Two-pass end to end speech recognition
KR20210008520A (ko) 화자 임베딩(들)과 트레이닝된 생성 모델을 이용한 화자 분리
US20200043469A1 (en) Generating additional training data for a natural language understanding engine
US11854533B2 (en) Speaker awareness using speaker dependent speech model(s)
JP7351018B2 (ja) エンド・ツー・エンド音声認識における固有名詞認識
KR20220130699A (ko) 심의 모델 기반 2패스 종단간 음성 인식
CN114365216A (zh) 按讲话者进行语音识别的目标话音分离
JP2023175029A (ja) アテンションベースのジョイント音響およびテキストのオンデバイス・エンド・ツー・エンドモデル
JP2024510817A (ja) 効率的なストリーミング非リカレントオンデバイスエンドツーエンドモデル
US11646035B1 (en) Dialog management system
US11756533B2 (en) Hot-word free pre-emption of automated assistant response presentation
US20230230578A1 (en) Personalized speech query endpointing based on prior interaction(s)