KR20230158608A - 종단 간 자동 음성 인식 신뢰도 및 삭제 추정을 위한 멀티태스크 학습 - Google Patents

종단 간 자동 음성 인식 신뢰도 및 삭제 추정을 위한 멀티태스크 학습 Download PDF

Info

Publication number
KR20230158608A
KR20230158608A KR1020237036276A KR20237036276A KR20230158608A KR 20230158608 A KR20230158608 A KR 20230158608A KR 1020237036276 A KR1020237036276 A KR 1020237036276A KR 20237036276 A KR20237036276 A KR 20237036276A KR 20230158608 A KR20230158608 A KR 20230158608A
Authority
KR
South Korea
Prior art keywords
utterance
word
sub
confidence
transcription
Prior art date
Application number
KR1020237036276A
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 KR20230158608A publication Critical patent/KR20230158608A/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
    • 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/02Feature extraction for speech recognition; Selection of recognition unit
    • 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/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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • G10L15/197Probabilistic grammars, e.g. word n-grams
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/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
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • G10L2015/025Phonemes, fenemes or fenones being the recognition units

Landscapes

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

Abstract

방법(500)은 발화(12)의 트랜스크립션(204)에 대응하는 음성 인식 결과(222)를 수신하는 단계를 포함한다. 음성 인식 결과의 가설화된 하위-단어 유닛들의 시퀀스 내의 각각의 하위-단어 유닛에 대해, 방법은 또한, 대응하는 하위-단어 유닛이 제1 음성 인식기(200)로부터 출력된 때인 대응하는 출력 스텝에 연관된 각각의 신뢰도 임베딩(242)을 획득하는 단계; 신뢰도 특징 벡터(312)를 생성하는 단계; 음향 컨텍스트 벡터(322)를 생성하는 단계; 및 신뢰도 추정 모듈의 출력 레이어에 의해 입력으로서 수신된 신뢰도 특징 벡터 및 음향 컨텍스트 벡터에 기초하여, 대응하는 하위-단어 유닛에 대한 각각의 신뢰도 출력 점수(302)를 생성하는 단계를 포함한다. 방법은 또한, 가설화된 하위-단어 유닛들의 시퀀스 내의 각각의 하위-단어 유닛에 대해 생성된 각각의 신뢰도 출력 점수에 기초하여, 발화의 트랜스크립션에 대한 발화-레벨 신뢰도 점수(350)를 결정하는 단계를 포함한다.

Description

종단 간 자동 음성 인식 신뢰도 및 삭제 추정을 위한 멀티태스크 학습
본 개시내용은 종단 간 자동 음성 인식 신뢰도 및 삭제 추정(end-to-end automated speech recognition confidence and deletion estimation)을 위한 멀티태스크 학습에 관한 것이다.
최신의 자동 음성 인식(automatic speech recognition)(ASR) 시스템들은 품질/정확도(예를 들어, 낮은 단어 에러 레이트(word error rate)(WER)들)뿐만 아니라 낮은 레이턴시(예를 들어, 사용자 말하기(user speaking)와 트랜스크립션 출현(transcription appearing) 사이의 짧은 지연)을 제공하는 데 중점을 둔다. 또한, 오늘날 ASR 시스템을 사용할 때, ASR 시스템은 사용자가 말할 때 발화(utterance)의 트랜스크립션을 실시간으로, 또는 심지어는 실시간보다 훨씬 더 빠르게 디스플레이하는 것에 대응하는 스트리밍 방식으로 발화들을 디코딩해야 한다는 요구가 있다. 실례를 들자면, ASR 시스템이 직접적인 사용자 상호작용을 경험하는 모바일 폰 상에 배치될 때, ASR 시스템을 사용하는 모바일 폰 상의 애플리케이션은 단어들, 단어 조각들 및/또는 개별 문자들이 말해지자마자 화면 상에 나타나게끔 음성 인식이 스트리밍될 것을 요구할 수 있다. 여기서, 또한 모바일 폰의 사용자는 레이턴시에 대한 인내력(tolerance)이 낮을 가능성이 높다. 이러한 낮은 인내력으로 인해, 음성 인식은 사용자의 경험에 불리한 영향을 미칠 수 있는 레이턴시 및 부정확성으로 인한 영향을 최소화하는 방식으로 모바일 디바이스에서 실행되려고 노력하고 있다.
본 개시내용의 일 양태는 종단 간 자동 음성 인식 신뢰도 및 삭제 추정을 위한 멀티태스크 학습을 위해 컴퓨터에 의해 구현되는 방법(computer-implemented method)을 제공한다. 컴퓨터에 의해 구현되는 방법은 데이터 프로세싱 하드웨어 상에서 실행될 때 데이터 프로세싱 하드웨어로 하여금 제1 음성 인식기로부터, 사용자에 의해 말해진 발화의 트랜스크립션에 대응하는 음성 인식 결과를 수신하는 동작을 포함하는 동작들을 수행하게 한다. 음성 인식 결과는 발화의 트랜스크립션의 하나 이상의 단어를 형성하는 가설화된 하위-단어 유닛들의 시퀀스를 포함하고, 각각의 하위-단어 유닛은 대응하는 출력 스텝에서 제1 음성 인식기로부터 출력된다. 가설화된 하위-단어 유닛들의 시퀀스 내의 각각의 하위-단어 유닛에 대해, 신뢰도 추정 모듈을 사용하여, 동작들은 또한 대응하는 하위-단어 유닛이 제1 음성 인식기로부터 출력된 때인 대응하는 출력 스텝에 연관된 각각의 신뢰도 임베딩을 획득하는 동작을 포함한다. 동작들은 신뢰도 추정 모듈을 추가로 사용하여, 대응하는 하위-단어 유닛에 대한 각각의 신뢰도 임베딩, 및 대응하는 하위-단어 유닛을 진행하는 가설화된 하위-단어 유닛들의 시퀀스 내의 임의의 다른 하위-단어 유닛들에 대해 획득된 신뢰도 임베딩들에 자체-주의집중(self-attend)하는 제1 주의집중 메커니즘(attention mechanism)을 사용하여 신뢰도 특징 벡터(confidence feature vector)를 생성한다. 동작들은 신뢰도 추정 모듈을 계속 사용하여, 발화에 대응하는 오디오 데이터로부터 분할된 대응하는 음향 프레임에 각각 연관된 인코딩들의 시퀀스에 교차-주의집중(cross-attend)하는 제2 주의집중 메커니즘을 사용하여 음향 컨텍스트 벡터를 생성한다. 또한, 다음으로, 동작들은 신뢰도 추정 모듈을 사용하여, 신뢰도 추정 모듈의 출력 레이어로부터의 출력으로서, 신뢰도 추정 모듈의 출력 레이어에 의해 입력으로서 수신된 신뢰도 특징 벡터 및 음향 특징 벡터에 기초하여, 대응하는 하위-단어 유닛에 대한 각각의 신뢰도 출력 점수를 생성한다. 동작들은 또한 가설화된 하위-단어 유닛들의 시퀀스 내의 각각의 하위-단어 유닛에 대해 생성된 각각의 신뢰도 출력 점수에 기초하여, 발화의 트랜스크립션에 대한 발화-레벨 신뢰도 점수를 결정하는 동작을 포함한다.
본 개시내용의 구현들은 이하의 임의적(optional) 특징들 중 하나 이상을 포함할 수 있다. 일부 구현들에서, 발화의 트랜스크립션에 대한 발화 레벨 신뢰도 점수를 결정하는 동작은 발화의 트랜스크립션의 하나 이상의 단어 중의 각각의 단어에 대해, 대응하는 단어 내의 최종 하위-단어 유닛에 대해 생성된 각각의 신뢰도 출력 점수와 동일한 각각의 단어-레벨 신뢰도 점수를 결정하는 동작을 포함한다. 이러한 구현들은 발화의 트랜스크립션에 대한 발화-레벨 신뢰도 점수를 결정하기 위해 트랜스크립션의 하나 이상의 단어 각각에 대해 결정된 각각의 단어-레벨 신뢰도 점수들을 집계하는 동작을 더 포함한다.
일부 추가 구현들에서, 동작들은 계층적 주의집중 메커니즘(hierarchical attention mechanism)을 사용하여, 발화에 대한 음성 인식 결과가 올바르게 인식되는 확률을 추정하는 동작; 발화에 대한 음성 인식 결과가 올바르게 인식되는 추정된 확률, 및 발화가 올바르게 인식되는지 여부를 나타내는 그라운드 트루스 레이블(ground-truth label)에 기초하여, 음성 인식 결과에 대한 발화-레벨 손실을 결정하는 동작; 및 발화-레벨 손실에 대해 신뢰도 추정 모델을 훈련하는 동작을 더 포함한다.
일부 예들에서, 신뢰도 추정 모델과 제1 음성 인식기는 연합하여 훈련된다. 동작들은 발화의 단어들의 시퀀스 내의 각각의 위치에서, 삭제들의 개수를 추정하는 동작; 음성 인식 결과, 및 단어들의 시퀀스 내의 각각의 위치에서의 추정된 삭제 개수 및 그라운드 트루스 삭제 개수에 대한 삭제 손실을 결정하는 동작; 및 삭제 손실에 대해 신뢰도 추정 모델을 훈련하는 동작을 포함할 수 있다.
일부 구현들에서, 동작들은 신뢰도 추정 모델을 훈련한 후에, 제1 음성 인식기에 의해 인식된 후보 음성 인식 결과들을 다시 채점하는 동작을 더 포함한다. 하위-단어 유닛들은 단어조각들(wordpieces) 또는 문자소들(graphemes)을 포함할 수 있다.
일부 예들에서, 제1 음성 인식기는 다수의 후보 가설을 생성하도록 구성된 트랜스듀서 디코더 모델(transducer decoder model)을 포함하고, 각각의 후보 가설은 발화에 대한 후보 트랜스크립션에 대응하고 가설화된 하위-단어 유닛들의 각각의 시퀀스에 의해 표현된다. 이러한 구현들에서, 트랜스듀서 디코더 모델은 순환 신경망-트랜스듀서(Recurrent Neural Network-Transducer)(RNN-T) 모델 아키텍처를 포함할 수 있다.
일부 구현들에서, 동작들은 발화의 트랜스크립션에 대한 발화-레벨 신뢰도 점수가 신뢰도 임계값을 충족하는지를 결정하는 동작을 더 포함한다. 이러한 구현들에서, 발화의 트랜스크립션에 대한 발화-레벨 신뢰도 점수가 신뢰도 임계값을 충족하지 못하는 경우: 동작들은 제1 음성 인식기로부터의 트랜스크립션 출력을 거부하는 동작, 및 사용자에 의해 말해진 발화를 다시 트랜스크립션하기 위해, 사용자에 의해 말해진 발화에 대응하는 오디오 데이터를 프로세싱하도록 제2 음성 인식기에 지시하는 동작을 더 포함한다. 이러한 구현들에서, 제1 음성 인식기는 사용자에 연관된 사용자 디바이스에 상주할 수 있고, 제2 음성 인식기는 사용자 디바이스와 통신하는 원격 서버 상에서 실행될 수 있고, 사용자 디바이스는 발화의 트랜스크립션에 대한 발화-레벨 신뢰도 점수가 신뢰도 임계값을 충족하지 못하는 경우, 오디오 데이터를 원격 서버에 전송할 수 있다. 또한, 이러한 구현들에서, 제2 음성 인식기는 제1 음성 인식기보다 더 계산-집약적(computationally-intensive)일 수 있다.
본 개시내용의 다른 양태는 종단 간 자동 음성 인식 신뢰도 및 삭제 추정을 위한 멀티태스크 학습을 위한 시스템을 제공한다. 시스템은 데이터 프로세싱 하드웨어, 및 데이터 프로세싱 하드웨어와 통신하는 메모리 하드웨어를 포함한다. 메모리 하드웨어는 데이터 프로세싱 하드웨어 상에서 실행될 때 데이터 프로세싱 하드웨어로 하여금 제1 음성 인식기로부터, 사용자에 의해 말해진 발화의 트랜스크립션에 대응하는 음성 인식 결과를 수신하는 동작을 포함하는 동작들을 수행하게 하는 명령어들을 저장한다. 음성 인식 결과는 발화의 트랜스크립션의 하나 이상의 단어를 형성하는 가설화된 하위-단어 유닛들의 시퀀스를 포함하고, 각각의 하위-단어 유닛은 대응하는 출력 스텝에서 제1 음성 인식기로부터 출력된다. 가설화된 하위-단어 유닛들의 시퀀스 내의 각각의 하위-단어 유닛에 대해, 신뢰도 추정 모듈을 사용하여, 동작들은 또한 대응하는 하위-단어 유닛이 제1 음성 인식기로부터 출력된 때인 대응하는 출력 스텝에 연관된 각각의 신뢰도 임베딩을 획득하는 동작을 포함한다. 동작들은 신뢰도 추정 모듈을 또한 사용하여, 대응하는 하위-단어 유닛에 대한 각각의 신뢰도 임베딩, 및 대응하는 하위-단어 유닛을 진행하는 가설화된 하위-단어 유닛들의 시퀀스 내의 임의의 다른 하위-단어 유닛들에 대해 획득된 신뢰도 임베딩들에 자체-주의집중하는 제1 주의집중 메커니즘을 사용하여 신뢰도 특징 벡터를 생성한다. 동작들은 신뢰도 추정 모듈을 계속 사용하여, 발화에 대응하는 오디오 데이터로부터 분할된 대응하는 음향 프레임에 각각 연관된 인코딩들의 시퀀스에 교차-주의집중하는 제2 주의집중 메커니즘을 사용하여 음향 컨텍스트 벡터를 생성한다. 또한, 동작들은 신뢰도 추정 모듈을 사용하여, 신뢰도 추정 모듈의 출력 레이어로부터의 출력으로서, 신뢰도 추정 모듈의 출력 레이어에 의해 입력으로서 수신된 신뢰도 특징 벡터 및 음향 특징 벡터에 기초하여, 대응하는 하위-단어 유닛에 대한 각각의 신뢰도 출력 점수를 생성한다. 동작들은 또한 가설화된 하위-단어 유닛들의 시퀀스 내의 각각의 하위-단어 유닛에 대해 생성된 각각의 신뢰도 출력 점수에 기초하여, 발화의 트랜스크립션에 대한 발화-레벨 신뢰도 점수를 결정하는 동작을 포함한다.
이러한 양태는 이하의 임의적 특징들 중 하나 이상을 포함할 수 있다. 일부 구현들에서, 발화의 트랜스크립션에 대한 발화 레벨 신뢰도 점수를 결정하는 동작은 발화의 트랜스크립션의 하나 이상의 단어 중의 각각의 단어에 대해, 대응하는 단어 내의 최종 하위-단어 유닛에 대해 생성된 각각의 신뢰도 출력 점수와 동일한 각각의 단어-레벨 신뢰도 점수를 결정하는 동작을 포함한다. 이러한 구현들은 발화의 트랜스크립션에 대한 발화-레벨 신뢰도 점수를 결정하기 위해 트랜스크립션의 하나 이상의 단어 각각에 대해 결정된 각각의 단어-레벨 신뢰도 점수들을 집계하는 동작을 더 포함한다.
일부 추가 구현들에서, 동작들은 계층적 주의집중 메커니즘을 사용하여, 발화에 대한 음성 인식 결과가 올바르게 인식되는 확률을 추정하는 동작; 발화에 대한 음성 인식 결과가 올바르게 인식되는 추정된 확률, 및 발화가 올바르게 인식되는지 여부를 나타내는 그라운드 트루스 레이블에 기초하여, 음성 인식 결과에 대한 발화-레벨 손실을 결정하는 동작; 및 발화-레벨 손실에 대해 신뢰도 추정 모델을 훈련하는 동작을 더 포함한다.
일부 예들에서, 신뢰도 추정 모델과 제1 음성 인식기는 연합하여 훈련된다. 동작들은 발화의 단어들의 시퀀스 내의 각각의 위치에서, 삭제들의 개수를 추정하는 동작; 음성 인식 결과, 및 단어들의 시퀀스 내의 각각의 위치에서의 추정된 삭제 개수 및 그라운드 트루스 삭제 개수에 대한 삭제 손실을 결정하는 동작; 및 삭제 손실에 대해 신뢰도 추정 모델을 훈련하는 동작을 포함할 수 있다.
일부 구현들에서, 동작들은 신뢰도 추정 모델을 훈련한 후에, 제1 음성 인식기에 의해 인식된 후보 음성 인식 결과들을 다시 채점하는 동작을 더 포함한다. 하위-단어 유닛들은 단어조각들 또는 문자소들을 포함할 수 있다.
일부 구현들에서, 제1 음성 인식기는 다수의 후보 가설을 생성하도록 구성된 트랜스듀서 디코더 모델을 포함하고, 각각의 후보 가설은 발화에 대한 후보 트랜스크립션에 대응하고 가설화된 하위-단어 유닛들의 각각의 시퀀스에 의해 표현된다. 이러한 구현들에서, 트랜스듀서 디코더 모델은 순환 신경망-트랜스듀서(RNN-T) 모델 아키텍처를 포함할 수 있다.
일부 예들에서, 동작들은 발화의 트랜스크립션에 대한 발화-레벨 신뢰도 점수가 신뢰도 임계값을 충족하는지를 결정하는 동작을 더 포함한다. 이러한 예들에서, 발화의 트랜스크립션에 대한 발화-레벨 신뢰도 점수가 신뢰도 임계값을 충족하지 못하는 경우: 동작들은 제1 음성 인식기로부터의 트랜스크립션 출력을 거부하는 동작, 및 사용자에 의해 말해진 발화를 다시 트랜스크립션하기 위해, 사용자에 의해 말해진 발화에 대응하는 오디오 데이터를 프로세싱하도록 제2 음성 인식기에 지시하는 동작을 더 포함한다. 이러한 예들에서, 제1 음성 인식기는 사용자에 연관된 사용자 디바이스에 상주할 수 있고, 제2 음성 인식기는 사용자 디바이스와 통신하는 원격 서버 상에서 실행될 수 있고, 사용자 디바이스는 발화의 트랜스크립션에 대한 발화-레벨 신뢰도 점수가 신뢰도 임계값을 충족하지 못하는 경우, 오디오 데이터를 원격 서버에 전송할 수 있다. 또한, 이러한 예들에서, 제2 음성 인식기는 제1 음성 인식기보다 더 계산-집약적일 수 있다.
본 개시내용의 하나 이상의 구현의 세부사항들은 첨부 도면들 및 이하의 설명에 제시된다. 다른 양태들, 특징들 및 이점들은 설명 및 도면들로부터, 그리고 청구항들로부터 명백할 것이다.
도 1은 예시적인 음성 환경의 개략도이다.
도 2는 예시적인 음성 인식기, 및 음성 인식기에 오버레이된 신뢰도 추정 모델의 개략도이다.
도 3은 멀티태스크 학습을 사용하여 도 2의 신뢰도 추정 모듈을 훈련하는 것의 개략도이다.
도 4는 발화-레벨 신뢰도에 기초하여 적절한 음성 인식기를 선택하기 위한 예시적인 신뢰도 기반 루틴의 개략도이다.
도 5는 음성 인식기에 의해 출력된 트랜스크립션의 발화-레벨 신뢰도 점수를 결정하는 방법에 대한 예시적인 동작 배열의 흐름도이다.
도 6은 본 명세서에 설명된 시스템들 및 방법들을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 디바이스의 개략도이다.
다양한 도면들에서 유사한 참조 기호들은 유사한 요소들을 나타낸다.
자동 음성 인식(ASR) 시스템들은 품질/정확도(예를 들어, 낮은 단어 에러 레이트(WER)들)뿐만 아니라 낮은 레이턴시(예를 들어, 사용자 말하기와 트랜스크립션 출현 사이의 짧은 지연)을 제공하는 데 중점을 둔다. 최근에, 순환 신경망-트랜스듀서(RNN-T), 트랜스포머 또는 컨포머 트랜스듀서와 같은 종단 간(E2E) ASR 모델들, 및 주의집중 기반 인코더-디코더 모델들은 정확도와 레이턴시에서 최첨단의 성능을 달성하는 데에 있어서 인기를 얻어왔다. 별도의 음향, 발음, 및 언어 모델들을 포함하는 종래의 하이브리드 ASR 시스템들과 달리, E2E 모델들은 훈련 데이터, 예를 들어 발화-트랜스크립션 쌍들로부터 종단 간 훈련되는 단일 신경망에서 음향 및 언어 모델링을 연합하여 학습하기 위해 시퀀스-대-시퀀스 접근법을 적용한다.
시퀀스-대-시퀀스 모델들의 예들은 "주의집중 기반(attention-based)" 모델들 및 "청취-주의집중-철자(listen-attend-spell)"(LAS) 모델들을 포함한다. LAS 모델은 청취기(listener) 컴포넌트, 주의집중기(attender) 컴포넌트 및 철자기(speller) 컴포넌트를 사용하여 음성 발화들을 문자들로 트랜스크립션한다. 여기서, 청취기는 오디오 입력(예를 들어, 음성 입력의 시간-주파수 표현)을 수신하고 오디오 입력을 더 높은 레벨의 특징 표현에 매핑하는 순환 신경망(RNN) 인코더이다. 주의집중기는 입력 특징들과 예측된 하위-단어 유닛들(예를 들어, 문자소 또는 단어조각) 간의 정렬을 학습하기 위해 더 높은 레벨의 특징에 주의집중한다. 철자기는 가설화된 단어들의 세트에 걸친 확률 분포를 생성함으로써 입력으로부터 문자 시퀀스들을 생성하는 주의집중 기반 RNN 디코더이다. 통합된 구조를 사용하면, 모델의 모든 컴포넌트가 단일 종단 간(E2E) 신경망으로서 연합하여 훈련될 수 있다. 여기서, E2E 모델은 전적으로 신경망으로 구성된 아키텍처를 갖는 모델을 지칭한다. 완전한 신경망은 외부의 및/또는 수동으로 설계된 컴포넌트들(예를 들어, 유한 상태 트랜스듀서들, 어휘집(lexicon), 또는 텍스트 정규화 모듈들(text normalization modules)) 없이 기능한다. 추가적으로, E2E 모델들을 훈련할 때, 이러한 모델들은 일반적으로 의사결정 트리들로부터의 부트스트래핑(bootstrapping) 또는 별도 시스템으로부터의 시간 정렬들을 필요로 하지 않는다.
또한, 오늘날 ASR 시스템을 사용할 때, ASR 시스템은 사용자가 말할 때 발화의 트랜스크립션을 실시간으로, 또는 심지어는 실시간보다 훨씬 더 빠르게 디스플레이하는 것에 대응하는 스트리밍 방식으로 발화들을 디코딩해야 한다는 요구가 있다. 실례를 들자면, ASR 시스템이 직접적인 사용자 상호작용을 경험하는 모바일 폰 상에 배치될 때, ASR 시스템을 사용하는 모바일 폰 상의 애플리케이션은 단어들, 단어 조각들 및/또는 개별 문자들이 말해지자마자 화면 상에 나타나게끔 음성 인식이 스트리밍될 것을 요구할 수 있다. 여기서, 또한 모바일 폰의 사용자는 레이턴시에 대한 인내력이 낮을 가능성이 높다. 이러한 낮은 인내력으로 인해, 음성 인식은 사용자의 경험에 불리한 영향을 미칠 수 있는 레이턴시 및 부정확성으로 인한 영향을 최소화하는 방식으로 모바일 디바이스에서 실행되려고 노력하고 있다. 그러나, 출력 텍스트를 생성하기 전에 오디오의 전체 입력 시퀀스를 검토함으로써 기능하는 LAS 모델과 같은 시퀀스-대-시퀀스 모델은, 입력들이 수신될 때 출력들을 스트리밍하도록 허용하지 않는다. 이러한 결함으로 인해, 레이턴시에 민감한 및/또는 실시간 음성 트랜스크립션을 요구하는 음성 애플리케이션들에 LAS 모델들을 배치하면 문제가 발생할 수 있다. 이로 인해, LAS 모델 단독으로는 실시간 애플리케이션들(예를 들어, 실시간 통신 애플리케이션들)에 종종 의존하는 모바일 기술(예를 들어, 모바일 폰)에 이상적인 모델이 아니게 된다.
순환 신경망 트랜스듀서(RNN-T)로 알려진 또 다른 형태의 시퀀스-대-시퀀스 모델은 주의집중 메커니즘을 사용하지 않으며, 일반적으로 전체 시퀀스(예를 들어, 오디오 파형)를 프로세싱하여 출력(예를 들어, 문장)을 생성할 필요가 있는 다른 시퀀스-대-시퀀스 모델들과 달리, RNN-T는 입력 샘플들을 지속적으로 프로세싱하고 출력 심볼들을 스트리밍하며, 이는 실시간 통신에 특히 매력적인 특징이다. 예를 들어, RNN-T를 사용하는 음성 인식은 말해지는 대로 하나씩 문자들을 출력할 수 있다. 여기서, RNN-T는 모델에 의해 예측된 심볼들을 그 자신에게 다시 공급하여 다음 심볼들을 예측하는 피드백 루프를 사용한다. RNN-T 디코딩은 대규모 디코더 그래프를 대신하여 단일 신경망을 통한 빔 검색을 포함하므로, RNN-T는 서버 기반 음성 인식 모델의 크기의 일부로 스케일링될 수 있다. 크기 감소를 통해, RNN-T는 전적으로 디바이스 상에 배치될 수 있으며, 오프라인으로(즉, 네트워크 연결 없이)으로 실행될 수 있고; 따라서 통신 네트워크들의 신뢰불가능성 문제들을 피할 수 있다.
그러나, RNN-T 모델 단독으로는 품질(예를 들어, 음성 인식 정확도) 측면에서 대규모 최첨단 종래 모델(예를 들어, 별도의 AM, PM 및 LM들을 갖는 서버 기반 모델)에 비해 여전히 뒤떨어져 있다. 그러나, 비-스트리밍 E2E, LAS 모델은 대규모 최첨단 종래 모델들에 필적할 수 있는 음성 인식 품질을 갖는다. 비-스트리밍 E2E LAS 모델의 품질을 활용하기 위해, RNN-T 네트워크의 제1-패스 컴포넌트, 및 그에 후속하는 LAS 네트워크의 제2-패스 컴포넌트를 포함하는 2-패스 음성 인식 시스템(two-pass speech recognition system)(예를 들어, 도 2a에 도시됨)이 개발되었다. 이 설계를 사용하면, 2-패스 모델은 낮은 레이턴시를 갖는 RNN-T 모델의 스트리밍 성질로부터 혜택을 받는 한편, LAS 네트워크를 통합하는 제2-패스를 통해 RNN-T 모델의 정확도를 향상시킨다. LAS 네트워크는 RNN-T 모델과만 비교할 때 레이턴시를 증가시키지만, 레이턴시 증가는 상당히 경미하고 디바이스 내 동작에 대한 레이턴시 제약들을 준수한다. 정확도와 관련하여, 2-패스 모델은 RNN-T 단독과 비교할 때 17-22% WER 감소를 달성하고, 대규모 종래 모델과 비교할 때 유사한 WER을 갖는다.
신뢰도 점수들은 음성 인식 에러들을 완화하기 위해 많은 다운스트림 애플리케이션들을 지원하는 ASR 시스템들의 중요한 특징이다. 예를 들어, 높은 신뢰도를 달성하는 ASR 모델로부터 출력된 인식 결과들을 갖는 레이블 지정 없는 발화들(unlabeled utterances)은 ASR 모델의 반-지도식 훈련(semi-supervised training)에 사용될 수 있으며, 이는 훈련을 위해 트랜스크립션된 발화들만을 사용하는 비용을 줄일 수 있다. 반면에, 사용자가 컴퓨팅 디바이스 상에서 실행되는 디지털 어시스턴트와 상호작용하는 음성 대화 시스템들(spoken dialog systems)과 같은 애플리케이션에서, 낮은 단어-레벨 신뢰도를 달성하는 인식 결과들을 갖는 발화들은 사용자에게 임의의 잘못 트랜스크립션된 단어들을 정정하도록 프롬프트할 수 있다. 추가적으로, 낮은 신뢰도를 갖는 인식 결과들은, 발화에 대한 인식을 향상시키기 위해, 대응하는 발화에 대한 오디오를 계산적으로 더 광범위한 다른 ASR 모델(예를 들어, 서버 측)에 전달하는 결과를 가져올 수 있다.
종래의 하이브리드 ASR 시스템들은 격자들(lattices) 또는 혼동 네트워크들(confusion networks)로부터 계산된 다음 발화-레벨 신뢰도를 제공하도록 집계되는 단어 사후 확률들(word posterior probabilities)로부터 단어-레벨 신뢰도 점수들을 쉽게 추정할 수 있지만, E2E ASR 모델들에 의해 사용되는 심층 신경망들은 단어들을 예측할 때 과다-신뢰(overconfidence)를 나타내는 경향이 있다. 많은 E2E ASR 모델은 하위-단어 레벨에서 인식 결과들을 출력하도록 구성되므로, 단순히 단어에 대한 대응하는 고정된 하위-단어 토큰화를 참조 시퀀스로서 사용하여 ASR 모델에 의해 인식되는 각각의 하위-단어에 대한 신뢰도 점수들을 학습하는 것은 신뢰도 추정 모델들을 훈련하기 위해 사용되는 잘못된 그라운드 트루스 레이블들을 야기할 수 있는데, 이는 인식 결과들이 다수의 유효한 토큰화를 포함할 수 있기 때문이다. 예를 들어, "Good morning"이라는 발화에 대한 참조 고정 하위-단어 시퀀스는 "go, od, morn, ing"일 수 있는 반면, ASR 모델에 의해 인식되는 가설화된 하위-단어 시퀀스는 "go, od, mor, ning, mom"일 수 있다. 여기서, "morning"이라는 단어가 ASR 모델에 의해 올바르게 인식되더라도, ASR 모델에 의해 인식된 대응하는 가설화된 하위-단어들 "mor" 및 "ning"에 대한 하위-단어 레이블들은 올바르지 않게 레이블링되는데, 왜냐하면 그들은 단어 "morning"에 대한 대응하는 참조 고정 하위-단어들 "morn" 및 "ing"과 일치하지 않기 때문이다.
참조 고정 하위-단어 시퀀스들 사이의 불일치들에 기인하는, ASR 모델들에 의해 인식되는 가설화된 하위-단어 시퀀스들에 대한 하위-단어 신뢰도 점수들의 추정에 연관된 단점들을 완화하기 위해, 본 명세서의 구현들은 대응하는 단어를 구성하는 ASR 모델에 의해 인식된 최종 가설화된 하위-단어 유닛의 신뢰도만을 사용하여 각각의 인식된 단어에 대한 단어-레벨 신뢰도를 추정하기 위해 자체-주의집중을 적용하는 신뢰도 추정 모듈에 관한 것이다. 2021년 2월 23일자로 출원된 미국 출원 제17/182,592호의 내용은 그 전체가 참조로 포함된다. ASR 모델에 의해 인식된 각각의 가설화된 단어의 단어-레벨 신뢰도만을 학습하면, 가설 내의 총 단어 수에 대한 올바른 단어들의 비율의 추정이 제공된다. 그러나, 훈련 레이블들은 전체 발화가 올바르게 인식되었는지, 또는 ASR 모델에 의해 인식된 가설 내에 임의의 삭제가 있는지에 대한 임의의 신호들을 제공하지 않는다. 따라서, 단어-레벨 신뢰도를 추정하는 것은 삭제들을 모델링하지 않으며, 발화 내의 단어들에 대한 단어-레벨 신뢰도의 집계에 기초하는 전체 발화 신뢰도는 많은 유용한 단어-레벨 훈련 신호들을 폐기한다. 본 명세서의 구현들은 또한 단어 훈련, 발화 훈련 및 삭제 훈련에 관련된 목표들을 사용하여 신뢰 모델을 연합 훈련하기 위한 멀티태스크 학습을 적용하는 것에 관한 것이다.
도 1은 사용자(10)가 음성 입력을 통해 사용자 디바이스(110)와 상호작용하는 예시적인 음성 환경(100)이다. 사용자 디바이스(110)(일반적으로 디바이스(110)라고도 지칭됨)는 음성 지원 환경(speech-enabled environment)(100) 내의 하나 이상의 사용자(10)로부터 사운드들(예를 들어, 스트리밍 오디오 데이터)를 캡처하도록 구성된 컴퓨팅 디바이스를 포함한다. 여기서, 스트리밍 오디오 데이터(202)는 가청 질의, 디바이스(110)에 대한 커맨드, 또는 디바이스(110)에 의해 캡처되는 가청 통신으로서 기능하는, 사용자(10)에 의해 말해진 발화를 지칭할 수 있다. 디바이스(110)의 음성 지원 시스템들은 질의에 응답하고/거나 커맨드가 수행되게 함으로써 질의 또는 커맨드에 대처할 수 있다.
사용자 디바이스(110)는 오디오 데이터(202)를 수신할 수 있는 임의의 컴퓨팅 디바이스에 대응할 수 있다. 사용자 디바이스들(110)의 일부 예들은 모바일 디바이스들(예를 들어, 모바일 폰들, 태블릿들, 랩탑들 등), 컴퓨터들, 웨어러블 디바이스들(예를 들어, 스마트 워치들), 스마트 기기들, 사물 인터넷(IoT) 디바이스들, 스마트 스피커들/디스플레이들, 차량 인포테인먼트 시스템 등을 포함하지만 이에 제한되지는 않는다. 사용자 디바이스(110)는 데이터 프로세싱 하드웨어(112), 및 데이터 프로세싱 하드웨어(112)와 통신하고, 데이터 프로세싱 하드웨어(112)에 의해 실행될 때 데이터 프로세싱 하드웨어(112)로 하여금 하나 이상의 동작을 수행하게 하는 명령어들을 저장하는 메모리 하드웨어(114)를 포함한다. 사용자 디바이스(110)는 음성 지원 시스템(100) 내의 말해진 발화들(12)을 캡처하고 전기 신호들로 변환하기 위한 오디오 캡처 디바이스(예를 들어, 마이크로폰)(116, 116a), 및 (예를 들어, 디바이스(110)로부터의 출력 오디오 데이터로서) 가청 오디오 신호를 전달하기 위한 음성 출력 디바이스(예를 들어, 스피커)(116, 116b)를 갖는 오디오 서브시스템(116)을 더 포함한다. 도시된 예에서는 사용자 디바이스(110)가 단일 오디오 캡처 디바이스(116a)를 구현하지만, 사용자 디바이스(110)는 본 개시내용의 범위로부터 벗어나지 않고서 오디오 캡처 디바이스들(116a)의 어레이를 구현할 수 있으며, 이로써 어레이 내의 하나 이상의 캡처 디바이스(116a)는 사용자 디바이스(110)에 물리적으로 상주하지 않을 수 있지만 오디오 서브시스템(116)과 통신하고 있을 수 있다. 도시된 예에서, 사용자 디바이스(110)는 (예를 들어, 하드웨어(112, 114)를 사용하여) 사용자(10)에 의해 말해진 발화(12)에 대응하는 오디오 데이터(202)에 대한 음성 인식을 수행하도록 구성된 음성 인식기(200)를 구현한다. 여기서, 오디오 캡처 디바이스(116a)는 발화(12)를 표현하는 음향 사운드들을 캡처하고, 음향 사운드들을 음성 인식기(200)에 호환가능한 디지털 포맷에 연관된 오디오 데이터(202)로 변환하도록 구성된다. 오디오 데이터(202)에 연관된 디지털 포맷은 mel 프레임들과 같은 음향 프레임들(예를 들어, 파라미터화된 음향 프레임들)에 대응할 수 있다. 예를 들어, 파라미터화된 음향 프레임들은 log-mel 필터뱅크 에너지들에 대응한다.
도 1은 디바이스 상에서 음성 인식을 수행하기 위한 음성 인식기(200)를 구현하는 사용자 디바이스(100)를 도시하지만, 다른 구현들은 네트워크를 통해 사용자 디바이스(110)에 의해 전송되는 오디오 데이터(202)를 프로세싱하고 오디오 데이터(202)의 트랜스크립션(204)을 사용자 디바이스(110)에 다시 제공함으로써 음성 인식기(200)를 구현하는 원격 서버(410)(도 4)를 포함한다. 일부 추가 구현들에서, 사용자 디바이스(110)는 사용자 디바이스(110)에 상주하는 로컬 음성 인식기(200) 및 원격 서버(410) 상에서 실행되는 서버-측 음성 인식기(402)(도 4) 둘 다를 이용한다. 여기서, 사용자 디바이스(110)는 네트워크 연결이 이용가능하지 않을 때, 또는 레이턴시에 민감하고/하거나 스트리밍 트랜스크립션을 요구하는 음성 애플리케이션들에 대해 로컬 음성 인식기(200)를 사용할 수 있는 반면, 서버-측 음성 인식기(402)는 도 4를 참조하여 아래에서 더 상세하게 설명되는 바와 같이 음성 인식 정확도를 향상시키기 위해 추가 자원들이 요구될 때 활용될 수 있다.
일부 예들에서, 사용자(10)는 음성 인식기(200)를 사용하는 사용자 디바이스(110) 상에서 실행되는 프로그램 또는 애플리케이션(118)과 상호작용한다. 예를 들어, 도 1은 자동 어시스턴트 애플리케이션(118)과 통신하는 사용자(10)를 도시한다. 이 예에서, 사용자(예를 들어, Bill)(10)는 "Good morning"이라는 발화(12)를 말함으로써 자동 어시스턴트 애플리케이션(118)에게 인사하고, 이는 오디오 캡처 디바이스(116a)에 의해 캡처되고 음성 인식기(200)에 의한 프로세싱을 위해 대응하는 오디오 데이터(202)로(예를 들어, 음향 프레임들로서) 변환된다. 이 예에서, 음성 인식기(200)는 발화(12)를 표현하는 오디오 데이터(202)를 트랜스크립션(204)(예를 들어, "Good morning"의 텍스트 표현)으로 트랜스크립션한다. 여기서, 자동 어시스턴트 애플리케이션(118)은 "Good Morning Bill, the first meeting today on your calendar is at 9:00 AM"이라는 메시지를 전달하는, 사용자(10)에게 출력할 응답(119)을 생성하기 위해, 트랜스크립션(204)에 자연어 프로세싱을 적용할 수 있다. 자연어 프로세싱은 일반적으로 쓰여진 언어(written language)(예를 들어, 트랜스크립션(204))를 해석하고, 쓰여진 언어가 임의의 액션을 프롬프트하는지를 결정하는 프로세스를 지칭한다. 이 예에서, 어시스턴트 애플리케이션(118)은 자연어 프로세싱을 사용하여, 사용자(10)에 의해 말해진 발화(12)가 사용자(10)의 캘린더 애플리케이션에 액세스하고 사용자(10)의 오늘의 첫번째 모임의 시간을 나타내는 응답(119)을 제공하기 위해 어시스턴트 애플리케이션(118)을 호출하도록 의도된다는 것을 인식한다. 즉, 자연어 프로세싱으로 이러한 세부사항들을 인식함으로써, 어시스턴트 애플리케이션(118)은 오디오 출력 디바이스(116a)를 통한 가청 출력을 위한 합성 음성 표현으로서 및/또는 사용자 디바이스(110)와 통신 중인 화면에 디스플레이하기 위한 텍스트로서, 사용자(12)에게 응답(119)을 반환한다. 일부 예들에서, 사용자 디바이스(110)는 사용자(10)에 의해 말해진 발화들(12)의 트랜스크립션들(204), 및 어시스턴트 애플리케이션(118)으로부터의 대응하는 응답들(119)을 대화로서 화면에 디스플레이한다. 일부 구성들에서, 자연어 프로세싱은 사용자 디바이스(110)의 데이터 프로세싱 하드웨어(112)와 통신하는 원격 시스템에서 발생할 수 있다.
일부 예들에서, 음성 인식기(200)는 스트리밍 트랜스크립션들(204)을 제공하기 위해 실시간으로 인입 오디오 데이터(202)를 프로세싱한다. 여기서, 음성 인식기(200)는 사용자(10)에 의해 말해진 발화(12)의 단어들을 구성하는 가설화된 하위-단어 유닛들의 시퀀스를 생성하도록 구성된다. 가설화된 하위-단어 유닛들은 단어조각들 또는 개별 문자들(예를 들어, 문자소들)을 포함할 수 있다. 도시된 예에서, 음성 인식기에 의해 인식된 가설화된 하위-단어 유닛들의 시퀀스는 "SOS_go od_mor ning"을 포함하고, 여기서 'SOS'는 음성 태그의 시작을 나타내고, 각각의 단어 경계 표시자('_')는 각각의 단어에 대한 개시/시작 하위-단어 유닛을 나타낸다.
도 2를 참조하면, 일부 구현들에서, 음성 인식기(200)는 음성 인식 결과/가설(222)을 예측하기 위한 순환 신경망-트랜스듀서(RNN-T) 디코더(220)를 포함하고, 음성 인식 결과/가설(222)의 신뢰도(302)를 추정하기 위한 신뢰도 추정 모듈(CEM)(300)을 구현한다. CEM(300)은 음성 인식기(200)에 의해 예측된 음성 인식 결과/가설(222)을 다시 채점하기 위해 발화-레벨 신뢰도(302)를 사용할 수 있다. 여기서, 음성 인식 결과/가설(222)은 함께 집계될 때 발화에 대한 트랜스크립션(204)을 형성하는 단어조각들 또는 문자소들과 같은 하위-단어 유닛들의 시퀀스에 대응한다. 일반적으로, 음성 인식기(200)는 인코더(210)와 RNN-T 디코더(220)를 포함하며, 이에 따라 RNN-T 디코더(220)는 예측 네트워크 및 연합 네트워크(joint network)를 포함한다. RNN-T 디코더(220)는 출력(222)으로서 다수의 후보 가설 H를 생성할 수 있고, CEM(300)은 상위-K 후보 가설들 H를 재채점/재순위화하여, 최고 점수의 후보 가설을 트랜스크립션(204)(도 1)에 대응하는 최종 인식 결과로서 식별할 수 있다. 또한, 본 명세서의 예들은 RNN-T 모델 아키텍처를 갖는 디코더(220)를 도시하지만, 디코더(220)는 본 개시내용의 범위를 벗어나지 않고서 다른 유형들의 트랜스듀서 모델 아키텍처들을 마찬가지로 포함할 수 있다. 예를 들어, 디코더(220)는 RNN-T 모델 아키텍처를 대신하여, 트랜스포머-트랜스듀서(Transformer-Transducer), 컨볼루션 신경망-트랜스듀서(Convolutional Neural Network-Transducer)(ConvNet-Transducer) 또는 컨포머-트랜스듀서(Conformer-Transducer) 모델 아키텍처 중 하나를 포함할 수 있다.
적어도 하나의 공유 인코더(210)는 음향 프레임들의 시퀀스로서의 발화(12)에 대응하는 오디오 데이터(202)를 입력으로서 수신하도록 구성된다. 음향 프레임들은 오디오 서브시스템(116)에 의해, 파라미터화된 음향 프레임들(예를 들어, mel 프레임들 및/또는 스펙트럼 프레임들)로 미리 프로세싱될 수 있다. 일부 구현들에서, 파라미터화된 음향 프레임들은 log-mel 특징들을 갖는 log-mel 필터뱅크 에너지들에 대응한다. 예를 들어, 인코더(210)에 입력된 오디오 데이터(202)를 표현하는 파라미터화된 입력 음향 프레임들은 x = (x1,..., xT)로서 표현될 수 있으며, 여기서 는 log-mel 필터뱅크 에너지들이고, T는 x 내의 프레임들의 수를 나타내고, d는 log-Mel 특징들의 수를 표현한다. 일부 예들에서, 각각의 파라미터화된 음향 프레임은 짧은 시프트 윈도우(short shifting window)(예를 들어, 32밀리초이고, 10밀리초마다 시프트됨) 내에서 계산된 128차원 log-mel 특징을 포함한다. 각각의 특징은 이전 프레임들(예를 들어, 3개의 이전 프레임)과 적층되어, 더 높은 차원의 벡터(예를 들어, 3개의 이전 프레임을 사용하는 512차원 벡터)를 형성할 수 있다. 그러면, 벡터를 형성하는 특징들은 다운샘플링될 수 있다(예를 들어, 30밀리초 프레임 레이트로). 인코더(210)에 입력된 오디오 데이터(202)의 각각의 음향 프레임 x1:T에 대해, 인코더(210)는 출력(212)으로서 대응하는 인코딩 e1:T를 생성하도록 구성된다. T에 의해 표시된 x 내의 프레임들의 수 각각은 각각의 시간 스텝에 대응한다.
인코더(210)의 구조는 상이한 방식들로 구현될 수 있지만, 일부 구현들에서는 인코더(210)가 장단기 메모리(long-short term memory)(LSTM) 신경망을 포함한다. 예를 들어, LSTM 신경망은 8개의 LSTM 레이어를 포함할 수 있다. 여기서, 각각의 레이어는 2,048개의 히든 유닛, 및 그에 후속하는 640차원 프로젝션 레이어를 가질 수 있다. 일부 예들에서, 시간 감소 레이어는 인코더(210)의 제2 LSTM 레이어 뒤에 감소 인자 N = 2로 삽입된다.
일부 구현들에서, RNN-T 디코더(220)는 예측 네트워크 및 연합 네트워크를 포함한다. 여기서, 예측 네트워크는 레이어 당 2,048개의 히든 유닛 및 640차원 프로젝션으로 이루어진 2개의 LSTM 레이어, 및 128 유닛의 임베딩 레이어를 가질 수 있다. 공유 인코더(210) 및 예측 네트워크의 출력들(212)은 softmax 예측 레이어를 포함하는 연합 네트워크에 공급될 수 있다. 일부 예들에서, RNN-T 디코더(220)의 연합 네트워크는 640개의 히든 유닛, 및 그에 후속하는 4,096개의 혼합-사례(mixed-case) 단어 조각들을 예측하는 softmax 레이어를 포함한다.
RNN-T 디코더(220)는 각각의 음향 프레임 x에 대해 인코더(210)로부터의 출력(212)으로서 생성된 인코딩 e를 입력으로서 수신하고, 가설화된 하위-단어 유닛들의 각각의 시퀀스 y1, y2, y3,..., yM에 의해 각각 표현되는 하나 이상의 후보 가설 H를 출력(222)으로서 생성한다. 예를 들어, 사용자(10)가 "Good morning"이라고 발화하는 예에서, 하나의 후보 가설 H는 가설화된 하위-단어 유닛들의 제1 시퀀스 [_go, od, _mor, ning]를 포함할 수 있고, 다른 후보 가설 H는 가설화된 하위-단어 유닛들의 제2 시퀀스 [_go, od, _morn, ing]를 포함할 수 있다. 다수의 다른 후보 가설 H도 있을 수 있다. 여기서, 각각의 후보 가설 H를 표현하는 가설화된 하위-단어 유닛들의 각각의 시퀀스 y1, y2, y3,..., yM는 발화(12)에 대한 후보 트랜스크립션에 대응한다. 가설화된 하위-단어 유닛들의 각각의 시퀀스 y1, y2, y3,..., yM 각각 내의 각각의 하위-단어 유닛 yi는 가능한 하위-유닛들에 걸친 확률 분포를 나타낸다. 확률 분포에서 가장 높은 확률을 갖는 하위-단어 유닛은 가설화된 하위-단어 유닛들의 각각의 시퀀스에서 가설화된 하위-단어로서 선택될 수 있다.
계속해서 도 2를 참조하면, CEM(300)은 인코더(210)로부터 출력된 인코딩들 e의 시퀀스 e1:T(212), 및 RNN-T 디코더(220)로부터 출력(222)으로서 생성된 상위(top)-K 후보 가설들 H를 입력으로서 수신할 수 있다. 일례에서, K는 4와 동일하므로, 각각의 가설들 H에 대한 발화-레벨 신뢰도(350)를 결정함으로써 다시 채점하기 위해, 상위 4개의 후보 가설 H가 CEM(300)에 입력으로서 제공된다. 최고 신뢰도(350)에 연관된 후보 가설 H는 트랜스크립션(204)으로서 출력될 수 있다.
softmax 레이어의 크기를 줄이기 위해, 가능한 하위-단어 유닛들의 하위-단어 유닛 어휘(vocabulary)는 전형적으로 단어 어휘에 비해 작다. 하위-단어 유닛 어휘는 문자소들 또는 단어 조각들(WP)을 포함할 수 있다. 예시적인 WP 어휘는 4,096개의 WP를 포함할 수 있다. 본 개시내용의 예들은 음성 인식기로부터의 출력으로서 생성되는 하위-단어 유닛들로서 WP들을 사용하지만, 본 개시내용의 범위로부터 벗어나지 않고서, 음성 인식기로부터 출력되는 하위-단어 유닛들로서 문자소들도 마찬가지로 이용될 수 있다. 따라서, 후보 가설 H에 대한 단어 에러 레이트(WER)를 계산하기 위해, 가설화된 하위-단어 유닛들(예를 들어, WP들)의 각각의 시퀀스는 그것의 대응하는 단어 시퀀스 w1, w2, ..., wL로 변환되어야 한다. 하위-단어 시퀀스를 단어 시퀀스로 변환하기 위한 이러한 절차는 고유하게 결정되어야 하는데, 왜냐하면 각각의 단어의 제1 하위-단어 유닛(예를 들어, WP)이 단어 경계 표시자('_')로 시작하기 때문이다. 마찬가지로, Qj WP들을 포함하는 단어 wj에 대해 - 여기서 yj,q는 j번째 단어의 q번째 WP를 나타냄 - , 단어 신뢰도를 계산하기 위한 단순한 기술은 다음과 같이 표현될 수 있다:
여기서 agg는 산술 평균, 최소값, 곱 또는 신경망일 수 있다. 그러나, 각각의 단어 wj는 WP 정확성과 단어 정확성 간의 불일치로 인해 다수의 상이한 유효 WP 조합으로 분할될 수 있으므로, 수학식 1을 사용하여 단어-레벨 신뢰도를 추정하면, 가장 적은 WP 편집들을 갖는 것에 대한 모든 가능한 참조 토큰화에 대한 검색이 요구되기 때문에, 훈련 동안 바람직하지 않은 계산 부담이 발생한다. 여기서 사용될 때, WP 편집은 가설화된 WP가 참조 WP와 일치할 때의 정답(correct)(cor) 레이블, 유효한 가설화된 WP가 참조 WP와 일치하지 않을 때의 대체(substitution)(sub) 레이블, 가설화된 WP가 잘못 인식된 때의 삽입(ins)을 포함한다. 아래의 표 1은 "morning"이라는 단어가 올바르게 트랜스크립션되었지만, WP 편집 거리 출력에서 두 개의 대체가 초래되는 예를 보여준다.
표 1에 묘사된 바와 같이 WP 레벨에서 출력하는 음성 인식기들(200)로 인해 초래되는 WP 정확성과 단어 정확성 사이의 내재적인 불일치를 해결하기 위해, 본 명세서의 구현들은 모든 단어의 다른 모든 선행 WP들의 신뢰도를 무시하면서 모든 단어의 최종 WP에서의 신뢰도 출력을 단어-레벨 신뢰도로서 활용하는 트랜스포머-기반 CEM(300)에 관한 것이다. 훈련 동안, 음성 인식기(200)는 동결되고(frozen), 정답, 삽입 및 대체의 그라운드 트루스 WP 레이블들이 사용된다.
도 3은 음성 인식기(200)의 최상부에 오버레이된 트랜스포머-기반 CEM(300)의 예를 도시한다. 명확성을 위해, 도 3은 RNN-T 디코더(220)에 의해 출력되는 가설화된 WP들의 각각의 시퀀스 y1, y2, y3,…, yM 내의 i번째 WP에 대한 신뢰도 출력 c(yi)(302)를 예측하는 CEM(300)의 액션들만을 도시한다. 특히, 도 3은 CEM(300)이 대응하는 단어 시퀀스 "good morning"으로 변환되는 가설화된 WP들의 각각의 시퀀스 [_go, od, _mor, ning]에서 "ning" WP에 대한 신뢰도 출력 c("ning")를 예측하는 것을 묘사한다.
RNN-T 디코더(220)는 출력(222)으로서, 가설화된 하위-단어 유닛들의 각각의 시퀀스 y1, y2, y3,…, yM에 의해 각각 표현되는 하나 이상의 후보 가설 H를 생성한다. 여기서, RNN-T 디코더(220)는 출력(222)으로서 4개의 후보 가설을 생성할 수 있다. 도시된 예에서, 발화(12) "Good morning"에 대해, RNN-T 디코더(220)로부터 출력(222)으로서 생성된 하나의 후보 가설 H는 가설화된 하위-단어 유닛들의 제1 시퀀스 [_go, od, _mor, ning]을 포함할 수 있고, 다른 후보 가설 H는 가설화된 하위-단어 유닛들의 제2 시퀀스 [_go, od, _morn, ing]를 포함할 수 있다. 동시에, 인코더(210)는 음향 컨텍스트를 전달하는 인코딩들의 시퀀스 e1:T(212)를 생성하며, 여기서 T는 발화(12)로부터 분할된 음향 프레임들 x의 수에 대응한다.
RNN-T 디코더(220)로부터 출력(222)으로서 생성된 후보 가설 H를 표현하는 가설화된 하위-단어(예를 들어, WP) 유닛들의 시퀀스 [sos_go, od, _mor, ning eos] 내의 각각의 하위-단어 유닛(yi)에 대해, 음성 인식기(200)로부터 획득된 신뢰도 특징들의 세트를 표현하는 신뢰도 임베딩 b(yi)(242)는 각각의 신뢰도 출력 c(yi)(302)를 결정하기 위해 CEM(300)에 입력으로서 제공된다. 도시된 예에서, i번째 하위-단어 유닛은 WP "ning"에 대응한다. 여기서, 신뢰도 임베딩 b(yi)(242)는 입력 하위단어 + 위치 임베딩(positional embedding) Emb(yi) 특징(예를 들어, Emb(ning )), 로그 사후(log posterior) log(p(yi)) 특징, 및 상위-K(i) 특징 중 하나 이상을 전달한다. 로그 사후 log(p(y1)) 특징은 하위-단어 유닛 yi가 WP "ning"을 포함할 확률/우도에 연관된 확률 값을 나타내고, 상위-K(i) 특징은 디코더 인덱스(예를 들어, 시간 스텝) i에서 K개의 가장 큰 로그 확률들을 나타낸다. 다르게 말하면, 상위-K(i) 특징은 디코더 인덱스(예를 들어, 시간 스텝) i에서 상위-K 내의 각각의 후보 가설 H에 대한 확률 값들을 제공한다. 음성 인식기(200) 및 CEM(300) 둘 다는 하위-단어(예를 들어, WP) 레벨에서 각각의 시간 스텝에 대한 출력을 생성하도록 구성되므로, CEM(300)을 트랜스포머로서 구현하는 것은: (1) 모든 단어의 마지막 WP에서 신뢰도 출력 cword(wj)인 c(yj, Qj)를 전용 단어-레벨 신뢰도(302)로서 활용함으로써, 단어 편집 거리 출력을 그라운드 트루스 훈련 레이블들(즉, 정답, 대체 및 삽입 레이블들)로서 사용하는 것; 및 (2) 단어를 구성하는 모든 WP로부터의 정보/특징들을 통합하는 것을 허용한다. 도시된 예에서, 트랜스포머-기반 CEM(300)의 자체-주의집중 메커니즘(310)은 WP "ning"에 대응하는 i번째 하위-단어 유닛에 대한 신뢰도 임베딩 b(yi)(242)는 물론, 동일한 단어 내의 이전 하위-단어 유닛들에 대한 신뢰도 임베딩들에 기초하는 자체-주의집중을 신뢰도 특징 벡터 b에 적용한다. 신뢰도 특징 벡터 b는 다음과 같이 표현될 수 있다.
추가적으로, 트랜스포머-기반 CEM(300)의 음향 교차-주의집중 메커니즘(320)은 WP "ning"에 대응하는 i번째 하위-단어 유닛에 대한 각각의 신뢰도 출력 c(yi)(302)를 추정하는 데에 있어서의 정확도를 향상시키기 위한 음향 컨텍스트 벡터(322)를 생성하기 위해 인코더(210)로부터 출력된 인코딩들 e의 시퀀스 e1:T(212)에 음향 교차-주의집중 (CA(e))를 적용한다. 본 명세서에서 사용될 때, '음향 컨텍스트 벡터'와 '음향 특징 벡터'라는 용어는 상호교환가능하게 사용될 수 있다. 마지막으로, Softmax 출력 레이어(340)는 아래와 같이 트랜스포머-기반 CEM(300)이 i번째 하위-단어 유닛에 대해 전용 신뢰도 출력 c(yi)(302)를 생성하도록 허용하기 위해, 자체-주의집중 신뢰도 특징 벡터 SA(b) 및 교차-주의집중 CA(e) 음향 컨텍스트 벡터(322)를 사용한다.
여기서 Softmax 출력 레이어(340)는 WP 편집 거리에 연관된 정답, 대체 및 삽입 그라운드 트루스 WP 레이블들로 훈련된다. CEM(300)은 아래와 같이 최종 WP에서 신뢰도 출력 c(yj, Qj)를 사용하여 각각의 단어에 대한 신뢰도 cword(wj)(302)를 결정하고, 단어 정확률(word correct ratio)()을 추정할 수 있다.
도시된 예에서의 단어 cword(morning)에 대한 신뢰도(302)는 단어를 구성하는 최종 WP의 신뢰도 출력 c(ning)에 대응한다. 은 한 가지 유형의 발화-레벨 신뢰도 점수를 포함한다.
CEM(300)은 음성 인식기(200)와 연합하여 훈련될 수 있거나, CEM(300)과 음성 인식기가 서로 별도로 훈련될 수 있다. 일부 예들에서, CEM(300)은 다음과 같이 이진 교차-엔트로피 단어-레벨 손실을 사용하여 훈련된다.
여기서, 표 1은 가설화된 단어가 참조 단어와 일치하는 경우에 단어 wj에 대한 Levenshtein 단어-레벨 편집 거리가 "정답"(cor) 레이블을 출력할 때는 d(wj)가 1과 동일하고, 가설화된 단어가 참조 단어와 일치하지 않는 경우에 단어 wj에 대한 Levenshtein 단어-레벨 편집 거리가 "삽입"(ins) 또는 "대체"(sub) 레이블을 출력할 때는 d(wj)가 0과 동일함을 보여준다. 특히, 음성 인식기(200)와 CEM(300)은 하위-단어 레벨에서 출력되므로(예를 들어, WP마다 출력됨), 표 1은 또한 CEM(300)이 단어를 구성하는 최종 WP에만 집중하고 동일한 단어를 구성하는 이전 WP들에 연관된 WP 손실들을 무시하기 위해, 단어-끝 마스크 손실(end-of word mask loss) m을 적용하는 것을 보여준다.
CEM은 이하의 그라운드 트루스를 사용하여 발화-레벨 손실에 대해 추가로 훈련될 수 있다.
여기서, 임의의 삭제들의 존재는 e의 값이 제로가 되게 하고, 신호는 CEM(300)의 내부 특징들로 역전파된다. 발화 특징들을 추출하고 예측을 하기 위해, 계층적 주의집중 메커니즘(380)은 다음을 수행한다:
여기서, sutt를 생성하는 파라미터들 W1, b, 및 w2는 이진 교차 엔트로피 손실: 로 훈련될 수 있고, 여기서 sutt는 전체 발화가 제로 WER로 인식되는 확률의 추정을 제공하며, 이는 발화들의 순위를 매기는 데 유용하다. 그러나, sutt는 원시 WER의 추정을 산출하지 않는다. 직관적으로, 발화 특징 sutt는 토큰 특징들 y1-yM의 시퀀스의 요약이다. 계층적 주의집중 메커니즘(380)에 대한 MLP는 두 개의 레이어를 포함하고, 각각 320과 1의 히든 차원 및 출력 차원을 포함할 수 있다.
CEM은 삭제들의 수의 추정에 기초하여 가설 H에 대한 원시 단어 에러 레이트(WER)를 추가로 추정할 수 있다. 여기서, 3차 태스크는 j-1번째 단어와 j번째 단어 사이의 삭제들의 수인 그라운드 트루스 ej로 정의될 수 있다. 일반적으로, 임의 위치에서의 삭제들의 수는 임의의 음이 아닌 정수를 포함할 수 있다. 삭제 특징들을 추출하고 예측을 하기 위해 MLP는 다음과 같이 Poisson 회귀 손실로 훈련될 수 있다.
f(wj)는 자체-주의집중을 이용하여 생성되며, j번째 단어까지의 언어적 정보를 갖는다. 따라서, 이것은 j번째 단어 직전의 삭제 수인 ej를 예측하는 데 매우 적합하다.
따라서, WER 추정은 다음과 같이 계산될 수 있다.
여기서, , , 및 이다.
도 4는 발화(12)를 트랜스크립션하기 위해 적절한 음성 인식기를 선택하기 위한 예시적인 신뢰도 기반 루틴의 개략도(400)를 도시한다. 도시된 예에서, 제1 음성 인식기(200)는 사용자(10)에 의해 말해진 발화(12)에 대응하는 인입 오디오 데이터(202)를 프로세싱함으로써 트랜스크립션(204)을 생성하기 위한 디폴트 음성 인식기로서 동작한다. 제1 음성 인식기(200)는 사용자(10)에 연관된 사용자 디바이스(110) 상에서 실행되는 로컬 음성 인식기에 대응할 수 있다. 제1 음성 인식기(200)는 또한 트랜스크립션(204)에 대응하는 제1 음성 인식기(200)에 의해 출력된 음성 인식 결과(222)에 대한 발화-레벨 신뢰도 점수(350)를 결정하기 위해 CEM(300)을 구현한다.
일부 구현들에서, 신뢰도 기반 루틴은 제1 음성 인식기(200)에 의해 트랜스크립션된 발화(12)에 대한 발화-레벨 신뢰도 점수(350)가 신뢰도 임계값을 충족하는지를 결정한다. 도시된 예에서, 신뢰도 임계값보다 큰 발화-레벨 신뢰도 점수들(350)은 신뢰도 임계값을 충족하는 반면, 신뢰도 임계값보다 작거나 그와 동일한 발화-레벨 신뢰도 점수들(350)은 신뢰도 임계값을 충족하지 못한다. 발화-레벨 신뢰도 점수(350)가 신뢰도 임계값을 충족하는 경우(예를 들어, 신뢰도 임계값보다 큰 경우)(예를 들어, 결정 블록(450)이 "예"임), 제1 음성 인식기(200)에 의해 생성된 트랜스크립션(204)은 품질, 레이턴시 및 신뢰성에 있어서 장치-내 이득들(on-device gains)을 달성하는 것으로 인정된다. 여기서, 인정된 트랜스크립션(204)은 사용자 디바이스(110) 상에 디스플레이되거나 계속해서 디스플레이될 수 있고/거나, 트랜스크립션(204)을 해석하고 필요한 경우 관련 액션/동작을 수행하기 위해 다운스트림 자연어 이해(natural language understanding)(NLU) 모듈에 전달될 수 있다.
발화-레벨 신뢰도 점수(350)가 신뢰도 임계값을 충족하지 못하는 경우(예를 들어, 신뢰도 임계값보다 작은 경우)(예를 들어, 결정 블록(450)이 "아니오"임), 신뢰도 기반 루틴은 제1 음성 인식기(200)에 의해 생성된 트랜스크립션(204)을 거부하고, 발화(12)를 다시 트랜스크립션하기 위한 프로세싱을 위해 오디오 데이터(202)를 제2 음성 인식기(402)에 전달한다. 제2 음성 인식기(402)에 의해 생성된 트랜스크립션(204)은 해석을 위해 사용자 디바이스(110) 및/또는 다운스트림 NLU 모듈에 다시 전달될 수 있다. 제1 음성 인식기(200)가 로컬이고 디바이스(110) 상에서 실행되고, 제2 음성 인식기(402)가 서버 측이고 원격 서버(410)에서 실행되는 예들에서, 신뢰도 기반 루틴은 사용자 디바이스(110)로 하여금 오디오 데이터(202)를 네트워크(도시되지 않음)를 통해 원격 서버(410)에 전송하게 하고, 그에 의해 거기에서 실행 중인 제2 음성 인식기(402)가 발화(12)를 트랜스크립션할 수 있게 된다. 제2 음성 인식기(402)는 대규모 언어 모델 훈련 데이터에 대해 훈련된 대형 언어 모델을 활용할 수 있으며, 이는 제2 음성 인식기(402)가 제1 음성 인식기(200)를 훈련하는 데 사용된 훈련 데이터에 존재하지 않는 고유 명사들 또는 덜 일반적인 단어들을 인식하는 데에 더 적합해지게 한다.
일부 예들에서, 제1 음성 인식기(200)는 일반적으로, 더 큰 언어 모델 및 어휘집을 구현하는 제2 음성 인식기(402)보다 짧은 형식의 발화들을 인식하는 데에 더 정확하고(예를 들어, 더 낮은 단어 에러 레이트를 달성함), 제1 음성 인식기(200)는 궁극적으로 롱-테일 발화들(long-tail utterances)을 인식하는 데 있어서는 제2 음성 인식기(402)보다 덜 정확할 수 있다. 따라서, 신뢰도 기반 루틴은 신뢰도 임계값보다 낮은 신뢰도 점수들(350)을 갖는 모든 발화를 트랜스크립션(204)을 생성하기 위한 제2 음성 인식기(402)에 송신하고, 품질, 레이턴시 및 신뢰성을 얻기 위해 제1 음성 인식기(200)를 사용하여 디바이스(110) 상에서 발화의 대부분을 트랜스크립션한다.
제2 음성 인식기(402)가 서버 측에 있는 것으로 도시되어 있지만, 제2 음성 인식기(402)는 또한 디바이스 상에서도 실행될 수 있다. 예를 들어, 제2 음성 인식기(402)는 특정 발화들에 대해 제1 음성 인식기(200)보다 더 정확한 음성 인식 결과들을 생성할 수 있지만 감소된 레이턴시 및 증가된 전력 소비를 희생하는 더 계산 집약적인 음성 인식기에 연관될 수 있다. 따라서, 신뢰도 기반 루틴은 제1 음성 인식기(200)에 의해 생성된 인식 결과들에 연관된 발화-레벨 신뢰도 점수들이 신뢰도 임계값보다 작은 경우에 발화들(12)을 트랜스크립션하기 위해 제2 음성 인식기(402)를 활용할 수 있다.
소프트웨어 애플리케이션(즉, 소프트웨어 자원)은 컴퓨팅 디바이스로 하여금 태스크를 수행하게 하는 컴퓨터 소프트웨어를 지칭할 수 있다. 일부 예들에서, 소프트웨어 애플리케이션은 "애플리케이션", "앱" 또는 "프로그램"으로 지칭될 수 있다. 예시적인 애플리케이션들은 시스템 진단 애플리케이션들, 시스템 관리 애플리케이션들, 시스템 유지관리 애플리케이션들, 워드 프로세싱 애플리케이션들, 스프레드시트 애플리케이션들, 메시징 애플리케이션들, 미디어 스트리밍 애플리케이션들, 소셜 네트워킹 애플리케이션들, 및 게임 애플리케이션들을 포함하지만 이에 제한되지 않는다.
비-일시적 메모리는 컴퓨팅 디바이스에 의한 사용을 위해 일시적 또는 영구적으로 프로그램들(예를 들어, 명령어들의 시퀀스들) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는 데 사용되는 물리적 디바이스들일 수 있다. 비-일시적 메모리는 휘발성 및/또는 비휘발성 어드레싱가능 반도체 메모리일 수 있다. 비휘발성 메모리의 예들은 플래시 메모리 및 판독 전용 메모리(ROM)/프로그래밍가능한 판독 전용 메모리(PROM)/소거가능하고 프로그래밍가능한 판독 전용 메모리(EPROM)/전기적으로 소거가능하고 프로그래밍가능한 판독 전용 메모리(EEPROM)(예를 들어, 전형적으로 부팅 프로그램들과 같은 펌웨어를 위해 사용됨)를 포함하지만 이에 제한되지 않는다. 휘발성 메모리의 예들은 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(DRAM), 정적 랜덤 액세스 메모리(SRAM), 상변화 메모리(PCM)는 물론, 디스크들 또는 테이프들을 포함하지만 이에 제한되지 않는다.
도 5는 해당 단어에 대한 최종 가설화된 하위-단어 유닛의 신뢰도만을 사용하여 음성 인식기에 의해 인식된 단어에 대한 단어-레벨 신뢰도를 추정하는 방법(500)에 대한 동작들의 예시적인 배열의 흐름도이다. 데이터 프로세싱 하드웨어(112)(도 1)는 방법(500)에 대한 동작들의 예시적인 배열을 수행하기 위해 메모리 하드웨어(114)(도 1)에 저장된 명령어들을 실행할 수 있다. 동작(502)에서, 방법(500)은 제1 음성 인식기(200)로부터 사용자(10)에 의해 말해진 발화(12)의 트랜스크립션(204)에 대응하는 음성 인식 결과(232)를 수신하는 것을 포함한다. 제1 음성 인식기(200)는 도 2a 및 도 2b를 참조하여 위에서 논의된 바와 같이 2-패스 디코딩 아키텍처로 구성될 수 있다. 여기서, 음성 인식 결과(232)는 음성 인식기(200)의 재채점 디코더에 의해 다시 채점된 최고 점수의 후보 가설이고, 발화(12)의 하나 이상의 단어를 형성하는 가설화된 하위-단어 유닛들의 시퀀스를 포함하며, 각각의 하위-단어 유닛은 대응하는 출력 스텝에서 음성 인식기(200)로부터 출력된다.
신뢰도 추정 모듈(CEM)(300)을 사용하면, 가설화된 하위-단어 유닛들의 시퀀스 내의 각각의 하위-단어 유닛에 대해, 방법(500)은 동작들(504, 506, 508, 510)을 수행한다. 동작(504)에서, 방법(500)은 대응하는 하위-단어 유닛이 제1 음성 인식기(200)로부터 출력된 때인 대응하는 출력 스텝에 연관된 신뢰도 특징들의 세트를 표현하는 각각의 신뢰도 임베딩(242)을 획득하는 단계를 포함한다. 동작(506)에서, 방법(500)은 대응하는 하위-단어 유닛에 대한 각각의 신뢰도 임베딩 b(yi)(242) 및 대응하는 하위-단어 유닛을 진행하는 가설화된 하위-단어 유닛들의 시퀀스 내의 임의의 다른 하위-단어 유닛들에 대해 획득된 신뢰도 임베딩들 b(y1)-b(y1-i)에 자체-주의집중하는 제1 주의집중 메커니즘(310)을 사용하여 신뢰도 특징 벡터 SA(b)를 생성하는 단계를 포함한다. 동작(508)에서, 방법(500)은 발화(12)에 대응하는 오디오 데이터(202)로부터 분할된 대응하는 음향 프레임 xT에 각각 연관된 음향 인코딩들 e의 시퀀스 e1:T(252)에 교차-주의집중하는 제2 주의집중 메커니즘(320)을 사용하여 음향 컨텍스트 벡터 CA(e)(322)를 생성하는 단계를 포함한다. 동작(510)에서, 방법(500)은 CEM(300)의 출력 레이어(340)로부터의 출력으로서, CEM(300)의 출력 레이어에 의해 입력으로서 수신된 신뢰도 특징 벡터 SA(b) 및 음향 특징 벡터 CA(e)(322)에 기초하여, 대응하는 하위-단어 유닛에 대한 각각의 신뢰도 출력 점수(302)를 생성하는 단계를 포함한다.
동작(512)에서, 가설화된 하위-단어 유닛들의 시퀀스 내의 각각의 하위-단어 유닛에 대해 생성된 각각의 신뢰도 출력 점수에 기초하여, 방법(500)은 발화의 트랜스크립션에 대한 발화-레벨 신뢰도 점수(350)를 결정하는 단계를 포함한다. 발화 레벨 신뢰도 점수(350)가 신뢰도 임계값보다 작은 경우, 동작들은 제1 음성 인식기(200)에 의해 출력된 트랜스크립션(204)을 거부하고, 제2 음성 인식기(402)에게 발화에 대응하는 오디오 데이터(14)를 프로세싱하여 발화를 다시 트랜스크립션하도록 지시하는 동작을 더 포함할 수 있다. 제2 음성 인식기(402)는 제1 음성 인식기(200)보다 계산적으로 더 광범위할 수 있으므로, 오디오 데이터(14)에 대한 음성 인식을 수행하는 데 있어서 제1 음성 인식기(200)보다 더 정확할 수 있다. 예를 들어, 제1 음성 인식기(200)는 레이턴시가 거의 없는 스트리밍 트랜스크립션 능력들을 제공하기 위해 전적으로 디바이스 상에서 실행될 수 있는 반면, 제2 음성 인식기(402)는 감소된 레이턴시에서 음성 인식을 정확하게 수행하기 위해 잠재적으로 무한한 컴퓨팅/메모리 자원들을 활용하여 원격 서버 상에서 실행될 수 있다. 따라서, 디바이스 상에서 실행되는 제1 음성 인식기(200)에 의해 출력된 트랜스크립션(204)에 대한 낮은 발화-레벨 신뢰도 점수(350)는 더 계산 집약적인 제2 음성 인식기(200)를 호출하기 위한 표시자의 역할을 할 수 있다. 본 개시내용의 범위로부터 벗어나지 않고서, 제2 음성 인식기(402)는 또한 디바이스 상에서 실행될 수 있지만, 감소된 레이턴시 및 증가된 전력 소비 및 컴퓨팅을 희생하여 음성 인식 정확도를 향상시키기 위해 더 계산 집약적일 수 있다.
도 6은 본 문서에 설명된 시스템들 및 방법들을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 디바이스(600)의 개략도이다. 컴퓨팅 디바이스(600)는 랩탑들, 데스크탑들, 워크스테이션들, 개인용 정보 단말기(personal digital assistant)들, 서버들, 블레이드 서버들, 메인프레임들, 및 다른 적절한 컴퓨터들과 같은 다양한 형태의 디지털 컴퓨터를 표현하도록 의도된다. 여기에 보여진 컴포넌트들, 그들의 연결들 및 관계들, 및 그들의 기능들은 예시로만 의도된 것일 뿐이며, 본 문서에서 설명 및/또는 청구된 발명들의 구현들을 제한하도록 의도되지 않는다.
컴퓨팅 디바이스(600)는 프로세서(610), 메모리(620), 저장 디바이스(630), 메모리(620) 및 고속 확장 포트들(650)에 연결되는 고속 인터페이스/컨트롤러(640), 및 저속 버스(670) 및 저장 디바이스(630)에 연결되는 저속 인터페이스/컨트롤러(660)를 포함한다. 컴포넌트들(610, 620, 630, 640, 650 및 660) 각각은 다양한 버스들을 사용하여 상호 연결되며, 공통의 마더보드 상에 또는 적절한 다른 방식으로 장착될 수 있다. 프로세서(610)는 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 고속 인터페이스(640)에 결합된 디스플레이(680)와 같은 외부 입출력 디바이스에 디스플레이하기 위해, 메모리(620) 내에 또는 저장 디바이스(630) 상에 저장된 명령어들을 포함하여, 컴퓨팅 디바이스(600) 내에서의 실행을 위해 명령어들을 프로세싱할 수 있다. 다른 구현들에서, 다수의 프로세서 및/또는 다수의 버스는 다수의 메모리 및 메모리 유형과 함께 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스(600)가 연결될 수 있으며, 각각의 디바이스는 (예를 들어, 서버 뱅크, 블레이드 서버 그룹, 또는 멀티 프로세서 시스템으로서) 필요한 동작들의 부분들을 제공한다.
메모리(620)는 컴퓨팅 디바이스(600) 내에 비-일시적으로 정보를 저장한다. 메모리(620)는 컴퓨터 판독가능 매체, 휘발성 메모리 유닛(들), 또는 비휘발성 메모리 유닛(들)일 수 있다. 비-일시적 메모리(620)는 컴퓨팅 디바이스(600)에 의한 사용을 위해 일시적 또는 영구적으로 프로그램들(예를 들어, 명령어들의 시퀀스들) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는 데 사용되는 물리적 디바이스들일 수 있다. 비휘발성 메모리의 예들은 플래시 메모리 및 판독 전용 메모리(ROM)/프로그래밍가능한 판독 전용 메모리(PROM)/소거가능하고 프로그래밍가능한 판독 전용 메모리(EPROM)/전기적으로 소거가능하고 프로그래밍가능한 판독 전용 메모리(EEPROM)(예를 들어, 전형적으로 부팅 프로그램들과 같은 펌웨어를 위해 사용됨)를 포함하지만 이에 제한되지 않는다. 휘발성 메모리의 예들은 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(DRAM), 정적 랜덤 액세스 메모리(SRAM), 상변화 메모리(PCM)는 물론, 디스크들 또는 테이프들을 포함하지만 이에 제한되지 않는다.
저장 디바이스(630)는 컴퓨팅 디바이스(600)를 위한 대용량 저장소를 제공할 수 있다. 일부 구현들에서, 저장 디바이스(630)는 컴퓨터 판독가능 매체이다. 여러 상이한 구현들에서, 저장 디바이스(630)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광학 디스크 디바이스, 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 고체 상태 메모리 디바이스, 또는 저장 영역 네트워크 또는 다른 구성들 내의 디바이스들을 포함하는 디바이스 어레이일 수 있다. 추가 구현들에서, 컴퓨터 프로그램 제품은 정보 캐리어 내에 유형으로(tangibly) 구현된다. 컴퓨터 프로그램 제품들은 실행될 때 위에서 설명된 것들과 같은 하나 이상의 방법을 수행하는 명령어들을 포함한다. 정보 캐리어는 메모리(620), 저장 디바이스(630), 또는 프로세서 상의 메모리(610)와 같은 컴퓨터 또는 기계 판독가능 매체이다.
고속 컨트롤러(640)는 컴퓨팅 디바이스(600)에 대한 대역폭 집중 동작들을 관리하는 반면, 저속 컨트롤러(660)는 더 낮은 대역폭 집중 동작들을 관리한다. 이러한 듀티 할당은 예시일 뿐이다. 일부 구현들에서, 고속 컨트롤러(640)는 메모리(620), 디스플레이(680)(예를 들어, 그래픽 프로세서 또는 가속기를 통해), 및 다양한 확장 카드들(도시되지 않음)을 수용할 수 있는 고속 확장 포트들(650)에 결합된다. 일부 구현들에서, 저속 컨트롤러(660)는 저장 디바이스(630) 및 저속 확장 포트(690)에 결합된다. 다양한 통신 포트들(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)을 포함할 수 있는 저속 확장 포트(690)는 키보드, 포인팅 디바이스, 스캐너, 또는 예를 들어 네트워크 어댑터를 통하는 스위치 또는 라우터와 같은 네트워킹 디바이스와 같은 하나 이상의 입출력 디바이스에 결합될 수 있다.
컴퓨팅 디바이스(600)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 그것은 표준 서버(600a)로서 또는 그러한 서버들(600a)의 그룹에서 여러 번, 랩탑 컴퓨터(600b)로서, 또는 랙 서버 시스템(600c)의 일부로서 구현될 수 있다.
본 명세서에 설명된 시스템들 및 기술들의 다양한 구현들은 디지털 전자 및/또는 광학 회로부, 집적 회로부, 특별히 설계된 ASIC들(주문형 집적 회로들), 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합들로 실현될 수 있다. 이러한 다양한 구현들은 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령어들을 수신하고 그들에 데이터 및 명령어들을 전송하도록 결합되는, 특수 목적용 또는 범용일 수 있는 적어도 하나의 프로그래밍가능한 프로세서를 포함하는 프로그래밍가능한 시스템에서 실행가능 및/또는 해석가능한 하나 이상의 컴퓨터 프로그램에서의 구현을 포함할 수 있다.
이러한 컴퓨터 프로그램들(프로그램들, 소프트웨어, 소프트웨어 애플리케이션들 또는 코드로도 알려짐)은 프로그래밍가능한 프로세서를 위한 기계 명령어들을 포함하고, 하이레벨의 절차적 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/기계 언어로 구현될 수 있다. 본 명세서에서 사용될 때, "기계 판독가능 매체" 및 "컴퓨터 판독가능 매체"라는 용어는 기계 명령어들을 기계 판독가능 신호로서 수신하는 기계 판독가능 매체를 포함하여, 프로그래밍가능한 프로세서에 기계 명령어들 및/또는 데이터를 제공하는 데 사용되는 임의의 컴퓨터 프로그램 제품, 비-일시적 컴퓨터 판독가능 매체, 장치 및/또는 디바이스(예를 들어, 자기 디스크들, 광 디스크들, 메모리, 프로그래밍가능한 로직 디바이스(PLD))를 지칭한다. "기계 판독가능 신호"라는 용어는 프로그래밍가능한 프로세서에 기계 명령어들 및/또는 데이터를 제공하는 데 사용되는 임의의 신호를 지칭한다.
본 명세서에 설명된 프로세스들 및 로직 흐름들은 입력 데이터에 대해 작용하고 출력을 생성함으로써 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는, 데이터 프로세싱 하드웨어라고도 지칭되는 하나 이상의 프로그래밍가능한 프로세서에 의해 수행될 수 있다. 프로세스들 및 로직 흐름들은 또한 특수 목적 로직 회로부, 예를 들어 FPGA(필드 프로그래밍가능 게이트 어레이(field programmable gate array)) 또는 ASIC(주문형 집적 회로(application specific integrated circuit))에 의해 수행될 수 있다. 컴퓨터 프로그램의 실행에 적합한 프로세서들은 예를 들어 범용 및 특수 목적 마이크로프로세서 둘 다, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수요소들은 명령어들을 수행하기 위한 프로세서, 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스, 예를 들어 자기, 광자기 디스크 또는 광 디스크를 포함하거나, 그들로부터 데이터를 수신하는 것, 또는 그들에게 데이터를 전송하는 것, 또는 둘 다를 위해 그들에 동작가능하게 결합될 것이다. 그러나, 컴퓨터가 그러한 디바이스들을 반드시 가질 필요는 없다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독가능 매체는 예시로서, 반도체 메모리 디바이스들, 예를 들어 EPROM, EEPROM, 및 플래시 메모리 디바이스들; 자기 디스크들, 예를 들어 내부 하드 디스크들 또는 이동식 디스크들; 광자기 디스크들; 및 CD ROM 및 DVD-ROM 디스크들을 포함하여, 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 프로세서 및 메모리는 특수 목적 로직 회로부에 의해 보완되거나 그에 통합될 수 있다.
사용자와의 상호작용을 제공하기 위해, 본 개시내용의 하나 이상의 양태는 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스, 예를 들어 CRT(음극선관), LCD(액정 디스플레이) 모니터 또는 터치 스크린, 및 임의적으로, 사용자가 그에 의해 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스, 예를 들어 마우스 또는 트랙볼을 갖는 컴퓨터 상에서 구현될 수 있다. 다른 종류의 디바이스들도 사용자와의 상호작용을 제공하기 위해 사용될 수 있고; 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백, 예를 들어 시각 피드백, 청각 피드백, 또는 촉각 피드백일 수 있으며; 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 추가로, 컴퓨터는 사용자에 의해 사용되는 디바이스에 문서들을 송신하고 그로부터 문서들을 수신함으로써, 예를 들어 사용자의 클라이언트 디바이스 상의 웹 브라우저로부터 수신된 요청들에 응답하여 웹 브라우저에 웹 페이지들을 송신함으로써, 사용자와 상호작용할 수 있다.
많은 구현이 설명되었다. 그럼에도 불구하고, 본 개시내용의 사상 및 범위를 벗어나지 않고서 다양한 수정들이 이루어질 수 있음이 이해될 것이다. 따라서, 다른 구현들은 이하의 청구항들의 범위 내에 있다.

Claims (26)

  1. 데이터 프로세싱 하드웨어(112) 상에서 실행될 때 상기 데이터 프로세싱 하드웨어(112)로 하여금 동작들을 수행하게 하는, 컴퓨터에 의해 구현되는 방법(computer-implemented method)(500)으로서, 상기 동작들은:
    제1 음성 인식기(200)로부터, 사용자(10)에 의해 말해진 발화(utterance)(12)의 트랜스크립션(transcription)(204)에 대응하는 음성 인식 결과(222)를 수신하는 동작 - 상기 음성 인식 결과(222)는 상기 발화(12)의 트랜스크립션(204)의 하나 이상의 단어를 형성하는 가설화된 하위-단어 유닛들의 시퀀스(sequence of hypothesized sub-word units)를 포함하고, 각각의 하위-단어 유닛은 대응하는 출력 스텝에서 상기 제1 음성 인식기(200)로부터 출력됨 -;
    상기 가설화된 하위-단어 유닛들의 시퀀스 내의 각각의 하위-단어 유닛에 대해, 신뢰도 추정 모듈(300)을 사용하여:
    상기 대응하는 하위-단어 유닛이 상기 제1 음성 인식기(200)로부터 출력된 때인 상기 대응하는 출력 스텝에 연관된 각각의 신뢰도 임베딩(242)을 획득하는 동작;
    상기 대응하는 하위-단어 유닛에 대한 상기 각각의 신뢰도 임베딩(242), 및 상기 대응하는 하위-단어 유닛을 진행하는 상기 가설화된 하위-단어 유닛들의 시퀀스 내의 임의의 다른 하위-단어 유닛들에 대해 획득된 신뢰도 임베딩들(242)에 자체-주의집중(self-attend)하는 제1 주의집중 메커니즘(attention mechanism)(310)을 사용하여 신뢰도 특징 벡터(confidence feature vector)(312)를 생성하는 동작;
    상기 발화(12)에 대응하는 오디오 데이터(202)로부터 분할된 대응하는 음향 프레임에 각각 연관된 인코딩들의 시퀀스(212)에 교차-주의집중(cross-attend)하는 제2 주의집중 메커니즘(320)을 사용하여 음향 컨텍스트 벡터(322)를 생성하는 동작; 및
    상기 신뢰도 추정 모듈(300)의 출력 레이어(340)로부터의 출력으로서, 상기 신뢰도 추정 모듈(300)의 출력 레이어(340)에 의해 입력으로서 수신된 상기 신뢰도 특징 벡터(312) 및 상기 음향 컨텍스트 벡터(322)에 기초하여, 상기 대응하는 하위-단어 유닛에 대한 각각의 신뢰도 출력 점수(302)를 생성하는 동작; 및
    상기 가설화된 하위-단어 유닛들의 시퀀스 내의 각각의 하위-단어 유닛에 대해 생성된 각각의 신뢰도 출력 점수(302)에 기초하여, 상기 발화(12)의 트랜스크립션(204)에 대한 발화-레벨 신뢰도 점수(350)를 결정하는 동작
    을 포함하는, 컴퓨터에 의해 구현되는 방법.
  2. 제1항에 있어서, 상기 발화(12)의 트랜스크립션(204)에 대한 발화-레벨 신뢰도 점수(350)를 결정하는 동작은:
    상기 발화(12)의 트랜스크립션(204)의 하나 이상의 단어 중의 각각의 단어에 대해, 상기 대응하는 단어 내의 최종 하위-단어 유닛에 대해 생성된 각각의 신뢰도 출력 점수(302)와 동일한 각각의 단어-레벨 신뢰도 점수(302)를 결정하는 동작; 및
    상기 발화(12)의 트랜스크립션(204)에 대한 상기 발화-레벨 신뢰도 점수(350)를 결정하기 위해 상기 트랜스크립션(204)의 하나 이상의 단어 각각에 대해 결정된 각각의 단어-레벨 신뢰도 점수들(302)을 집계하는 동작
    을 포함하는, 컴퓨터에 의해 구현되는 방법.
  3. 제1항 또는 제2항에 있어서, 상기 동작들은:
    계층적 주의집중 메커니즘(hierarchical attention mechanism)(380)을 사용하여, 상기 발화(204)에 대한 상기 음성 인식 결과(222)가 올바르게 인식되는 확률을 추정하는 동작;
    상기 발화(12)에 대한 상기 음성 인식 결과(222)가 올바르게 인식되는 추정된 확률, 및 상기 발화(12)가 올바르게 인식되는지 여부를 나타내는 그라운드 트루스 레이블(ground-truth label)에 기초하여, 상기 음성 인식 결과(222)에 대한 발화-레벨 손실을 결정하는 동작; 및
    상기 발화-레벨 손실에 대해 상기 신뢰도 추정 모델(300)을 훈련하는 동작
    을 더 포함하는, 컴퓨터에 의해 구현되는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 신뢰도 추정 모델(300)과 상기 제1 음성 인식기(200)는 연합하여 훈련되는, 컴퓨터에 의해 구현되는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 동작들은:
    상기 발화(12)의 단어들의 시퀀스 내의 각각의 위치에서, 삭제들(deletions)의 개수를 추정하는 동작;
    상기 음성 인식 결과(222), 및 상기 단어들의 시퀀스 내의 각각의 위치에서의 추정된 삭제 개수 및 그라운드 트루스 삭제 개수에 대한 삭제 손실을 결정하는 동작; 및
    상기 삭제 손실에 대해 상기 신뢰도 추정 모델(300)을 훈련하는 동작
    을 더 포함하는, 컴퓨터에 의해 구현되는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 동작들은 상기 신뢰도 추정 모델(300)을 훈련한 후에, 상기 제1 음성 인식기(200)에 의해 인식된 후보 음성 인식 결과들(222)을 다시 채점하는 동작을 더 포함하는, 컴퓨터에 의해 구현되는 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 하위-단어 유닛들은 단어조각들(wordpieces)을 포함하는, 컴퓨터에 의해 구현되는 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 하위-단어 유닛들은 문자소들(graphemes)을 포함하는, 컴퓨터에 의해 구현되는 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서, 상기 제1 음성 인식기(200)는 다수의 후보 가설을 생성하도록 구성된 트랜스듀서 디코더 모델(transducer decoder model)을 포함하고, 각각의 후보 가설은 상기 발화(12)에 대한 후보 트랜스크립션에 대응하고 가설화된 하위-단어 유닛들의 각각의 시퀀스에 의해 표현되는, 컴퓨터에 의해 구현되는 방법.
  10. 제9항에 있어서, 상기 트랜스듀서 디코더 모델은 순환 신경망-트랜스듀서(Recurrent Neural Network-Transducer)(RNN-T) 모델 아키텍처를 포함하는, 컴퓨터에 의해 구현되는 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서, 상기 동작들은:
    상기 발화(12)의 트랜스크립션(204)에 대한 상기 발화-레벨 신뢰도 점수(350)가 신뢰도 임계값을 충족하는지를 결정하는 동작; 및
    상기 발화(12)의 트랜스크립션(204)에 대한 상기 발화-레벨 신뢰도 점수(350)가 상기 신뢰도 임계값을 충족하지 못하는 경우:
    상기 제1 음성 인식기(200)로부터의 트랜스크립션 출력을 거부하는 동작; 및
    상기 사용자에 의해 말해진 상기 발화(12)를 다시 트랜스크립션하기 위해, 상기 사용자(10)에 의해 말해진 상기 발화(12)에 대응하는 오디오 데이터(202)를 프로세싱하도록 제2 음성 인식기(402)에 지시하는 동작
    을 더 포함하는, 컴퓨터에 의해 구현되는 방법.
  12. 제11항에 있어서,
    상기 제1 음성 인식기(200)는 상기 사용자(10)에 연관된 사용자 디바이스(110)에 상주하고;
    상기 제2 음성 인식기(402)는 상기 사용자 디바이스(110)와 통신하는 원격 서버(410) 상에서 실행되고;
    상기 사용자 디바이스(110)는 상기 발화(12)의 트랜스크립션(204)에 대한 상기 발화-레벨 신뢰도 점수(350)가 상기 신뢰도 임계값을 충족하지 못하는 경우, 상기 오디오 데이터(202)를 상기 원격 서버(410)에 전송하는, 컴퓨터에 의해 구현되는 방법.
  13. 제11항 또는 제12항에 있어서, 상기 제2 음성 인식기(402)는 상기 제1 음성 인식기(200)보다 더 계산-집약적(computationally-intensive)인, 컴퓨터에 의해 구현되는 방법.
  14. 시스템으로서,
    데이터 프로세싱 하드웨어(112); 및
    상기 데이터 프로세싱 하드웨어(112)와 통신하고, 상기 데이터 프로세싱 하드웨어(112) 상에서 실행될 때 상기 데이터 프로세싱 하드웨어(112)로 하여금 동작들을 수행하게 하는 명령어들을 저장하는 메모리 하드웨어(114)
    를 포함하고, 상기 동작들은:
    제1 음성 인식기(200)로부터, 사용자(10)에 의해 말해진 발화(12)의 트랜스크립션(204)에 대응하는 음성 인식 결과(222)를 수신하는 동작 - 상기 음성 인식 결과(222)는 상기 발화(12)의 트랜스크립션(204)의 하나 이상의 단어를 형성하는 가설화된 하위-단어 유닛들의 시퀀스를 포함하고, 각각의 하위-단어 유닛은 대응하는 출력 스텝에서 상기 제1 음성 인식기(200)로부터 출력됨 -;
    상기 가설화된 하위-단어 유닛들의 시퀀스 내의 각각의 하위-단어 유닛에 대해, 신뢰도 추정 모듈(300)을 사용하여:
    상기 대응하는 하위-단어 유닛이 상기 제1 음성 인식기(200)로부터 출력된 때인 상기 대응하는 출력 스텝에 연관된 각각의 신뢰도 임베딩(242)을 획득하는 동작;
    상기 대응하는 하위-단어 유닛에 대한 상기 각각의 신뢰도 임베딩(242), 및 상기 대응하는 하위-단어 유닛을 진행하는 상기 가설화된 하위-단어 유닛들의 시퀀스 내의 임의의 다른 하위-단어 유닛들에 대해 획득된 신뢰도 임베딩들(242)에 자체-주의집중하는 제1 주의집중 메커니즘(310)을 사용하여 신뢰도 특징 벡터(312)를 생성하는 동작;
    상기 발화(12)에 대응하는 오디오 데이터(202)로부터 분할된 대응하는 음향 프레임에 각각 연관된 인코딩들의 시퀀스(212)에 교차-주의집중하는 제2 주의집중 메커니즘(320)을 사용하여 음향 컨텍스트 벡터(322)를 생성하는 동작; 및
    상기 신뢰도 추정 모듈(300)의 출력 레이어(340)로부터의 출력으로서, 상기 신뢰도 추정 모듈(300)의 출력 레이어(340)에 의해 입력으로서 수신된 상기 신뢰도 특징 벡터(312) 및 상기 음향 컨텍스트 벡터(322)에 기초하여, 상기 대응하는 하위-단어 유닛에 대한 각각의 신뢰도 출력 점수(302)를 생성하는 동작; 및
    상기 가설화된 하위-단어 유닛들의 시퀀스 내의 각각의 하위-단어 유닛에 대해 생성된 각각의 신뢰도 출력 점수(302)에 기초하여, 상기 발화(12)의 트랜스크립션(204)에 대한 발화-레벨 신뢰도 점수(350)를 결정하는 동작
    을 포함하는, 시스템.
  15. 제14항에 있어서, 상기 발화(12)의 트랜스크립션(204)에 대한 발화-레벨 신뢰도 점수(350)를 결정하는 동작은:
    상기 발화(12)의 트랜스크립션(204)의 하나 이상의 단어 중의 각각의 단어에 대해, 상기 대응하는 단어 내의 최종 하위-단어 유닛에 대해 생성된 각각의 신뢰도 출력 점수(302)와 동일한 각각의 단어-레벨 신뢰도 점수(302)를 결정하는 동작; 및
    상기 발화(12)의 트랜스크립션(204)에 대한 상기 발화-레벨 신뢰도 점수(350)를 결정하기 위해 상기 트랜스크립션(204)의 하나 이상의 단어 각각에 대해 결정된 각각의 단어-레벨 신뢰도 점수들(302)을 집계하는 동작
    을 포함하는, 시스템.
  16. 제14항 또는 제15항에 있어서, 상기 동작들은:
    계층적 주의집중 메커니즘(380)을 사용하여, 상기 발화(204)에 대한 상기 음성 인식 결과(222)가 올바르게 인식되는 확률을 추정하는 동작;
    상기 발화(12)에 대한 상기 음성 인식 결과(222)가 올바르게 인식되는 추정된 확률, 및 상기 발화(12)가 올바르게 인식되는지 여부를 나타내는 그라운드 트루스 레이블에 기초하여, 상기 음성 인식 결과(222)에 대한 발화-레벨 손실을 결정하는 동작; 및
    상기 발화-레벨 손실에 대해 상기 신뢰도 추정 모델(300)을 훈련하는 동작
    을 더 포함하는, 시스템.
  17. 제14항 내지 제16항 중 어느 한 항에 있어서, 상기 신뢰도 추정 모델(300)과 상기 제1 음성 인식기(200)는 연합하여 훈련되는, 시스템.
  18. 제14항 내지 제17항 중 어느 한 항에 있어서, 상기 동작들은:
    상기 발화(12)의 단어들의 시퀀스 내의 각각의 위치에서, 삭제들의 개수를 추정하는 동작;
    상기 음성 인식 결과(222), 및 상기 단어들의 시퀀스 내의 각각의 위치에서의 추정된 삭제 개수 및 그라운드 트루스 삭제 개수에 대한 삭제 손실을 결정하는 동작; 및
    상기 삭제 손실에 대해 상기 신뢰도 추정 모델(300)을 훈련하는 동작
    을 더 포함하는, 시스템.
  19. 제14항 내지 제18항 중 어느 한 항에 있어서, 상기 동작들은 상기 신뢰도 추정 모델(300)을 훈련한 후에, 상기 제1 음성 인식기(200)에 의해 인식된 후보 음성 인식 결과들(222)을 다시 채점하는 동작을 더 포함하는, 시스템.
  20. 제14항 내지 제19항 중 어느 한 항에 있어서, 상기 하위-단어 유닛들은 단어조각들을 포함하는, 시스템.
  21. 제14항 내지 제20항 중 어느 한 항에 있어서, 상기 하위-단어 유닛들은 문자소들을 포함하는, 시스템.
  22. 제14항 내지 제21항 중 어느 한 항에 있어서, 상기 제1 음성 인식기(200)는 다수의 후보 가설을 생성하도록 구성된 트랜스듀서 디코더 모델을 포함하고, 각각의 후보 가설은 상기 발화(12)에 대한 후보 트랜스크립션에 대응하고 가설화된 하위-단어 유닛들의 각각의 시퀀스에 의해 표현되는, 시스템.
  23. 제22항에 있어서, 상기 트랜스듀서 디코더 모델은 순환 신경망-트랜스듀서(RNN-T) 모델 아키텍처를 포함하는, 시스템.
  24. 제14항 내지 제23항 중 어느 한 항에 있어서, 상기 동작들은:
    상기 발화(12)의 트랜스크립션(204)에 대한 상기 발화-레벨 신뢰도 점수(350)가 신뢰도 임계값을 충족하는지를 결정하는 동작; 및
    상기 발화(12)의 트랜스크립션(204)에 대한 상기 발화-레벨 신뢰도 점수(350)가 상기 신뢰도 임계값을 충족하지 못하는 경우:
    상기 제1 음성 인식기(200)로부터의 트랜스크립션 출력을 거부하는 동작; 및
    상기 사용자(10)에 의해 말해진 상기 발화(12)를 다시 트랜스크립션하기 위해, 상기 사용자(10)에 의해 말해진 상기 발화(12)에 대응하는 오디오 데이터(202)를 프로세싱하도록 제2 음성 인식기(402)에 지시하는 동작
    을 더 포함하는, 시스템.
  25. 제24항에 있어서,
    상기 제1 음성 인식기(200)는 상기 사용자(10)에 연관된 사용자 디바이스(110)에 상주하고;
    상기 제2 음성 인식기(402)는 상기 사용자 디바이스(110)와 통신하는 원격 서버(410) 상에서 실행되고;
    상기 사용자 디바이스(110)는 상기 발화(12)의 트랜스크립션(204)에 대한 상기 발화-레벨 신뢰도 점수(350)가 상기 신뢰도 임계값을 충족하지 못하는 경우, 상기 오디오 데이터(202)를 상기 원격 서버(410)에 전송하는, 시스템.
  26. 제24항 또는 제25항에 있어서, 상기 제2 음성 인식기(402)는 상기 제1 음성 인식기(200)보다 더 계산-집약적인, 시스템.
KR1020237036276A 2021-03-26 2021-12-11 종단 간 자동 음성 인식 신뢰도 및 삭제 추정을 위한 멀티태스크 학습 KR20230158608A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163166399P 2021-03-26 2021-03-26
US63/166,399 2021-03-26
PCT/US2021/062972 WO2022203731A1 (en) 2021-03-26 2021-12-11 Multi-task learning for end-to-end automated speech recognition confidence and deletion estimation

Publications (1)

Publication Number Publication Date
KR20230158608A true KR20230158608A (ko) 2023-11-20

Family

ID=79287854

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237036276A KR20230158608A (ko) 2021-03-26 2021-12-11 종단 간 자동 음성 인식 신뢰도 및 삭제 추정을 위한 멀티태스크 학습

Country Status (6)

Country Link
US (1) US20220310080A1 (ko)
EP (1) EP4315321A1 (ko)
JP (1) JP2024511176A (ko)
KR (1) KR20230158608A (ko)
CN (1) CN117099157A (ko)
WO (1) WO2022203731A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023113784A1 (en) * 2021-12-14 2023-06-22 Google Llc Lattice speech corrections
CN117708568A (zh) * 2024-02-02 2024-03-15 智慧眼科技股份有限公司 大语言模型的特征提取方法、装置、计算机设备及介质

Also Published As

Publication number Publication date
US20220310080A1 (en) 2022-09-29
JP2024511176A (ja) 2024-03-12
WO2022203731A1 (en) 2022-09-29
CN117099157A (zh) 2023-11-21
EP4315321A1 (en) 2024-02-07

Similar Documents

Publication Publication Date Title
JP7436760B1 (ja) サブワードエンドツーエンド自動音声認識のための学習ワードレベルコンフィデンス
JP7488381B2 (ja) デリバレーションモデルベースの2パスのエンド・ツー・エンド音声認識
KR20230073297A (ko) 트랜스포머-트랜스듀서: 스트리밍 및 비스트리밍 음성 인식을 통합하는 하나의 모델
US11749259B2 (en) Proper noun recognition in end-to-end speech recognition
US20230186901A1 (en) Attention-Based Joint Acoustic and Text On-Device End-to-End Model
KR20230158608A (ko) 종단 간 자동 음성 인식 신뢰도 및 삭제 추정을 위한 멀티태스크 학습
KR20230158107A (ko) 효율적인 스트리밍 비-순환 온-디바이스 엔드-투-엔드 모델
KR20240065125A (ko) 희귀 단어 스피치 인식을 위한 대규모 언어 모델 데이터 선택
US20240029720A1 (en) Context-aware Neural Confidence Estimation for Rare Word Speech Recognition
US11580956B2 (en) Emitting word timings with end-to-end models
US20230298563A1 (en) Deliberation by Text-Only and Semi-Supervised Training
KR20240024345A (ko) 자동 음성 인식을 위한 다언어 리스코어링 모델들