KR20230147685A - 서브 워드 엔드-투-엔드 자동 스피치 인식을 위한 워드 레벨 신뢰도 학습 - Google Patents

서브 워드 엔드-투-엔드 자동 스피치 인식을 위한 워드 레벨 신뢰도 학습 Download PDF

Info

Publication number
KR20230147685A
KR20230147685A KR1020237032091A KR20237032091A KR20230147685A KR 20230147685 A KR20230147685 A KR 20230147685A KR 1020237032091 A KR1020237032091 A KR 1020237032091A KR 20237032091 A KR20237032091 A KR 20237032091A KR 20230147685 A KR20230147685 A KR 20230147685A
Authority
KR
South Korea
Prior art keywords
word
reliability
speech recognizer
output
utterance
Prior art date
Application number
KR1020237032091A
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 KR20230147685A publication Critical patent/KR20230147685A/ko

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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/08Learning methods
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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 OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting

Abstract

방법(500)은 스피치 인식 결과(232)를 수신하는 단계를 포함하며, 신뢰도 추정 모듈(CEM)(300)을 사용하여, 스피치 인식 결과에 대해 가설 서브 워드 유닛들의 시퀀스 내의 각 서브 워드 유닛에 대해: 각각의 신뢰도 임베딩(242)을 획득하는 단계; 제1 어텐션 메커니즘(310)을 사용하여, 신뢰도 피처 벡터(312)를 생성하는 단계; 제2 어텐션 메커니즘(320)을 사용하여, 음향 컨텍스트 벡터(332)를 생성하는 단계; 및 CEM의 출력 레이어(340)으로부터의 출력으로서, 각 대응하는 서브 워드 유닛에 대한 각각의 신뢰도 출력 스코어(302)를 생성하는 단계를 포함한다. 가설 서브 워드 유닛들의 시퀀스에 의해 형성된 하나 이상의 워드들 각각에 대해, 방법은 또한 워드에 대한 각각의 워드 레벨 신뢰도 스코어를 결정하는 단계를 포함한다. 방법은 또한 워드 레벨 신뢰도 스코어들을 집계함으로써 발화 레벨 신뢰도 스코어(350)를 결정하는 단계를 포함한다.

Description

서브 워드 엔드-투-엔드 자동 스피치 인식을 위한 워드 레벨 신뢰도 학습
본 개시는 서브 워드 엔드-투-엔드 자동 스피치 인식을 위한 워드 레벨 신뢰도 학습에 관한 것이다.
최신 자동 스피치 인식(ASR) 시스템은 품질/정확성(예를 들어, 낮은 워드 오류율(WER))뿐만 아니라 낮은 지연시간(예를 들어, 사용자 말하는 것과 전사(transcription)가 나타나는 사이의 짧은 지연)을 제공하는 데 중점을 둔다. 더욱이, 오늘날 ASR 시스템을 사용할 때 ASR 시스템은 사용자가 말할 때 실시간으로 또는 심지어 실시간보다 더 빠르게 발화의 전사를 디스플레이하는 것에 대응하는 스트리밍 방식으로 발화를 디코딩해야 한다는 요구가 있다. 예를 들어, ASR 시스템이 직접적인 사용자 상호작용을 경험하는 휴대폰에 배포될 때, ASR 시스템을 사용하는 휴대폰의 애플리케이션은 워드, 워드 조각 및/또는 개별 문자가 발화되자마자 화면에 나타나도록 스트리밍되는 스피치 인식을 요구할 수 있다. 여기서, 휴대폰 사용자는 지연시간에 대한 낮은 허용 오차를 가질 가능성이 있다. 이러한 낮은 허용 오차로 인해, 스피치 인식은 사용자 경험에 부정적인 영향을 미칠 수 있는 지연시간 및 부정확성으로 인한 영향을 최소화하는 방식으로 모바일 디바이스에서 실행되기 위해 노력한다.
본 개시의 한 측면은 데이터 프로세싱 하드웨어에서 실행될 때 데이터 프로세싱 하드웨어로 하여금 동작들을 수행하게 하는 컴퓨터 구현 방법을 제공하고, 동작들은 스피치 인식기로부터, 사용자에 의해 발화된 발화에 대한 스피치 인식 결과를 수신하는 동작을 포함한다. 스피치 인식 결과는 발화의 하나 이상의 워드들을 형성하는 가설(hypothesized) 서브 워드 유닛들의 시퀀스를 포함한다. 각 서브 워드 유닛은 대응하는 출력 단계에서 스피치 인식기로부터 출력된다. 신뢰도 추정 모듈을 사용하여, 가설 서브 워드 유닛들의 시퀀스 내의 각 서브 워드 유닛에 대해, 동작들은 또한: 스피치 인식기로부터 대응하는 서브 워드 유닛이 출력될 때, 대응하는 출력 단계와 연관된 신뢰도 피처들의 세트를 표현하는 각각의 신뢰도 임베딩을 획득하는 동작; 대응하는 서브 워드 유닛에 대한 각각의 신뢰도 임베딩 및 대응하는 서브 워드 유닛을 진행(proceed)하는 가설 서브 워드 유닛들의 시퀀스 내의 임의의 다른 서브 워드 유닛들에 대해 획득된 신뢰도 임베딩들에 자체적으로 주의를 기울이는 제1 어텐션 메커니즘을 사용하여, 신뢰도 피처 벡터를 생성하는 동작; 발화에 대응하는 오디오 데이터로부터 분할된 대응하는 음향 프레임과 각각 연관된 음향 인코딩들의 시퀀스에 교차로 주의를 기울이는 제2 어텐션 메커니즘을 사용하여 사용하여, 음향 컨텍스트 벡터를 생성하는 동작; 및 신뢰도 추정 모듈의 출력 레이어로부터의 출력으로서, 신뢰도 피처 벡터 및 신뢰도 추정 모듈의 출력 레이어에 의해 입력으로서 수신된 음향 피처 벡터에 기초하여 대응하는 서브 워드 유닛에 대한 각각의 신뢰도 출력 스코어를 생성하는 동작을 포함한다. 가설 서브 워드 유닛들의 시퀀스에 의해 형성된 하나 이상의 워드들 각각에 대해, 동작들은 또한 워드에 대한 각각의 워드 레벨 신뢰도 스코어를 결정하는 동작 및 발화의 하나 이상의 워드들에 대해 결정된 각각의 워드 레벨 신뢰도 스코어들을 집계함으로써 스피치 인식 결과에 대한 발화 레벨 신뢰도 스코어를 결정하는 동작을 포함한다. 각각의 워드 레벨 신뢰도 스코어는 해당 워드의 최종 서브 워드 유닛에 대해 생성된 각각의 신뢰도 출력 스코어와 동일하다.
본 개시의 구현예는 다음의 선택적인 피처들 중 하나 이상을 포함할 수 있다. 일부 구현예에서, 각각의 신뢰도 임베딩에 의해 표현되는 상기 신뢰도 피처들의 세트는 대응하는 출력 단계에서 스피치 인식기의 소프트맥스 포스테리어 피처; 및 대응하는 서브 워드 유닛에 대한 서브 워드 임베딩 피처를 포함한다. 추가적인 구현예에서, 각각의 신뢰도 임베딩에 의해 표현되는 신뢰도 피처들의 세트는 대응하는 출력 단계에서 스피치 인식기로부터 출력된 대응하는 서브 워드 유닛의 확률/우도(likelihood)와 연관된 확률값을 나타내는 로그 포스테리어 로그 피처, 및 스피치 인식기에 의해 리스코어링된 상위 K 후보 가설들에 대한 상기 대응하는 출력 단계에서의 K개의 가장 큰 로그 확률들을 나타내는 상위 K 피처를 더 포함한다. 여기서, 상위 K 후보 가설들 각각은 발화의 하나 이상의 워드들을 형성하는 가설 서브 워드 유닛들의 각각의 시퀀스에 의해 표현된다.
일부 예에서, 서브 워드 유닛들은 워드피스(wordpiece)들을 포함하는 반면, 다른 예에서는 서브 워드 유닛들은 문자소(grapheme)들을 포함한다. 스피치 인식기는 트랜스듀서(transducer) 디코더 모델(220) 및 리스코어러(rescorer) 디코더 모델을 포함할 수 있다. 트랜스듀서 디코더 모델은 제1 패스 동안 다수의 후보 가설들을 생성하도록 구성되고, 리스코어러 디코더 모델은 제2 패스동안, 제1 패스 동안 트랜스듀서 디코더 모델에 의해 생성된 다수의 후보 가설들로부터 상위 K 후보 가설들을 리스코어링하도록 구성된다. 각 후보 가설은 발화에 대한 후보 전사(transcription)에 대응하고 가설 서브 워드 유닛들의 각각의 시퀀스로 표현된다. 또한, 가장 높은 제2 패스 로그 확률과 연관된 가설 서브 워드 유닛들의 각각의 시퀀스에 의해 표현되는 리스코어러 디코더 모델에 의해 리스코어링된 상위 K 후보 가설들의 후보 가설은 사용자에 의해 발화된 발화에 대한 스피치 인식 결과로서 리스코어러 디코더 모델로부터 출력된다. 트랜스듀서 디코더 모델은 순환 신경 네트워크-트랜스듀서(RNN-T) 모델 아키텍처를 포함하고; 그리고 리스코어러 디코더 모델(230)은 LAS(Listen, Attend, Spell) 모델 아키텍처를 포함할 수 있다.
일부 구현예에서, 동작들은 제2 패스 동안 스피치 인식기의 언어 인코더를 사용하여, 제1 패스 동안 트랜스듀서 디코더 모델에 의해 생성된 다수의 후보 가설들 각각을 인코딩함으로써 다수의 가설 인코딩을 생성하는 동작; 및 신뢰도 추정 모듈을 사용하여, 가설 서브 워드 유닛들의 시퀀스 내의 각 서브 워드 유닛에 대해, 다수의 가설 인코딩에 교차로 주의를 기울이는 제3 어텐션 메커니즘을 사용하여, 언어 컨텍스트 벡터를 생성하는 동작을 더 포함한다. 이러한 구현예에서, 대응하는 서브 워드 유닛에 대한 각각의 신뢰도 출력 스코어를 생성하는 동작은 신뢰도 추정 모듈의 출력 레이어에 의해 입력으로서 수신된 언어 컨텍스트 벡터에 더 기초한다. 다수의 후보 가설 각각을 인코딩하는 동작은 각 후보 가설을 대응하는 가설 인코딩으로 양방향으로 인코딩하는 동작을 포함할 수 있고, 다수의 후보 가설을 생성하는 동작은 각각의 대응하는 가설 인코딩을 연결함으로써 다수의 가설 인코딩을 생성하는 동작을 포함할 수 있다.
스피치 인식기와 신뢰도 추정 모듈은 공동으로 또는 별도로 트레이닝될 수 있다. 신뢰도 추정 모델은 스피치 인식기와 연관된 피처들에 기초한 바이너리 교차 엔트로피 손실을 사용하여 트레이닝될 수 있다. 일부 예에서, 동작들은 스피치 인식 결과에 대한 발화 레벨 신뢰도 스코어가 신뢰도 임계값을 만족하는지 여부를 결정하는 동작; 및 스피치 인식 결과에 대한 발화 레벨 신뢰도 스코어가 신뢰도 임계값을 만족하지 못하는 경우, 발화에 대응되는 오디오 데이터를 다른 스피치 인식기로 전송하는 동작을 더 포함한다. 여기서, 다른 스피치 인식기는 발화의 전사를 생성하기 위해 오디오 데이터를 프로세싱하도록 구성된다. 이러한 예에서, 스피치 인식기 및 신뢰도 추정 모듈은 사용자 컴퓨팅 디바이스에서 실행될 수 있고, 다른 스피치 인식기는 네트워크를 통해 사용자 컴퓨팅 디바이스와 통신하는 원격 서버에서 실행될 수 있다.
본 개시의 또 다른 측면은 데이터 프로세싱 하드웨어 및 데이터 프로세싱 하드웨어와 통신하고, 데이터 프로세싱 하드웨어에서 실행될 때 데이터 프로세싱 하드웨어로 하여금 동작들을 수행하게 하는 명령어들을 저장하는 메모리 하드웨어를 포함하는 시스템을 제공하고, 동작들은 스피치 인식기로부터, 사용자에 의해 발화된 발화에 대한 스피치 인식 결과를 수신하는 동작을 포함한다. 스피치 인식 결과는 발화의 하나 이상의 워드들을 형성하는 가설(hypothesized) 서브 워드 유닛들의 시퀀스를 포함한다. 각 서브 워드 유닛은 대응하는 출력 단계에서 스피치 인식기로부터 출력된다. 신뢰도 추정 모듈을 사용하여, 가설 서브 워드 유닛들의 시퀀스 내의 각 서브 워드 유닛에 대해, 동작들은 또한: 스피치 인식기로부터 대응하는 서브 워드 유닛이 출력될 때, 대응하는 출력 단계와 연관된 신뢰도 피처들의 세트를 표현하는 각각의 신뢰도 임베딩을 획득하는 동작; 대응하는 서브 워드 유닛에 대한 각각의 신뢰도 임베딩 및 대응하는 서브 워드 유닛을 진행(proceed)하는 가설 서브 워드 유닛들의 시퀀스 내의 임의의 다른 서브 워드 유닛들에 대해 획득된 신뢰도 임베딩들에 자체적으로 주의를 기울이는 제1 어텐션 메커니즘을 사용하여, 신뢰도 피처 벡터를 생성하는 동작; 발화에 대응하는 오디오 데이터로부터 분할된 대응하는 음향 프레임과 각각 연관된 음향 인코딩들의 시퀀스에 교차로 주의를 기울이는 제2 어텐션 메커니즘을 사용하여 사용하여, 음향 컨텍스트 벡터를 생성하는 동작; 및 신뢰도 추정 모듈의 출력 레이어로부터의 출력으로서, 신뢰도 피처 벡터 및 신뢰도 추정 모듈의 출력 레이어에 의해 입력으로서 수신된 음향 피처 벡터에 기초하여 대응하는 서브 워드 유닛에 대한 각각의 신뢰도 출력 스코어를 생성하는 동작을 포함한다. 가설 서브 워드 유닛들의 시퀀스에 의해 형성된 하나 이상의 워드들 각각에 대해, 동작들은 또한 워드에 대한 각각의 워드 레벨 신뢰도 스코어를 결정하는 동작 및 발화의 하나 이상의 워드들에 대해 결정된 각각의 워드 레벨 신뢰도 스코어들을 집계함으로써 스피치 인식 결과에 대한 발화 레벨 신뢰도 스코어를 결정하는 동작을 포함한다. 각각의 워드 레벨 신뢰도 스코어는 워드의 최종 서브 워드 유닛에 대해 생성된 각각의 신뢰도 출력 스코어와 동일하다.
이 측면에서는 다음과 같은 선택적 특징들 중 하나 이상이 포함될 수 있다. 일부 구현예에서, 각각의 신뢰도 임베딩에 의해 표현되는 신뢰도 피처들의 세트는 대응하는 출력 단계에서 스피치 인식기의 소프트맥스 포스테리어 피처; 및 대응하는 서브 워드 유닛에 대한 서브 워드 임베딩 피처를 포함한다. 추가적인 구현예에서, 각각의 신뢰도 임베딩에 의해 표현되는 신뢰도 피처들의 세트는 대응하는 출력 단계에서 스피치 인식기로부터 출력된 대응하는 서브 워드 유닛의 확률/우도와 연관된 확률값을 나타내는 로그 포스테리어 로그 피처; 및 스피치 인식기에 의해 리스코어링된 상위 K 후보 가설들에 대한 대응하는 출력 단계에서의 K개의 가장 큰 로그 확률들을 나타내는 상위 K 피처를 더 포함한다. 여기서, 상위 K 후보 가설들 각각은 발화의 하나 이상의 워드들을 형성하는 가설 서브 워드 유닛들의 각각의 시퀀스에 의해 표현된다.
일부 예에서, 서브 워드 유닛들은 워드피스(wordpiece)들을 포함하는 반면, 다른 에에서는 서브 워드 유닛들은 문자소(grapheme)들을 포함한다. 스피치 인식기는 트랜스듀서(transducer) 디코더 모델 및 리스코어러(rescorer) 디코더 모델을 포함할 수 있다. 트랜스듀서 디코더 모델은 제1 패스 동안 다수의 후보 가설들을 생성하도록 구성되고, 리스코어러 디코더 모델은 제2 패스동안, 제1 패스 동안 트랜스듀서 디코더 모델에 의해 생성된 다수의 후보 가설들로부터 상위 K 후보 가설들을 리스코어링하도록 구성된다. 각 후보 가설은 발화에 대한 후보 전사(transcription)에 대응하고 가설 서브 워드 유닛들의 각각의 시퀀스로 표현된다. 또한, 가장 높은 제2 패스 로그 확률과 연관된 가설 서브 워드 유닛들의 각각의 시퀀스에 의해 표현되는 리스코어러 디코더 모델에 의해 리스코어링된 상위 K 후보 가설들의 후보 가설은 사용자에 의해 발화된 발화에 대한 스피치 인식 결과로서 리스코어러 디코더 모델로부터 출력된다. 트랜스듀서 디코더 모델은 순환 신경 네트워크-트랜스듀서(RNN-T) 모델 아키텍처를 포함하고; 그리고 리스코어러 디코더 모델(230)은 LAS(Listen, Attend, Spell) 모델 아키텍처를 포함할 수 있다.
일부 구현예에서, 동작들은 제2 패스 동안 스피치 인식기의 언어 인코더를 사용하여, 제1 패스 동안 트랜스듀서 디코더 모델에 의해 생성된 다수의 후보 가설들 각각을 인코딩함으로써 다수의 가설 인코딩을 생성하는 동작; 및 신뢰도 추정 모듈을 사용하여, 가설 서브 워드 유닛들의 시퀀스 내의 각 서브 워드 유닛에 대해, 다수의 가설 인코딩에 교차로 주의를 기울이는 제3 어텐션 메커니즘을 사용하여, 언어 컨텍스트 벡터를 생성하는 동작을 더 포함한다. 이러한 구현예에서, 대응하는 서브 워드 유닛에 대한 각각의 신뢰도 출력 스코어를 생성하는 동작은 신뢰도 추정 모듈의 출력 레이어에 의해 입력으로서 수신된 언어 컨텍스트 벡터에 더 기초한다. 다수의 후보 가설 각각을 인코딩하는 동작은 각 후보 가설을 대응하는 가설 인코딩으로 양방향으로 인코딩하는 동작을 포함할 수 있고, 다수의 후보 가설을 생성하는 동작은 각각의 대응하는 가설 인코딩을 연결함으로써 다수의 가설 인코딩을 생성하는 동작을 포함할 수 있다.
스피치 인식기와 신뢰도 추정 모듈은 공동으로 또는 별도로 트레이닝될 수 있다. 신뢰도 추정 모델은 스피치 인식기와 연관된 피처들에 기초한 바이너리 교차 엔트로피 손실을 사용하여 트레이닝될 수 있다. 일부 예에서, 동작들은 스피치 인식 결과에 대한 발화 레벨 신뢰도 스코어가 신뢰도 임계값을 만족하는지 여부를 결정하는 동작; 및 스피치 인식 결과에 대한 발화 레벨 신뢰도 스코어가 신뢰도 임계값을 만족하지 못하는 경우, 발화에 대응되는 오디오 데이터를 다른 스피치 인식기로 전송하는 동작을 더 포함한다. 여기서, 다른 스피치 인식기는 발화의 전사를 생성하기 위해 오디오 데이터를 프로세싱하도록 구성된다. 이러한 예에서, 스피치 인식기 및 신뢰도 추정 모듈은 사용자 컴퓨팅 디바이스에서 실행될 수 있고, 다른 스피치 인식기는 네트워크를 통해 사용자 컴퓨팅 디바이스와 통신하는 원격 서버에서 실행될 수 있다.
본 개시의 하나 이상의 구현예의 세부사항은 첨부 도면 및 아래의 설명에서 설명된다. 다른 측면, 특징 및 장점은 설명, 도면, 청구범위로부터 명백해질 것이다.
도 1은 예시적인 스피치 환경의 개략도이다.
도 2a는 스피치 인식을 위해 트랜스포머 리스코어러를 활용하는 2-패스 모델 아키텍처를 갖는 예시적인 스피치 인식기의 개략도이다.
도 2b는 스피치 인식을 위해 심의 리스코어러를 활용하는 2-패스 모델 아키텍처를 갖는 예시적인 스피치 인식기의 개략도이다.
도 3은 2-패스 모델 아키텍처를 갖는 스피치 인식기에 오버레이된 예시적인 신뢰도 추정 모듈의 개략도이다.
도 4는 발화 레벨 신뢰도에 기초하여 적절한 스피치 인식기를 선택하기 위한 예시적인 신뢰도 기반 루틴의 개략도이다.
도 5는 해당 워드에 대한 최종 가설 서브 워드 유닛의 신뢰도만을 사용하여 스피치 인식기에 의해 인식된 워드에 대한 워드 레벨 신뢰도를 추정하는 방법에 대한 동작들의 예시적인 배열의 흐름도이다.
도 6은 본 명세서에 설명된 시스템 및 방법을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 디바이스의 개략도이다.
다양한 도면에서 유사한 참조 기호는 유사한 요소를 나타낸다.
자동 스피치 인식(ASR) 시스템은 품질/정확성(예: 낮은 워드 오류율(WER))뿐만 아니라 낮은 지연시간(예: 사용자 말하는 것과 전사(transcription)가 나타나는 사이의 짧은 지연)을 제공하는 데 중점을 둔다. 최근 순환 신경 네트워크-트랜스듀서(RNN-T), 트렌스포머 또는 컨포머 트랜스듀서, 어텐션 기반 인코더-디코더 모델과 같은 엔드-투-엔드(E2E) ASR 모델이 정확성과 지연시간 측면에서 최첨단 성능을 달성하는 데 인기를 얻고 있다. 별도의 음향, 발음, 언어 모델을 포함하는 기존의 하이브리드 ASR 시스템과 달리, E2E 모델은 시퀀스-투-시퀀스 접근 방식을 적용하여 트레이닝 데이터, 예를 들어 발화-전사 쌍으로부터 엔드 투 엔드 트레이닝되는 단일 신경 네트워크에서 음향 및 언어 모델링을 공동으로 학습한다.
시퀀스-투-시퀀스 모델의 예에는 "어텐션 기반" 모델 및 "listen-attend-spell"(LAS) 모델이 포함된다. LAS 모델은 리스너(listener) 컴포넌트, 어텐더(attender) 컴포넌트 및 스펠러(speller) 컴포넌트를 사용하여 스피치 발화를 문자로 전사한다. 여기서, 리스너는 오디오 입력(예: 스피치 입력의 시간-주파수 표현)을 수신하고 오디오 입력을 더 높은 수준의 피처 표현에 매핑하는 순환 신경 네트워크(RNN) 인코더이다. 어텐더는 상위 레벨 피처에 주의를 기울여 입력 피처와 예측 서브워드 유닛(예: 문자소 또는 워드피스) 사이의 정렬을 학습한다. 스펠러는 가설(hypothesized) 워드들의 세트에 대한 확률 분포를 생성하여 입력으로부터 문자 시퀀스를 생성하는 어텐션 기반 RNN 디코더이다. 통합 구조를 사용하면, 모델의 모든 컴포넌트를 단일 엔드-투-엔드(E2E) 신경 네트워크로 공동으로 트레이닝할 수 있다. 여기서, E2E 모델은 아키텍처가 완전한 신경 네트워크로 구성된 모델을 의미한다. 완전한 신경 네트워크는 외부 및/또는 수동으로 설계된 컴포넌트(예: 유한 상태 트랜스듀서(transducer), 어휘집(lexicon) 또는 텍스트 정규화 모듈) 없이 기능한다. 또한 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-패스 스피치 인식 시스템(예: 도 2a에 도시됨)이 개발되었다. 이 설계를 사용하면 2-패스 모델은 지연시간이 짧은 RNN-T 모델의 스트리밍 특성을 활용하는 동시에 LAS 네트워크를 통합하는 제2 패스를 통해 RNN-T 모델의 정확도를 향상시킨다. LAS 네트워크는 RNN-T 모델과 비교했을 때 지연시간이 증가하지만, 지연시간 증가는 비교적 미미하며 온디바이스 동작에 대한 지연시간 제약 조건을 준수한다. 정확성과 관련하여, 2-패스 모델은 RNN-T 단독과 비교할 때 17~22% WER 감소를 달성하고 대형 기존 모델과 비교할 때 유사한 WER을 갖는다.
신뢰도 스코어는 스피치 인식 오류를 완화하기 위해 많은 다운스트림 애플리케이션을 지원하는 ASR 시스템의 중요한 피처이다. 예를 들어, 높은 신뢰도를 달성하는 ASR 모델로부터 출력된 인식 결과로 레이블이 지정되지 않은 발화는 ASR 모델의 준-지도(semi-supervised) 트레이닝에 사용될 수 있으며, 이는 트레이닝을 위해 전사된 발화만 사용하는 비용을 줄일 수 있다. 반면, 사용자가 컴퓨팅 디바이스에서 실행되는 디지털 어시스턴트와 상호작용하는 음성 대화 시스템과 같은 애플리케이션에서, 낮은 워드 레벨 신뢰도를 획득한 인식 결과가 포함된 발화는 사용자에게 잘못 전사된 워드를 수정하도록 유도할 수 있다. 또한 신뢰도가 낮은 인식 결과는 대응하는 발화에 대한 오디오를 다른 ASR 모델(예: 서버 측)로 전달하여 발화에 대한 인식을 향상시킬 수 있다.
기존의 하이브리드 ASR 시스템은 격자(lattices) 또는 혼동(confusion) 네트워크로부터 계산된 후 집계되어 발화 레벨 신뢰도를 제공하는 워드 포스테리어(posterior) 확률로부터 워드 레벨 신뢰도 스코어를 쉽게 추정할 수 있지만, E2E ASR 모델이 사용하는 심층 신경 네트워크는 워드를 예측할 때 지나친 신뢰도를 나타내는 경향이 있다. 많은 E2E ASR 모델은 서브 워드 레벨에서 인식 결과를 출력하도록 구성되어 있기 때문에, 단순히 워드에 대한 대응하는 고정 서브 워드 토큰화를 레퍼런스 시퀀스로 사용하여 ASR 모델에 의해 인식된 각 서브 워드에 대한 신뢰도 스코어를 학습하면 인식 결과에 대한 다수의 유효한 토큰화가 포함될 수 있으므로 신뢰도 추정 모델 트레이닝에 사용되는 잘못된 실측(ground truth) 레이블이 발생할 수 있다. 예를 들어, "Good morning"이라는 발화에 대한 레퍼런스 고정 서브 워드 시퀀스는 "go, od, morn, ing"일 수 있는 반면 ASR 모델에 의해 인식된 가설 서브 워드 시퀀스는 "go, od, mor, ning, mom"일 수 있다. 여기서 "morning"이라는 워드가 ASR 모델에서 올바르게 인식되더라도, ASR 모델에 의해 인식되는 대응하는 가설 서브 워드 “mor” 및 “ning”에 대한 서브 워드 레이블은 “morning”이라는 워드에 대한 대응하는 레퍼런스 고정 서브 워드 “morn” 및 “ing”와 일치하지 않기 때문에 잘못된 레이블이 지정된다.
레퍼런스 고정 서브 워드 시퀀스 사이의 불일치로 인해 ASR 모델에 의해 인식되는 가설 서브 워드 시퀀스에 대한 서브 워드 신뢰도 스코어를 추정하는 것과 연관된 단점을 완화하기 위해, 본 명세서의 구현예는 대응하는 워드를 구성하는 ASR 모델에 의해 인식된 최종 가설 서브 워드 유닛의 신뢰도만을 사용하여 각각의 인식된 워드에 대한 워드 레벨 신뢰도를 추정하기 위해 셀프 어텐션을 적용하는 신뢰도 추정 모듈에 관한 것이다. 본 개시의 추가적인 구현예는 제1 패스 동안 ASR 모델에 의해 인식되는 다수의 가설들(예: N-베스트 목록)에 대한 언어 컨텍스트 뿐만 아니라 인식되는 발화에 대한 음향 컨텍스트에 주의를 기울이기 위해 교차 어텐션을 추가로 활용하는 신뢰도 추정 모듈에 관한 것이다. 명백해지듯이, 음향 및 언어 교차 어텐션을 모두 활용하면 신뢰도 추정 모듈에 의해 추정된 신뢰도 스코어의 정확도가 증가한다.
도 1은 사용자(10)가 보이스 입력을 통해 사용자 디바이스(110)와 상호작용하는 예시적인 스피치 환경(100)이다. 사용자 디바이스(110)(일반적으로 디바이스(110)라고도 함)는 스피치 지원 환경(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)를 더 포함한다. 도시된 예에서 사용자 디바이스(110)는 단일 오디오 캡처 디바이스(116a)를 구현하지만, 사용자 디바이스(110)는 본 개시의 범위를 벗어나지 않고 오디오 캡처 디바이스(116a)의 어레이를 구현할 수 있으며, 이로 인해 어레이 내의 하나 이상의 캡처 디바이스(116a)는 사용자 디바이스(110)에 물리적으로 상주하지 않고 오디오 서브시스템(116)과 통신할 수 있다. 도시된 예에서, 사용자 디바이스(110)(예를 들어, 하드웨어(112, 114)를 사용하여)는 사용자(10)가 말한 발화(12)에 대응하는 오디오 데이터(202)에 대해 스피치 인식을 수행하도록 구성된 스피치 인식기(200)를 구현한다. 여기서, 오디오 캡처 디바이스(116a)는 발화(12)를 나타내는 음향 사운드를 캡처하고 음향 사운드를 스피치 인식기(200)와 호환되는 디지털 포맷과 연관된 오디오 데이터(202)로 변환하도록 구성된다. 오디오 데이터(202)와 연관된 디지털 포맷은 멜 프레임들과 같은 음향 프레임들(예: 파라미터화된 음향 프레임들)에 대응할 수 있다. 예를 들어, 파라미터화된 음향 프레임들은 로그멜 필터뱅크 에너지에 대응한다.
도 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)에게 인사하고, 이는 오디오 캡처 디바이스에 의해 캡처되고 스피치 인식기(200)에 의한 프로세싱을 위해 대응하는 오디오 데이터(202)(예: 음향 프레임들)로 변환된다. 이 예에서, 스피치 인식기(200)는 발화(12)를 나타내는 오디오 데이터(202)를 전사(204)(예를 들어, "Good morning"의 텍스트 표현)로 표기한다. 여기서, 자동 어시스턴트 애플리케이션(118)은 전사(204)에 자연어 프로세싱을 적용하여, "Good Morning Bill, 당신의 캘린더에서 오늘 첫 번째 회의는 오전 9시입니다”라는 메시지를 전달하는 사용자(10)에게 출력하기 위한 응답(119)을 생성할 수 있다. 자연어 프로세싱은 일반적으로 문자 언어(예: 전사(204))를 해석하고 문자 언어가 어떤 액션을 일으키는지 여부를 결정하는 프로세스를 의미한다. 이 예에서, 어시스턴트 애플리케이션(118)은 자연어 프로세싱을 사용하여 사용자(10)가 말한 발화(12)가 사용자(10)의 캘린더 애플리케이션에 액세스하기 위해 어시스턴트 애플리케이션(118)을 호출하려는 의도임을 인식하고 오늘 사용자의 첫 번째 회의 시간을 나타내는 응답(119)을 제공한다. 즉, 자연어 프로세싱으로 이러한 세부사항을 인식함으로써, 어시스턴트 애플리케이션(118)은 오디오 출력 디바이스(116a)를 통한 가청 출력을 위한 합성 스피치 표현 및/또는 사용자 디바이스(110)와 통신하여 화면에 디스플레이하기 위한 텍스트로서 사용자(12)에게 응답(119)을 반환한다. 일부 예에서, 사용자 디바이스(110)는 사용자(10)가 말한 발화(12)의 전사(204) 및 어시스턴트 애플리케이션(118)으로부터의 대응하는 응답(119)을 대화로서 화면에 디스플레이한다. 일부 구성에서, 자연어 프로세싱은 사용자 디바이스(110)의 데이터 프로세싱 하드웨어(112)와 통신하는 원격 시스템에서 발생할 수 있다.
일부 예에서, 스피치 인식기(200)는 수신 오디오 데이터(202)를 실시간으로 프로세싱하여 스트리밍 전사(204)를 제공한다. 여기서, 스피치 인식기(200)는 사용자(10)에 의해 발화된 발화(12)의 워드를 구성하는 가설 서브 워드 유닛들의 시퀀스를 생성하도록 구성된다. 가설 서브 워드 유닛들은 워드 조각이나 개별 문자(예: 문자소)를 포함할 수 있다. 도시된 예에서, 스피치 인식기에 의해 인식된 가설 서브 워드 유닛들의 시퀀스는 "SOS_go od_mor ning"을 포함하고, 여기서 'SOS'는 스피치 태그의 시작을 나타내고, 각 워드 경계 표시자('_')는 각 워드에 대한 개시/시작 서브 워드 유닛을 나타낸다.
도 2a를 참조하면, 일부 구현예에서, 스피치 인식기(200, 200a)는 2-패스 디코딩 아키텍처로 구성되고, 스피치 인식기(200)에 의해 예측된 최종 인식 결과(232)의 신뢰도(302)를 추정하기 위한 신뢰도 추정 모듈(CEM)(300)을 구현한다. 특히, 스피치 인식기(200a)는 제2 패스(208) 디코딩/리스코어링(rescoring)을 수행하기 위해 트랜스포머 리스코어러(transformer rescorer) 아키텍처를 활용한다. 여기서, 최종 인식 결과(232)는 함께 집계될 때 발화에 대한 전사(204)를 형성하는 워드 조각 또는 문자소와 같은 서브 워드 유닛들의 시퀀스에 대응한다. 일반적으로 말하면, 스피치 인식기(200)의 2-패스 아키텍처는 적어도 하나의 공유 인코더(210), RNN-T 디코더(220), 및 음향 인코더(250)에 의해 강화된 리스코어러 디코더(230)를 포함한다. 2-패스 디코딩에서, 제2 패스(208)(예를 들어, 리스코어러 디코더(230)로 도시됨)는 격자 리스코어링 또는 상위 K 순위 재지정(top-K re-ranking)과 같은 기술을 사용하여 제1 패스(206)(예를 들어, RNN-T 디코더(220)로 도시됨)로부터의 초기 출력(222)을 향상시킬 수 있다. 즉, RNN-T 디코더(220)는 출력(222)으로서 다수의 후보 가설들 H를 생성하고, 리스코어러 디코더(230)는 상위 K 후보 가설들 H를 리스코어링/순위 재지정하여 전사(204)(도 1)에 대응하는 최종 인식 결과(232)로서 가장 높은 스코어를 받은 후보 가설을 식별한다. 일반적으로 리스코어러 디코더(230)가 RNN-T 디코더(220)로부터 스트리밍된 가설들 H(222)를 리스코어링하는 리스코어링 모드에서 기능하는 것이 논의되지만, 리스코어러 디코더(230)는 또한 디자인이나 기타 요인(예: 발화 길이)에 따라 빔 검색 모드와 같은 상이한 모드에서 동작할 수도 있다. 또한, 본 명세서의 예는 제1 발화 동안 디코딩을 수행하는 RNN-T 디코더(220)를 도시하지만, 디코더(220)는 본 개시의 범위를 벗어나지 않고 다른 유형의 트랜스듀서 모델 아키텍처를 유사하게 포함할 수 있다. 예를 들어, 디코더(220)는 RNN-T 모델 아키텍처 대신 트랜스포머-트랜스듀서, 컨볼루셔널 신경 네트워크-트랜스듀서(ConvNet-Transducer) 또는 컨포머-트랜스듀서 모델 아키텍처 중 하나를 포함할 수 있다.
적어도 하나의 공유 인코더(210)는 음향 프레임들의 시퀀스로서 발화(12)에 대응하는 오디오 데이터(202)를 입력으로서 수신하도록 구성된다. 음향 프레임들은 오디오 서브시스템(116)에 의해 파라미터화된 음향 프레임들(예: 멜 프레임들 및/또는 스펙트럼 프레임들)로 사전에 프로세싱될 수 있다. 일부 구현예에서, 파라미터화된 음향 프레임들은 로그멜 피처들을 갖는 로그멜 필터뱅크 에너지에 대응한다. 예를 들어, 인코더(210)에 입력된 오디오 데이터(202)를 나타내는 파라미터화된 입력 음향 프레임은 x = (x1,..., xT)로 표현될 수 있으며, 여기서 는 로그멜 필터뱅크 에너지이고, T 는 x의 프레임 수를 나타내고, d는 로그멜 피처들의 수를 나타낸다. 일부 예에서, 각각의 파라미터화된 음향 프레임은 짧은 시프팅 윈도우(예를 들어, 32밀리초 및 10밀리초마다 이동됨) 내에서 계산된 128차원 로그멜 피처들을 포함한다. 각 피처는 이전 프레임들(예: 이전 3개 프레임)과 누적되어 고차원 벡터(예: 이전 3개 프레임을 사용하는 512차원 벡터)를 형성할 수 있다. 그런 다음 벡터를 형성하는 피처들이 다운샘플링될 수 있다(예: 30밀리초 프레임 속도로). 인코더(210)에 입력된 오디오 데이터(202)의 각 음향 프레임 x1:T에 대해, 인코더(210)는 출력(212)으로서 대응하는 공유 인코딩 es 1:T를 생성하도록 구성된다.
인코더(210)의 구조가 상이한 방식으로 구현될 수 있지만, 일부 구현예에서, 인코더(210)는 장-단기 메모리(LSTM) 신경 네트워크를 포함한다. 예를 들어, LSTM 신경 네트워크는 8개의 LSTM 레이어들을 포함할 수 있다. 여기서, 각 레이어는 2,048개의 히든 유닛들을 갖고, 그 뒤에 640차원 프로젝션 레이어가 있을 수 있다. 일부 예에서, 타임-리덕션(time-reduction) 레이어는 인코더(210)의 두 번째 LSTM 레이어 뒤에 리덕션 인자 N = 2로 삽입된다.
일부 구성에서, 인코더(210)는 공유 인코더 네트워크이다. 즉, 각각의 패스 네트워크(206, 208)가 자체 별도의 인코더를 갖는 대신, 각 패스(206, 208)는 단일 인코더(210)를 공유한다. 인코더(210)의 공유는 2-패스 아키텍처를 활용하여 모델 크기를 감소시키고/시키거나 스피치 인식기(200)의 계산 비용을 감소시킬 수 있다. 여기서, 모델 크기의 감소는 스피치 인식기(200)가 온디바이스에서 완전히 실행되는 것을 가능하게 하는 데 도움이 될 수 있다.
일부 예에서, 도 2a의 스피치 인식기(200)는 또한 CEM(300)에 의한 신뢰도(302) 추정뿐만 아니라 각 음향 프레임 x에 대한 공유 인코더(210)로부터 출력(212)으로서 생성된 공유 인코딩 es를 리스코어러 디코더(230)의 제2 패스(208)에 적합하도록 적응시키기 위해 음향 인코더(250)와 같은 추가 인코더를 포함한다. 여기서, 음향 인코더(250)는 각각의 시간 단계 동안 공유 인코더(210)로부터 출력(212)으로서 생성된 각각의 공유 인코딩을 대응하는 음향 인코딩 e1:T(252)으로 추가로 인코딩한다. 일부 구현예에서, 음향 인코더(250)는 공유 인코더(210)로부터의 각 출력(212)을 대응하는 음향 인코딩 e1:T(252)으로 추가로 인코딩하는 LSTM 인코더(예: 2-레이어 LSTM 인코더)를 포함한다. T로 표시된 x의 프레임 수 각각은 각각의 시간 단계에 대응한다. 음향 인코더(250)를 포함함으로써, 공유 인코더(210)는 여전히 제1 및 제2 패스(206, 208) 사이의 공유 인코더로서 유지될 수 있다.
일부 구현예에서, RNN-T 디코더(220)는 예측 네트워크 및 조인트(joint) 네트워크를 포함한다. 여기서, 예측 네트워크는 2,048개의 히든 유닛들로 구성된 2개의 LSTM 레이어들과 레이어당 640차원 프로젝션, 128개의 유닛들로 구성된 임베딩 레이어를 가질 수 있다. 공유 인코더(210)의 출력(212)과 예측 네트워크는 소프트맥스 예측 레이어를 포함하는 조인트 네트워크에 공급될 수 있다. 일부 예에서, RNN-T 디코더(220)의 조인트 네트워크는 640개의 히든 유닛들과 그 뒤에 4,096개의 대소문자 혼합 워드 조각을 예측하는 소프트맥스 레이어를 포함한다.
제1 패스(206) 동안, RNN-T 디코더(220)는 각 음향 프레임 x에 대한 공유 인코더(210)로부터 출력(212)으로서 생성된 공유 인코딩 es를 입력으로서 수신하고, 출력(222)으로서 각각 가설 서브 워드 유닛들의 각각의 시퀀스 y 1 , y 2 , y 3 , ..., y M 로 표현되는 다수의 후보 가설들 H를 생성한다. 예를 들어, 사용자(10)가 "Good morning"이라고 발화하는 예에서, 하나의 후보 가설 H는 가설 서브 워드 유닛들의 제1 시퀀스 [_go, od, _mor, ning]를 포함하고, 또 다른 후보 가설 H는 가설 서브 워드 유닛들의 제2 시퀀스 [_go, od, _morn, ing]를 포함할 수 있다. 다른 후보 가설 H도 다수 있을 수 있다. 여기서, 각 후보 가설 H를 나타내는 가설 서브 워드 유닛들의 각각의 시퀀스 y 1 , y 2 , y 3 , ..., y M 는 발화(12)에 대한 후보 전사에 대응한다. 가설 서브 워드 유닛들의 각각의 개별 시퀀스 y 1 , y 2 , y 3 , ..., y M 에서 각 서브 워드 유닛 y i 는 가능한 서브 유닛들에 대한 확률 분포를 나타낸다. 확률 분포에서 가장 높은 확률을 갖는 서브 워드 유닛이 각각의 가설 서브 워드 유닛들의 시퀀스에서 가설 서브 워드로서 선택될 수 있다.
계속해서 도 2a를 참조하면, 제2 패스(208) 동안, 리스코어러 디코더(230)는 입력으로서, 음향 인코더(250)로부터 출력된 음향 인코딩들의 시퀀스 e, e1:T(252) 및 RNN-T 디코더(220)로부터 출력(222)으로 생성된 상위 K 후보 가설들 H를 수신한다. 일례에서, K는 4와 동일하므로 상위 4개의 후보 가설들 H는 제2 패스(208) 동안 리스코어링을 위해 입력으로서 리스코어러 디코더(230)에 제공된다. 상위 K 후보 가설들 H 각각에 대해, 리스코어 디코더(230)는 각 서브 워드 유닛을 리스코어링하도록 구성되고, 보다 구체적으로 다음 방정식을 사용하여 가설 서브 워드 유닛들의 각각의 시퀀스 y 1 , y 2 , y 3 , ..., y M 에서 각 서브 워드 유닛에 대한 확률 분포를 리스코어링한다.
(1)
여기서, 는 리스코어러 디코더(230)에 대한 두 번째(penultimate) 레이어 활성화를 나타낸다. 가장 높은 제2 패스 로그 확률 과 연관된 가설 서브 워드 유닛들의 각각의 시퀀스 y 1 , y 2 , y 3 , ..., y M 로 표현되는 후보 가설 H는 전사(204)에 대응하는 최종 인식 결과(232)로서 출력될 수 있다. 리스코어러 디코더(230)는 4개의 셀프 어텐션 레이어를 갖는 LAS 아키텍처를 구현할 수 있으며, 이 중 2개는 인코더에 대한 교차 어텐션을 포함한다.
소프트맥스 레이어의 크기를 줄이기 위해, 가능한 서브 워드 유닛들의 서브 워드 유닛 어휘는 일반적으로 워드 어휘에 비해 작다. 서브 워드 유닛 어휘는 문자소 또는 워드피스(WP)를 포함할 수 있다. 예시적인 WP 어휘에는 4,096개의 WP들이 포함될 수 있다. 본 발명의 실시예에서는 스피치 인식기의 출력으로 생성된 서브 워드 유닛들로서 WP들을 사용하였지만, 본 발명의 범위를 벗어나지 않으면서 스피치 인식기에서 출력되는 서브 워드 유닛들로서 유사하게 활용될 수 있다. 따라서, 후보 가설 H에 대한 워드 오류율(WER)을 계산하려면, 가설 서브 워드 유닛들(예: WP들)의 각각의 시퀀스를 대응하는 워드 시퀀스 w 1 , w 2 , ..., w L 로 변환해야 한다. 각 워드의 제1 서브 워드 유닛(예: WP)이 워드 경계 표시자('_')로 시작하기 때문에, 서브 워드 시퀀스를 워드 시퀀스로 변환하는 이 과정은 고유하게 결정된다. 마찬가지로, Q j 개의 WP들을 포함하는 워드 w j 에 대해, 여기서 y j , q는 j번째 워드의 q번째 WP를 나타내며, 워드 신뢰도를 계산하는 간단한 기술은 다음과 같이 표현될 수 있다.
(2)
여기서 agg는 산술 평균, 최소값, 곱 또는 신경 네트워크일 수 있다. 그러나 WP 정확성과 워드 정확성 사이의 불일치로 인해 각 워드 w j 는 다수의 상이한 유효한 WP 조합들로 분할될 수 있으므로, 워드 레벨 신뢰도를 추정하기 위해 방정식 (2)를 사용하면 WP 편집이 가장 적은 항목에 대해 가능한 모든 레퍼런스 토큰화를 검색해야 하므로 트레이닝 중에 바람직하지 않은 계산 부담이 발생한다. 본 명세서에 사용된 바와 같이, WP 편집에는 가설 WP가 레퍼런스 WP와 일치할 때 정확한(cor) 레이블, 유효한 가설 WP가 레퍼런스 WP와 일치하지 않을 때 대체(하위) 레이블, 가설 WP가 잘못 인식될 때 삽입(ins)이 포함된다. 아래 표 1은 "morning"이라는 워드가 정확하게 전사되었지만 WP 편집 거리 출력에서 두 개의 대체가 발생하는 예를 보여준다.
표 1.
도 2b를 참조하면, 일부 추가적인 구현예에서, 스피치 인식기(200, 200b)는 2-패스 디코딩 아키텍처로 구성되고 심의 리스코어러(deliberation rescorer) 아키텍처를 활용하여 도 2a의 트랜스포머 리스코어러 아키텍처 대신 제2 패스(208) 디코딩/재스코어링을 수행한다. 심의 디코더(240)는 심의 리스코어러 아키텍처를 나타내며, 언어 인코더(241), 가설 어텐션 메커니즘(244), 음향 어텐션 메커니즘(246) 및 리스코어러 디코더(230)를 포함한다. 스피치 인식기(200b)는 위에서 설명한 도 2a의 스피치 인식기(200a)와 동일한 공유 인코더(210), 제1 패스(206) RNN-T 디코더(220) 및 음향 인코더(250)를 포함한다. 도 2a의 스피치 인식기(200a)에 의해 활용되는 트랜스포머 리스코어러 아키텍처와 비교하여, 도 2b의 스피치 인식기(200b)는 음향 어텐션 메커니즘(246)에서 공유 인코더(210)의 출력(212)에 주의를 기울임으로써, 음향, 및 가설 어텐션 메커니즘(244)에서 RNN-T 디코더(220)로부터의 출력(222)에 주의를 기울임으로써, 가설 서브 워드 유닛들의 각각의 시퀀스 y 1 , y 2 , y 3 , ..., y M 로 각각 표현되는 하나 이상의 제1 패스 후보 가설들 H, 모두에 주의를 기울인다. 이에 반해, 도 2a의 스피치 인식기(200)는 리스코어러 디코더(230) 자체에서 인코더(210)의 출력(212)에 주의를 기울임으로써 음향에만 주의를 기울인다. 음향(예: 공유 인코딩 e s 로 표현되는 출력(212)) 및 제1 패스 가설들 모두에 주의를 기울임으로써, 심의 디코더(240)는 출력으로서, 리스코어러 디코더(230)에 의해 리스코어링된 가장 높은 두 번째 패스 로그 확률과 연관된 가설 서브 워드 유닛들의 각각의 시퀀스 y 1 , y 2 , y 3 , ..., y M 로 표현되는 최종 인식 결과(232)를 생성한다. 특히, 각각의 어텐션 메커니즘(244, 246)은 리스코어러 디코더(230)에 입력되는 컨텍스트 벡터(245, 247)(예를 들어, 음향 컨텍스트 벡터(247) 및 가설 컨텍스트 벡터(245))를 형성한다. 이들 컨텍스트 벡터들(245, 247)의 연결은 리스코어러 디코더(230)에 입력될 수 있다. 어텐션 메커니즘(244, 246)은 각각 다중 방향 어텐션 (예를 들어, 4개 헤드)을 포함할 수 있다.
계속해서 도 2b를 참조하면, 제2 패스(208) 동안, 언어 인코더(241)는 RNN-T 디코더(220)로부터 출력(222)으로서 생성된 각 후보 가설 H를 대응하는 가설 인코딩 h(243)로 추가로 인코딩한다. 따라서, 언어 인코더(241)는 다수의 후보 가설들을 다수의 가설 인코딩 h(243)로 인코딩하고, 서브 워드 유닛들의 신뢰도 추정에 사용하기 위해 CEM(300)의 언어 교차 어텐션 메커니즘(330)(도 3)에 대한 입력으로서 다수의 가설 인코딩 h(243)를 제공할 수 있다. 이 시나리오에서, 다수의 후보 가설들 H로부터 인코딩된 대응하는 가설 인코딩들 h는 CEM(300)이 현재 단어를 스코어링할 때 다수의 가설 간의 합의를 사용할 수 있도록 임의의 포지션 정보를 제공하지 않고 다수의 가설 인코딩 h(243)로 연결될 수 있다. 또한, 언어 인코더(241)는 인코딩된 가설들(243)에 포함할 유용한 컨텍스트 정보에 대한 출력(222)을 인코딩할 수도 있다. 예를 들어, 언어 인코더(241)는 컨텍스트 정보를 포함할 수 있는 양방향 인코더를 포함할 수 있다. 구조적으로, 언어 인코더(241)는 양방향 LSTM(BLSTM) 인코더(예: 2-레이어 BLSTM 인코더)일 수 있다. BLSTM 인코더로서, 언어 인코더(241)의 각 레이어는 320차원 프로젝션이 뒤따르는 2,048개의 히든 유닛들을 포함할 수 있다.
리스코어러 디코더(230)는 입력으로서, 음향 인코더(250)로부터 출력된 음향 인코딩들의 시퀀스 e, e1:T(252)에 관한 음향 컨텍스트 벡터(247) 및 RNN-T 디코더(220)로부터 출력(222)으로서 생성된 상위 K 후보 가설들 H에 대한 인코딩된 가설들(243)에 주의를 기울이는 가설 컨텍스트 벡터(245)를 수신한다. 상위 K 후보 가설들 H 각각에 대해, 리스코어러 디코더(230)는 컨텍스트 벡터(245, 247)를 사용하여 각 서브 워드 유닛을 리스코어링하고, 더 구체적으로는 가설 서브 워드 유닛들의 각각의 시퀀스 y 1 , y 2 , y 3 , ..., y M 에서, 각 서브 워드 유닛에 대한 확률 분포를 리스코어링한다.
표 1에 도시된 바와 같이, WP 레벨로 출력하는 스피치 인식기(200)로 인해 발생하는 WP 정확성과 워드 정확성 사이의 고유한 불일치를 해결하기 위해, 본 명세서의 구현예는 모든 워드의 다른 모든 이전 WP들의 신뢰도를 무시하고 모든 워드의 최종 WP에서의 신뢰도 출력을 워드 레벨 신뢰도로 활용하는 트랜스포머/심의 기반 CEM(300)을 지향한다. 도 3은 2-패스 아키텍처를 활용하는 스피치 인식기(200) 위에 겹쳐진 트랜스포머/심의 기반 CEM(300)의 예를 도시한다. 명확성을 위해, 도 3은 리스코어러 디코더(230)에 의해 리스코어링된 최종 인식 결과(232)를 표현하는 가설 WP들의 각각의 시퀀스 y 1 , y 2 , y 3 , ..., y M 에서 i번째 WP에 대한 신뢰도 출력 c(y i )(302)를 예측하는 CEM(300)의 동작만을 도시한다. 구체적으로, 도 3은 대응하는 대응하는 워드 시퀀스 "good morning"으로 변환되는 가설 WP들의 각각의 시퀀스 [_go, od, _mor, ning]에서 "ning" WP에 대한 신뢰도 출력 c("ning")를 예측하는 CEM(300)을 도시한다. 아래에서 더 자세히 설명되는 것처럼, 모든 점선 연결과 점선 언어 교차 어텐션 블록(330)은 심의 CEM(300)에만 사용되며 트랜스포머 CEM(300)에는 사용되지 않는다.
제1 패스(206) 동안, RNN-T 디코더(220)는 출력(222)으로서, 가설 서브 워드 유닛들의 각각의 시퀀스 y 1 , y 2 , y 3 , ..., y M 로 표현되는 다수의 후보 가설들 H를 생성한다. 예를 들어, 발화(12) "Good morning"에 대한 예에서, RNN-T 디코더(220)로부터의 출력(222)으로서 생성된 하나의 후보 가설 H는 가설 서브 워드 유닛들의 제1 시퀀스 [_go, od, _mor, ning]를 포함할 수 있고, 또 다른 후보 가설 H는 가설 서브 워드 유닛들의 제2 시퀀스 [_go, od, _morn, ing]를 포함할 수 있다. 동시에, 음향 인코더(250)는 음향 인코딩들의 시퀀스 e1:T(252)를 생성하며, 여기서 T는 발화(12)로부터 분할된 음향 프레임 x의 수에 대응한다.
제2 패스(208) 동안, 리스코어러 디코더(230)는 입력으로서, 음향 인코더(250)로부터 출력된 음향 인코딩들의 시퀀스 e, e1:T(252) 및 RNN-T 디코더(220)로부터 출력(222)으로서 생성된 상위 K 후보 가설들 H를 수신한다. 상위 K 후보 가설들 H 각각에 대해, 리스코어러 디코더(230)는 각 서브 워드 유닛을 리스코어링하도록 구성되고, 더 구체적으로는 방정식 (1)을 사용하여 가설 서브 워드 유닛들의 각각의 시퀀스에서, 각 서브 워드 유닛에 대한 확률 분포 p(y 1 ), p(y 2 ), p(y 3 ), ..., p(y M )를 리스코어링하도록 구성되어, 선형 + 소프트맥스(235)는 가장 높은 제2 패스 로그 확률 과 연관된 후보 가설 H를 최종 인식 결과(232)로 출력할 수 있다. 여기서, 최종 인식 결과(232)는 스피치 시작(sos) 및 스피치 종료(eos) 태그를 포함하는 가설 서브 워드(예: WP) 유닛들의 시퀀스 [sos_go, od, _mor, ning eos]를 포함한다.
최종 인식 결과(232)를 나타내는 가설 서브 워드(예: WP)의 시퀀스 [sos_go, od, _mor, ning eos]에서 각 서브 워드 유닛(y i )에 대해, 스피치 인식기(200)로부터 획득된 신뢰도 피처들의 세트를 나타내는 신뢰도 임베딩 b(y i )(301)는 각각의 신뢰도 출력 c(y i )(302)를 결정하기 위한 CEM(300)에 대한 입력으로서 제공된다. 도시된 예에서, i번째 서브 워드 유닛은 WP "ning"에 대응한다. 여기서, 신뢰도 임베딩 b(y i )(301)는 방정식 (1)을 사용한 리스코어러 디코더(230)의 소프트맥스 포스테리어 피처 , 입력 서브 워드 + 포지션 임베딩 Emb(y i ) 피처(예: Emb(ning)), 로그 포스테리어 log (p(y i )) 피처 및 top-K(i) 피처 중 하나 이상을 전달한다. 소프트맥스 포스테리어 피처는 WP "ning"에 대한 내부 피처, 음향 인코딩 e, e 1:T 에 대한 내부 피처들, 및 리스코어러 디코더(230)에 대한 두 번째 레이어 활성화 를 나타낸다. 서브 워드 유닛 y i 가 WP "ning"을 포함할 확률/가능성과 연관된 확률 값을 나타내는 로그 포스테리어 log (p(y 1 )) 피처, 및 top-K(i) 피처는 디코더 인덱스(예: 시간 단계) i에서 K개의 가장 큰 로그 확률들을 나타낸다. 다르게 말하면, top-K(i) 피처는 디코더 인덱스(예: 시간 단계) i에서 top-K의 각 후보 가설 H에 대한 확률 값들을 제공한다. 스피치 인식기(200)와 CEM(300) 모두 서브 워드(예: WP) 레벨에서 각 시간 단계에 대한 출력을 생성하도록 구성되므로, CEM(300)을 트랜스포머로 구현하면: (1) 모든 워드 c word (w j )의 최종 WP에서 신뢰도 출력 c(y j , Q j )를 전용 워드 레벨 신뢰도(302)로 활용함으로써 워드 편집 거리 출력을 실측 트레이닝 레이블로 사용할 수 있고; 그리고 (2) 워드를 구성하는 모든 WP의 정보/피처들을 통합할 수 있다. 도시된 예에서, 트랜스포머 기반 CEM(300)의 셀프 어텐션 메커니즘(310)은 WP "ning"에 대응하는 i번째 서브 워드 유닛에 대한 신뢰도 임베딩 b(y i )(301)과 동일한 워드 내 이전 서브 워드 유닛들의 신뢰도 임베딩들에 기초하여 신뢰도 피처 벡터 b(312)에 셀프 어텐션을 적용한다. 신뢰도 피처 벡터 b는 다음과 같은 방정식들에 의해 표현될 수 있다.
(3)
b = (4)
추가적으로, 트랜스포머 기반 CEM(300)의 음향 교차 어텐션 메커니즘(320)은 음향 인코더(250)로부터 출력된 음향 인코딩들의 시퀀스 e, e1:T(252)에 음향 교차 어텐션 (CA(e))을 적용하여 WP "ning"에 대응하는 i번째 서브 워드 유닛에 대한 각각의 신뢰도 출력 c(yi)(302)을 추정하는 정확도를 향상시키기 위한 음향 컨텍스트 벡터(322)를 생성한다. 마지막으로, 선형 + 시그모이드 블록(340)은 트랜스포머 기반 CEM(300)이 다음과 같이 최종 WP에서 신뢰도 출력 c(y j , Q j )을 사용하여 각 단어 c word (w j )에 대한 전용 신뢰도(302)를 생성할 수 있도록 셀프 어텐션 신뢰도 피처 벡터 SA(b) 및 교차 어텐션 CA(e) 음향 컨텍스트 벡터(322)를 사용한다.
(5)
(6)
여기서 도시된 예에서 단어 cword(morning)에 대한 신뢰도(302)는 해당 단어를 구성하는 최종 WP의 신뢰도 출력 c(ning)에 대응한다.
일부 구현예에서, 스피치 인식기(200)는 신뢰도 정확도를 더욱 향상시키기 위해 제1 패스(206) 동안 RNN-T 디코더(220)로부터 출력(222)으로 생성된 다수의 후보 가설들 H로부터의 언어 정보를 통합하는 심의 기반 CEM(300)을 구현하기 위해 제2 패스 리코어링을 위한 도 2b의 심의 디코더(240)를 활용한다. 일반적으로, 워드들은 단어들 사이에 공유되는 후보 가설들 H의 수가 많을수록 더 높은 신뢰도를 갖는 경향이 있다. 예를 들어, 발화 "Good morning"에 대한 표 1의 예에서, 제1 후보 가설 H에 대한 가설 서브 워드 유닛들의 제1 시퀀스 [_go, od, _mor, ning] 및 제2 후보 가설 H에 대한 서브 워드 유닛들의 제2 시퀀스 [_go, od, _morn, ing]가 서로에게 어텐션을 수행하면, 심의 기반 CEM에 두 시퀀스가 동일한 워드 시퀀스에 연결된다는 것을 알려줄 것이고, 따라서 유사한 신뢰도 스코어에 매핑되어야 한다. 특히, CEM(300)은 알려진 가설의 각 워드에 대한 신뢰도(302)를 추정하는 작업을 수행하므로, 심의 기반 CEM은 현재 워드를 스코어링/추정할 때 가설의 미래 컨텍스트를 활용할 수 있다. 음향 컨텍스트 벡터(322)를 생성하기 위해 음향 인코더(250)로부터 출력된 음향 인코딩들의 시퀀스 e, e1:T(252)에 음향 교차 어텐션 CA(e)를 적용하는 음향 교차 어텐션 메커니즘(320)에 더하여, 심의 기반 CEM(300)은 또한 서브 워드 유닛들의 신뢰도를 추정하는 데 사용하기 위한 언어 컨텍스트 벡터(322)를 생성하기 위해 언어 인코더(241)(도 2b)로부터 출력된 다수의 후보 가설 인코딩 h(243)에 언어 교차 어텐션 (CA(h))을 적용하는 언어 교차 어텐션 메커니즘(330)을 포함한다. 도 2b의 언어 인코더(241)로부터 출력된 다수의 가설 인코딩 h(243)는 다음과 같이 표현될 수 있다.
(7)
여기서 H는 어텐션하는 후보 가설들의 수이고 M H H번째 가설의 WP들의 수이다. 일례에서, H는 8과 같다. 일례에서, H는 1과 같으므로 최종 인식 결과(232)와 연관된 가설 인코딩 h(243)만이 서브 워드 유닛들의 신뢰도를 추정하는 데 사용된다.
따라서, WP "ning"에 대한 i번째 서브 워드 유닛에 대한 각각의 신뢰도 출력 c(y i )(302)을 추정할 때, 심의 기반 CEM(300)은 음향 교차 어텐션 메커니즘(320)을 통해 음향 인코딩들의 시퀀스 e, e1:T에 주의를 기울임으로써, 음향 컨텍스트, 및 언어 교차 어텐션 메커니즘(330)을 통해 다수의 가설 인코딩 h(243)에 주의를 기울임으로써, 언어 컨텍스트, 모두를 통합한다. 마지막으로, CEM(300)의 선형 + 시그모이드 블록(340)에 대응하는 출력 레이어(340)는 셀프 어텐션 신뢰도 피처 벡터 SA(b), 교차 어텐션 CA(e) 음향 컨텍스트 벡터(322) 및 교차 어텐션 CA(e) 언어 컨텍스트 벡터(322)를 사용하여 각 서브 워드 WP에 대한 신뢰도 출력 c(y i )를 다음과 같이 생성하도록 허용한다.
(8)
트랜스포머 기반 CEM(300)과 마찬가지로, 심의 기반 CEM(300)은 최종 WP에서 신뢰도 출력 c(y j , Q j )를 사용하여 각 단어 c word (w j )에 대한 전용 신뢰도(302)를 결정하기 위해 방정식 (6)을 사용할 수 있다. 트랜스포머 및 심의 기반 CEM(300) 모두에서, 발화 레벨 신뢰도 스코어(350)(도 4)는 대응하는 워드 시퀀스 w 1:L 의 각 단어 c word (w j )에 대한 전용 신뢰도(302)를 집계하여 결정될 수 있다. 일부 예에서, 집계는 산술 평균 집계자를 포함한다.
CEM(300)은 스피치 인식기(200)와 공동으로 트레이닝될 수도 있고, CEM(300)과 스피치 인식기는 서로 별도로 트레이닝될 수도 있다. 일부 예에서, CEM(300)은 다음과 같이 바이너리 교차 엔트로피 워드 레벨 손실을 사용하여 트레이닝된다.
(9)
여기서 표 1은 가설 워드가 레퍼런스 워드와 일치할 때 d(w j )는 워드 w j 에 대한 Levenshtein 워드 레벨 편집 거리가 "정확한"(cor) 레이블을 출력할 때 1과 같고, 가설 워드가 레퍼런스 워드와 일치하지 않을 때 d(w j )는 워드 w j 에 대한 Levenshtein 워드 레벨 편집 거리가 "삽입"(ins) 또는 "대체"(sub) 레이블을 출력할 때 0과 같다는 것을 보여준다. 특히, 스피치 인식기(200)와 CEM(300)은 서브 워드 레벨로 출력(예: WP 마다 출력)하므로, 표 1은 또한 워드를 구성하는 최종 WP에만 초점을 맞추고 동일한 워드를 구성하는 이전 WP들과 연관된 WP 손실을 무시하기 위해 워드의 끝 마스크(mask) 손실 m을 적용하는 CEM(300)을 보여준다.
도 4는 발화(12)를 전사하기 위해 적절한 스피치 인식기를 선택하기 위한 예시적인 신뢰도 기반 루틴의 개략도(400)를 도시한다. 도시된 예에서, 2-패스 디코딩 아키텍처(예를 들어, 도 2a의 트랜스포커 리스코어러 아키텍처 또는 도 2b의 심의 리스코어러 아키텍처를 포함)로 구성된 제1 스피치 인식기(200)는 사용자(10)에 의해 발화된 발화(12)에 대응하는 수신 오디오 데이터(202)를 프로세싱함으로써 전사(204)를 생성하기 위한 기본 스피치 인식기로서 동작한다. 제1 스피치 인식기(200)는 사용자(10)와 연관된 사용자 디바이스(110)에서 실행되는 로컬 스피치 인식기에 대응할 수 있다. 제1 스피치 인식기(200)는 또한 전사(204)에 대응하는 제1 스피치 음성 인식기(200)에 의해 출력된 스피치 인식 결과(232)에 대한 발화 레벨 신뢰도 스코어(350)를 결정하기 위한 CEM(300)을 구현한다.
일부 구현예에서, 신뢰도 기반 루틴은 제1 스피치 인식기(200)에 의해 전사된 발화(12)에 대한 발화 레벨 신뢰도 스코어(350)가 신뢰도 임계값을 만족하는지 여부를 결정한다. 도시된 예에서, 신뢰도 임계값보다 큰 발화 레벨 신뢰도 스코어(350)는 신뢰도 임계값을 만족하는 반면, 신뢰도 임계값보다 작거나 같은 발화 레벨 신뢰도 스코어(350)는 신뢰도 임계값을 만족하지 못한다. 발화 레벨 신뢰도 스코어(350)가 신뢰도 임계값을 만족하는 경우(예를 들어, 그보다 큰 경우)(예를 들어, 결정 블록(450)이 "Yes"임), 제1 스피치 인식기(200)에 의해 생성된 전사(204)는 품질, 지연시간 및 안정성에서 온디바이스 이득을 달성하기 위해 수락된다. 여기서, 수락된 전사(204)는 사용자 디바이스(110)에 디스플레이되거나 계속해서 디스플레이될 수 있으며/또는 전사(204)를 해석하고 필요한 경우 관련 액션/동작을 수행하기 위해 다운스트림 자연어 이해(NLU) 모듈로 전달될 수 있다.
발화 레벨 신뢰도 스코어(350)가 신뢰도 임계값을 만족하지 못하는 경우(예를 들어, 미만인 경우)(예를 들어, 결정 블록(450)이 "No"임), 신뢰도 기반 루틴은 제1 스피치 인식기(200)에 의해 생성된 전사(204)를 거부하고, 오디오 데이터(202)를 제2 스피치 인식기(402)에 전달하여 발화(12)를 다시 전사하는 프로세싱을 수행한다. 제2 스피치 인식기(402)에 의해 생성된 전사(204)는 해석을 위해 사용자 디바이스(110) 및/또는 다운스트림 NLU 모듈로 다시 전달될 수 있다. 제1 스피치 인식기(200)가 로컬이고 디바이스(110)에서 실행되고, 제2 스피치 인식기(402)가 서버 측에 있고 원격 서버(410)에서 실행되는 예에서, 신뢰도 기반 루틴은 사용자 디바이스(110)가 오디오 데이터(202)를 네트워크(미도시)를 통해 원격 서버(410)로 전송하게 하여 그에 따라 실행되는 제2 스피치 인식기(402)가 발화(12)를 전사할 수 있게 한다. 제2 스피치 인식기(402)는 제1 스피치 인식기(200)를 트레이닝하는 데 사용된 트레이닝 데이터에 존재하지 않는 고유 명사 또는 덜 일반적인 워드를 인식하는 데 제2 스피치 인식기(402)가 더 적합하도록 대규모 언어 모델 트레이닝 데이터에 대해 트레이닝된 대규모 언어 모델을 활용할 수 있다.
일부 예에서, 제1 스피치 인식기(200)는 더 큰 언어 모델 및 어휘집을 구현하는 제2 스피치 인식기(402)보다 짧은 형식의 발화를 인식하는 데 일반적으로 더 정확하지만(예를 들어, 더 낮은 워드 오류율을 달성함), 제1 스피치 인식기(200)는 궁극적으로 제2 스피치 인식기(402)보다 롱테일(long-tail) 발화를 인식하는 데 정확도가 떨어질 수 있다. 따라서, 신뢰도 기반 루틴은 신뢰도 임계값보다 낮은 신뢰도 스코어(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)은 스피치 인식기(200)로부터, 사용자(10)에 의해 발화된 발화(12)에 대한 스피치 인식 결과(232)를 수신하는 단계를 포함한다. 스피치 인식기(200)는 도 2a 및 도 2b를 참조하여 전술한 바와 같이 2-패스 디코딩 아키텍처로 구성될 수 있다. 여기서, 스피치 인식 결과(232)는 스피치 인식기(200)의 리스코어링 디코더(rescoring decoder)에 의해 리스코어링된 가장 높은 스코어의 후보 가설이고, 발화(12)의 하나 이상의 워드들을 구성하는 가설 서브 워드 유닛들의 시퀀스를 포함하며, 각 서브 워드 유닛은 대응하는 출력 단계에서 스피치 인식기(200)로부터 출력된다.
신뢰도 추정 모듈(CEM)(300)을 사용하여 가설 서브 워드 유닛들의 시퀀스 내의 각 서브 워드 유닛에 대해, 방법(500)은 동작(504, 506, 508, 510)을 수행한다. 동작(504)에서, 방법(500)은 대응하는 서브 워드 유닛이 스피치 인식기(200)로부터 출력될 때 대응하는 출력 단계와 연관된 신뢰도 피처들의 세트를 표현하는 각각의 신뢰도 임베딩(242)을 획득하는 단계를 포함한다. 동작(506)에서, 방법(500)은 대응하는 서브 워드 유닛에 대한 각각의 신뢰도 엠비딩 b(y i )(242) 및 대응하는 서브 워드 유닛을에 선진행하는 가설 서브 워드 유닛들의 시퀀스 내의 또임의의 다른 서브 워드 유닛들에 대해 획득된 신뢰도 임베딩들 b(y 1 )-b(y 1-i )에 자체적으로 주의를 기울이는 제1 어텐션 메커니즘(310)을 사용하여, 신뢰도 피처 벡터 SA(b)(312)를 생성하는 단계를 포함한다. 동작(508)에서, 방법(500)은 발화(12)에 대응하는 오디오 데이터(202)로부터 분할된 대응하는 음향 프레임 xT 와 각각 연관된 음향 인코딩들의 시퀀스 e, e 1:T (252)에 교차로 주의를 기울이는 제2 어텐션 메커니즘(320)을 사용하여, 음향 컨텍스트 벡터 CA(e)(322)를 생성하는 단계를 포함한다. 동작(510)에서, 방법(500)은 CEM(300)의 출력 레이어(340)로부터의 출력으로서, 신뢰도 피처 벡터 SA(b) 및 CEM(300)의 출력 레이어에 의해 입력으로서 수신된 음향 피처 벡터 CA(e)(322)에 기초하여 대응하는 서브 워드 유닛에 대한 각각의 신뢰도 출력 스코어를(302)를 생성하는 단계를 포함한다.
동작(512)에서, 가설 서브 워드 유닛들의 시퀀스에 의해 형성된 하나 이상의 워드들 각각에 대해, 방법(500)은 워드에 대한 각각의 워드 레벨 신뢰도 스코어를 결정하는 단계를 포함한다. 여기서, 각각의 워드 레벨 신뢰도 스코어는 해당 단어의 최종 서브 워드 유닛에 대해 생성된 각각의 신뢰도 출력 스코어(302)와 동일하다. 동작(514)에서, 방법(500)은 발화(12)의 하나 이상의 워드들에 대해 결정된 각각의 워드 레벨 신뢰도 스코어들을 집계함으로써 스피치 인식 결과(232)에 대한 발화 레벨 신뢰도 스코어(350)를 결정하는 단계를 포함한다.
도 6은 본 문서에 기술된 시스템 및 방법을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 디바이스(600)의 개략도이다. 컴퓨팅 디바이스(600)는 랩탑, 데스크탑, 워크스테이션, 퍼스널 디지털 어시스턴트, 서버, 블레이드 서버, 메인프레임 및 기타 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타내도록 의도된다. 여기에 표시된 컴포넌트, 해당 연결 및 관계 및 해당 피처는 단지 예시일 뿐이며 이 문서에서 설명 및/또는 청구된 발명의 구현을 제한하려는 의미는 아니다.
컴퓨팅 디바이스(600)는 프로세서(610), 메모리(620), 스토리지 디바이스(630), 메모리(620) 및 고속 확장 포트(650)에 연결되는 고속 인터페이스/컨트롤러(640), 및 저속 버스(670) 및 스토리지 디바이스(630)에 연결되는 저속 인터페이스/컨트롤러(660)를 포함한다. 각각의 컴포넌트(610, 620, 630, 640, 650 및 660)는 다양한 버스를 사용하여 상호 연결되며, 공통 마더보드 또는 적절한 다른 방식으로 장착될 수 있다. 프로세서(610)는 고속 인터페이스(640)에 결합된 디스플레이(680)와 같은, 외부 입력/출력 디바이스에 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 디스플레이하기 위해 메모리(620) 또는 스토리지 디바이스(630)에 저장된 명령어들을 포함하여, 컴퓨팅 디바이스(600) 내에서 실행하기 위한 명령어들을 프로세싱할 수 있다. 다른 구현예에서, 다수의 프로세서 및/또는 다수의 버스는 다수의 메모리 및 메모리 유형과 함께 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스(600)는 필요한 동작의 일부를 제공하는 각 디바이스(예: 서버 뱅크, 블레이드 서버 그룹 또는 멀티 프로세서 시스템)와 연결될 수 있다.
메모리(620)는 컴퓨팅 디바이스(600) 내에 비일시적으로 정보를 저장한다. 메모리(620)는 컴퓨터 판독가능 매체, 휘발성 메모리 유닛(들) 또는 비휘발성 메모리 유닛(들)일 수 있다. 비일시적 메모리(620)는 컴퓨팅 디바이스(600)에 의한 사용을 위해 일시적 또는 영구적으로 프로그램(예: 명령어들의 시퀀스) 또는 데이터(예: 프로그램 상태 정보)를 저장하는 데 사용되는 물리적 디바이스일 수 있다. 비휘발성 메모리의 예로는, 플래시 메모리 및 읽기 전용 메모리(ROM) / 프로그래밍 가능 읽기 전용 메모리(PROM) / 지울 수 있는 프로그래밍 가능 읽기 전용 메모리(EPROM) / 전자적으로 지울 수 있는 프로그래밍 가능 읽기 전용 메모리(EEPROM)(예: 부트 프로그램과 같은 펌웨어에 일반적으로 사용됨)가 포함되지만 이에 국한되지 않는다. 휘발성 휘발성 메모리의 예에는 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(DRAM), 정적 랜덤 액세스 메모리(SRAM), 위상 변화 메모리(PCM) 및 디스크나 테이프가 포함되지만 이에 국한되지 않는다.
스토리지 디바이스(630)는 컴퓨팅 디바이스(600)를 위한 대용량 스토리지를 제공할 수 있다. 일부 구현예에서, 스토리지 디바이스(630)는 컴퓨터 판독가능 매체이다. 다양한 상이한 구현예에서, 스토리지 디바이스(630)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광학 디스크 디바이스 또는 테이프 디바이스, 플래시 메모리 또는 기타 유사한 솔리드 스테이트 메모리 디바이스, 스토리지 영역 네트워크(SAN) 또는 기타 구성의 디바이스를 포함하는 디바이스들의 배열일 수 있다. 추가 구현예에서, 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 구현된다. 컴퓨터 프로그램 제품은 실행될 때 위에서 설명한 것과 같은 하나 이상의 방법을 수행하는 명령어들을 포함한다. 정보 캐리어는 메모리(620), 스토리지 디바이스(630) 또는 프로세서(610) 상의 메모리와 같은 컴퓨터 또는 기계 판독가능 매체이다.
고속 컨트롤러(640)는 컴퓨팅 디바이스(600)에 대한 대역폭 집중 동작을 관리하는 반면, 저속 컨트롤러(660)는 낮은 대역폭 집중 동작을 관리한다. 이러한 의무 할당은 예시일 뿐이다. 일부 구현예에서, 고속 컨트롤러(640)는 메모리(620), 디스플레이(680)(예: 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드(미도시)를 수용할 수 있는 고속 확장 포트(650)에 결합된다. 일부 구현예에서, 저속 컨트롤러(660)는 스토리지 디바이스(630) 및 저속 확장 포트(690)에 결합된다. 저속 확장 포트(690)는 다양한 통신 포트(예: USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있으며, 예를 들어 네트워크 어댑터를 통해 키보드, 포인팅 디바이스, 스캐너 또는 스위치나 라우터와 같은 네트워킹 디바이스와 같은 하나 이상의 입력/출력 디바이스에 결합될 수 있다.
컴퓨팅 디바이스(600)는 도면에 도시된 바와 같이, 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 표준 서버(600a)로 구현되거나 이러한 서버(600a) 그룹에서 여러 번, 랩탑 컴퓨터(600b) 또는 랙 서버 시스템(600c)의 일부로 구현될 수 있다.
여기에 설명된 시스템 및 기술의 다양한 구현예는 디지털 전자 및/또는 광학 회로, 집적 회로, 특별히 설계된 ASIC(애플리케이션 특정 집적 회로)들, 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 실현될 수 있다. 이러한 다양한 구현예는 적어도 하나의 프로그래밍가능 프로세서를 포함하는 프로그래밍가능 시스템 상에서 실행가능 및/또는 해석가능한 하나 이상의 컴퓨터 프로그램에서의 구현예를 포함할 수 있으며, 이는 스토리지 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령어들을 수신하고 데이터 및 명령어들을 전송하도록 결합된 특수 또는 범용일 수 있다.
이러한 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드라고도 함)은 프로그래밍가능 프로세서에 대한 기계 명령어들을 포함하며, 고급 절차 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/기계 언어로 구현될 수 있다. 본 명세서에서 사용되는 바와 같이, "기계 판독가능 매체" 및 "컴퓨터 판독가능 매체"라는 용어들은 기계 판독가능 신호로서 기계 명령어들을 수신하는 기계 판독가능 매체를 포함하여, 프로그래밍가능 프로세서에 기계 명령어들 및/또는 데이터를 제공하는 데 사용되는 모든 컴퓨터 프로그램 제품, 비일시적 컴퓨터 판독가능 매체, 장치 및/또는 디바이스((예: 자기 디스크, 광 디스크, 메모리, 프로그래밍가능 로직 디바이스(PLD)들)를 의미한다. "기계 판독가능 신호"라는 용어는 프로그래밍가능 프로세서에 기계 명령어들 및/또는 데이터를 제공하는 데 사용되는 모든 신호를 의미한다.
본 명세서에 기술된 프로세스 및 논리 흐름은 데이터 프로세싱 하드웨어라고도 지칭되는, 하나 이상의 프로그래밍가능 프로세서에 의해 수행될 수 있으며, 하나 이상의 컴퓨터 프로그램을 실행하여 입력 데이터에 대해 동작하고 출력을 생성함으로써 기능을 수행할 수 있다. 프로세스 및 논리 흐름은 특수 목적 논리 회로, 예를 들어 FPGA(필드 프로그래밍가능 게이트 어레이) 또는 ASIC(애플리케이션 특정 집적 회로)에 의해 수행될 수도 있다. 컴퓨터 프로그램 실행에 적합한 프로세서에는 예를 들어, 범용 및 특수 목적 마이크로프로세서 모두와 모든 종류의 디지털 컴퓨터의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 읽기 전용 메모리나 랜덤 액세스 메모리 또는 둘 다에서 명령어들과 데이터를 수신한다. 컴퓨터의 필수 요소들은 명령어들을 수행하기 위한 프로세서와 명령어들과 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 스토리지 디바이스, 예를 들어 자기, 광자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 데이터를 전송하거나 둘 모두를 포함하거나 작동가능하게 결합될 것이다. 그러나 컴퓨터에는 이러한 디바이스가 있을 필요는 없다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독가능 매체는 예를 들어 EPROM, EEPROM 및 플래시 메모리 디바이스와 같은 반도체 메모리 디바이스; 자기 디스크, 예를 들어 내부 하드 디스크 또는 이동식 디스크; 광자기 디스크; 그리고 CD ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다.
사용자와의 상호작용을 제공하기 위해, 본 발명의 하나 이상의 측면은 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스, 예를 들어 CRT(음극선관), LCD(액정 디스플레이) 모니터 또는 터치 스크린 및 선택적으로 키보드 및 포인팅 디바이스, 예를 들어 마우스 또는 트랙볼을 갖는 컴퓨터에서 구현될 수 있으며, 이를 통해 사용자는 컴퓨터에 입력을 제공할 수 있다. 다른 종류의 디바이스를 사용하여 사용자와의 상호작용도 제공할 수 있다; 예를 들어, 사용자에게 제공되는 피드백은 시각적 피드백, 청각적 피드백 또는 촉각적 피드백과 같은 임의의 형태의 감각 피드백일 수 있다; 그리고 사용자로부터의 입력은 음향, 스피치 또는 촉각적 입력을 포함한 모든 형태로 수신될 수 있다. 또한 컴퓨터는 사용자가 사용하는 디바이스와 문서를 주고받음으로써 사용자와 상호작용할 수 있다; 예를 들어, 웹 브라우저에서 받은 요청에 대한 응답으로 사용자 클라이언트 디바이스의 웹 브라우저에 웹 페이지를 보낼 수 있다.
다수의 구현예가 설명되었다. 그럼에도 불구하고, 본 발명의 사상 및 범위를 벗어나지 않고 다양한 수정이 이루어질 수 있음이 이해될 것이다. 따라서, 다른 구현예는 다음 청구 범위 내에 있다.

Claims (28)

  1. 데이터 프로세싱 하드웨어(112)에서 실행될 때 상기 데이터 프로세싱 하드웨어(112)로 하여금 동작들을 수행하게 하는 컴퓨터 구현 방법(500)에 있어서, 상기 동작들은:
    스피치 인식기(200)로부터, 사용자(10)에 의해 발화된 발화(12)에 대한 스피치 인식 결과(232)를 수신하는 동작, 상기 스피치 인식 결과(232)는 발화(12)의 하나 이상의 워드들을 형성하는 가설(hypothesized) 서브 워드 유닛들의 시퀀스를 포함하고, 각 서브 워드 유닛은 대응하는 출력 단계에서 스피치 인식기(200)로부터 출력되고,
    신뢰도 추정 모듈(300)을 사용하여, 상기 가설 서브 워드 유닛들의 시퀀스 내의 각 서브 워드 유닛에 대해:
    스피치 인식기(200)로부터 대응하는 서브 워드 유닛이 출력될 때, 상기 대응하는 출력 단계와 연관된 신뢰도 피처들의 세트를 표현하는 각각의 신뢰도 임베딩(242)을 획득하는 동작;
    상기 대응하는 서브 워드 유닛에 대한 각각의 신뢰도 임베딩(242) 및 상기 대응하는 서브 워드 유닛을 진행(proceed)하는 상기 가설 서브 워드 유닛들의 시퀀스 내의 임의의 다른 서브 워드 유닛들에 대해 획득된 신뢰도 임베딩들(242)에 자체적으로 주의를 기울이는 제1 어텐션 메커니즘(310)을 사용하여, 신뢰도 피처 벡터(312)를 생성하는 동작;
    발화(12)에 대응하는 오디오 데이터(202)로부터 분할된 대응하는 음향 프레임과 각각 연관된 음향 인코딩들의 시퀀스(252)에 교차로 주의를 기울이는 제2 어텐션 메커니즘(320)을 사용하여 사용하여, 음향 컨텍스트 벡터(332)를 생성하는 동작; 및
    신뢰도 추정 모듈(300)의 출력 레이어(340)로부터의 출력으로서, 상기 신뢰도 피처 벡터(312) 및 신뢰도 추정 모듈(300)의 출력 레이어(340)에 의해 입력으로서 수신된 음향 피처 벡터(322)에 기초하여 상기 대응하는 서브 워드 유닛에 대한 각각의 신뢰도 출력 스코어(302)를 생성하는 동작;
    상기 가설 서브 워드 유닛들의 시퀀스에 의해 형성된 하나 이상의 워드들 각각에 대해, 워드에 대한 각각의 워드 레벨 신뢰도 스코어를 결정하는 동작, 상기 각각의 워드 레벨 신뢰도 스코어는 워드의 최종 서브 워드 유닛에 대해 생성된 각각의 신뢰도 출력 스코어(302)와 동일하며; 및
    발화(12)의 하나 이상의 워드들에 대해 결정된 각각의 워드 레벨 신뢰도 스코어들을 집계함으로써 상기 스피치 인식 결과(232)에 대한 발화 레벨 신뢰도 스코어(350)를 결정하는 동작을 포함하는, 컴퓨터 구현 방법(500).
  2. 제1항에 있어서,
    각각의 신뢰도 임베딩(242)에 의해 표현되는 상기 신뢰도 피처들의 세트는:
    상기 대응하는 출력 단계에서 스피치 인식기(200)의 소프트맥스 포스테리어 피처; 및
    상기 대응하는 서브 워드 유닛에 대한 서브 워드 임베딩 피처를 포함하는, 컴퓨터 구현 방법(500).
  3. 제1항 또는 제2항에 있어서,
    각각의 신뢰도 임베딩(242)에 의해 표현되는 상기 신뢰도 피처들의 세트는:
    상기 대응하는 출력 단계에서 스피치 인식기(200)로부터 출력된 상기 대응하는 서브 워드 유닛의 확률/우도(likelihood)와 연관된 확률값을 나타내는 로그 포스테리어 로그 피처; 및
    스피치 인식기(200)에 의해 리스코어링된 상위 K 후보 가설들에 대한 상기 대응하는 출력 단계에서의 K개의 가장 큰 로그 확률들을 나타내는 상위 K 피처를 더 포함하며, 상기 상위 K 후보 가설들 각각은 발화(12)의 하나 이상의 워드들을 형성하는 가설 서브 워드 유닛들의 각각의 시퀀스에 의해 표현되는, 컴퓨터 구현 방법(500).
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    서브 워드 유닛들은 워드피스(wordpiece)들을 포함하는, 컴퓨터 구현 방법(500).
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    서브 워드 유닛들은 문자소(grapheme)들을 포함하는, 컴퓨터 구현 방법(500).
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    스피치 인식기(200)는:
    제1 패스(206) 동안 다수의 후보 가설들을 생성하도록 구성된 트랜스듀서(transducer) 디코더 모델(220), 각 후보 가설은 발화(12)에 대한 후보 전사(transcription)에 대응하고 가설 서브 워드 유닛들의 각각의 시퀀스로 표현되며, 및
    제2 패스(208)동안, 제1 패스 동안 상기 트랜스듀서 디코더 모델에 의해 생성된 다수의 후보 가설들로부터 상위 K 후보 가설들을 리스코어링하도록 구성된 리스코어러(rescorer) 디코더 모델(230)을 포함하고,
    가장 높은 제2 패스 로그 확률과 연관된 가설 서브 워드 유닛들의 각각의 시퀀스에 의해 표현되는 리스코어러 디코더 모델(230)에 의해 리스코어링된 상위 K 후보 가설들의 후보 가설은 사용자(10)에 의해 발화된 발화(12)에 대한 상기 스피치 인식 결과(232)로서 리스코어러 디코더 모델(230)로부터 출력되는, 컴퓨터 구현 방법(500).
  7. 제6항에 있어서,
    트랜스듀서 디코더 모델(220)은 순환 신경 네트워크-트랜스듀서(RNN-T) 모델 아키텍처를 포함하고; 그리고
    리스코어러 디코더 모델(230)은 LAS(Listen, Attend, Spell) 모델 아키텍처를 포함하는, 컴퓨터 구현 방법(500).
  8. 제6항 또는 제7항에 있어서,
    상기 동작들은:
    제2 패스(208) 동안 스피치 인식기(200)의 언어 인코더(241)를 사용하여, 제1 패스(206) 동안 트랜스듀서 디코더 모델(220)에 의해 생성된 다수의 후보 가설들 각각을 인코딩함으로써 다수의 가설 인코딩(243)을 생성하는 동작; 및
    신뢰도 추정 모듈(300)을 사용하여, 상기 가설 서브 워드 유닛들의 시퀀스 내의 각 서브 워드 유닛에 대해, 다수의 가설 인코딩(243)에 교차로 주의를 기울이는 제3 어텐션 메커니즘을 사용하여, 언어 컨텍스트 벡터(332)를 생성하는 동작을 더 포함하고,
    상기 대응하는 서브 워드 유닛에 대한 각각의 신뢰도 출력 스코어(302)를 생성하는 동작은 신뢰도 추정 모듈(300)의 출력 레이어(340)에 의해 입력으로서 수신된 언어 컨텍스트 벡터(332)에 더 기초하는, 컴퓨터 구현 방법(500).
  9. 제8항에 있어서,
    다수의 후보 가설들 각각을 인코딩하는 동작은 각 후보 가설을 대응하는 가설 인코딩으로 양방향으로 인코딩하는 동작; 및
    각각의 대응하는 가설 인코딩을 연결함으로써 다수의 가설 인코딩(243)을 생성하는 동작을 포함하는, 컴퓨터 구현 방법(500).
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    스피치 인식기(200)와 신뢰도 추정 모듈(300)은 공동으로 트레이닝되는, 컴퓨터 구현 방법(500).
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    스피치 인식기(200)와 신뢰도 추정 모듈(300)은 별도로 트레이닝되는, 컴퓨터 구현 방법(500).
  12. 제1항 내지 제11항 중 어느 한 항에 있어서,
    신뢰도 추정 모델(300)은 스피치 인식기(200)와 연관된 피처들에 기초한 바이너리 교차 엔트로피 손실을 사용하여 트레이닝되는, 컴퓨터 구현 방법(500).
  13. 제1항 내지 제12항 중 어느 한 항에 있어서,
    상기 동작들은:
    상기 스피치 인식 결과(232)에 대한 발화 레벨 신뢰도 스코어(350)가 신뢰도 임계값을 만족하는지 여부를 결정하는 동작; 및
    상기 스피치 인식 결과(232)에 대한 발화 레벨 신뢰도 스코어(350)가 신뢰도 임계값을 만족하지 못하는 경우, 발화(12)에 대응되는 오디오 데이터(202)를 다른 스피치 인식기(402)로 전송하는 동작을 더 포함하고, 상기 다른 스피치 인식기(402)는 발화(12)의 전사(204)를 생성하기 위해 오디오 데이터(202)를 프로세싱하도록 구성되는, 컴퓨터 구현 방법(500).
  14. 제13항에 있어서,
    스피치 인식기(200) 및 신뢰도 추정 모듈(300)은 사용자 컴퓨팅 디바이스(110)에서 실행되며; 그리고
    상기 다른 스피치 인식기(402)는 네트워크를 통해 사용자 컴퓨팅 디바이스(110)와 통신하는 원격 서버(410)에서 실행되는, 컴퓨터 구현 방법(500).
  15. 시스템(100)에 있어서,
    데이터 프로세싱 하드웨어(112); 및
    상기 데이터 프로세싱 하드웨어(112)와 통신하고, 상기 데이터 프로세싱 하드웨어(112)에서 실행될 때 상기 데이터 프로세싱 하드웨어(112)로 하여금 동작들을 수행하게 하는 명령어들을 저장하는 메모리 하드웨어(114)를 포함하고, 상기 동작들은:
    스피치 인식기(200)로부터, 사용자(10)에 의해 발화된 발화(12)에 대한 스피치 인식 결과(232)를 수신하는 동작, 상기 스피치 인식 결과(232)는 발화(12)의 하나 이상의 워드들을 형성하는 가설(hypothesized) 서브 워드 유닛들의 시퀀스를 포함하고, 각 서브 워드 유닛은 대응하는 출력 단계에서 스피치 인식기(200)로부터 출력되고,
    신뢰도 추정 모듈(300)을 사용하여, 상기 가설 서브 워드 유닛들의 시퀀스 내의 각 서브 워드 유닛에 대해:
    스피치 인식기(200)로부터 대응하는 서브 워드 유닛이 출력될 때, 상기 대응하는 출력 단계와 연관된 신뢰도 피처들의 세트를 표현하는 각각의 신뢰도 임베딩(242)을 획득하는 동작;
    상기 대응하는 서브 워드 유닛에 대한 각각의 신뢰도 임베딩(242) 및 상기 대응하는 서브 워드 유닛을 진행(proceed)하는 상기 가설 서브 워드 유닛들의 시퀀스 내의 임의의 다른 서브 워드 유닛들에 대해 획득된 신뢰도 임베딩들(242)에 자체적으로 주의를 기울이는 제1 어텐션 메커니즘(310)을 사용하여, 신뢰도 피처 벡터(312)를 생성하는 동작;
    발화(12)에 대응하는 오디오 데이터(202)로부터 분할된 대응하는 음향 프레임과 각각 연관된 음향 인코딩들의 시퀀스(252)에 교차로 주의를 기울이는 제2 어텐션 메커니즘(320)을 사용하여 사용하여, 음향 컨텍스트 벡터(332)를 생성하는 동작; 및
    신뢰도 추정 모듈(300)의 출력 레이어(340)로부터의 출력으로서, 상기 신뢰도 피처 벡터(312) 및 신뢰도 추정 모듈(300)의 출력 레이어(340)에 의해 입력으로서 수신된 음향 피처 벡터(322)에 기초하여 상기 대응하는 서브 워드 유닛에 대한 각각의 신뢰도 출력 스코어(302)를 생성하는 동작;
    상기 가설 서브 워드 유닛들의 시퀀스에 의해 형성된 하나 이상의 워드들 각각에 대해, 워드에 대한 각각의 워드 레벨 신뢰도 스코어를 결정하는 동작, 상기 각각의 워드 레벨 신뢰도 스코어는 워드의 최종 서브 워드 유닛에 대해 생성된 각각의 신뢰도 출력 스코어(302)와 동일하며; 및
    발화(12)의 하나 이상의 워드들에 대해 결정된 각각의 워드 레벨 신뢰도 스코어들을 집계함으로써 상기 스피치 인식 결과(232)에 대한 발화 레벨 신뢰도 스코어(350)를 결정하는 동작을 포함하는, 시스템(100).
  16. 제15항에 있어서,
    각각의 신뢰도 임베딩(242)에 의해 표현되는 상기 신뢰도 피처들의 세트는:
    상기 대응하는 출력 단계에서 스피치 인식기(200)의 소프트맥스 포스테리어 피처; 및
    상기 대응하는 서브 워드 유닛에 대한 서브 워드 임베딩 피처를 포함하는, 시스템(100).
  17. 제15항 또는 제16항에 있어서,
    각각의 신뢰도 임베딩(242)에 의해 표현되는 상기 신뢰도 피처들의 세트는:
    상기 대응하는 출력 단계에서 스피치 인식기(200)로부터 출력된 상기 대응하는 서브 워드 유닛의 확률/우도와 연관된 확률값을 나타내는 로그 포스테리어 로그 피처; 및
    스피치 인식기(200)에 의해 리스코어링된 상위 K 후보 가설들에 대한 상기 대응하는 출력 단계에서의 K개의 가장 큰 로그 확률들을 나타내는 상위 K 피처를 더 포함하며, 상기 상위 K 후보 가설들 각각은 발화(12)의 하나 이상의 워드들을 형성하는 가설 서브 워드 유닛들의 각각의 시퀀스에 의해 표현되는, 시스템(100).
  18. 제15항 내지 제17항 중 어느 한 항에 있어서,
    서브 워드 유닛들은 워드피스(wordpiece)들을 포함하는, 시스템(100).
  19. 제15항 내지 제18항 중 어느 한 항에 있어서,
    서브 워드 유닛들은 문자소(grapheme)들을 포함하는, 시스템(100).
  20. 제15항 내지 제19항 중 어느 한 항에 있어서,
    스피치 인식기(200)는:
    제1 패스(206) 동안 다수의 후보 가설들을 생성하도록 구성된 트랜스듀서(transducer) 디코더 모델(220), 각 후보 가설은 발화(12)에 대한 후보 전사(transcription)에 대응하고 가설 서브 워드 유닛들의 각각의 시퀀스로 표현되며, 및
    제2 패스(208)동안, 제1 패스 동안 상기 트랜스듀서 디코더 모델에 의해 생성된 다수의 후보 가설들로부터 상위 K 후보 가설들을 리스코어링하도록 구성된 리스코어러(rescorer) 디코더 모델(230)을 포함하고,
    가장 높은 제2 패스 로그 확률과 연관된 가설 서브 워드 유닛들의 각각의 시퀀스에 의해 표현되는 리스코어러 디코더 모델(230)에 의해 리스코어링된 상위 K 후보 가설들의 후보 가설은 사용자(10)에 의해 발화된 발화(12)에 대한 상기 스피치 인식 결과(232)로서 리스코어러 디코더 모델(230)로부터 출력되는, 시스템(100).
  21. 제20항에 있어서,
    트랜스듀서 디코더 모델(220)은 순환 신경 네트워크-트랜스듀서(RNN-T) 모델 아키텍처를 포함하고; 그리고
    리스코어러 디코더 모델(230)은 LAS(Listen, Attend, Spell) 모델 아키텍처를 포함하는, 시스템(100).
  22. 제20항 또는 제21항에 있어서,
    상기 동작들은:
    제2 패스(208) 동안 스피치 인식기(200)의 언어 인코더(241)를 사용하여, 제1 패스(206) 동안 트랜스듀서 디코더 모델(220)에 의해 생성된 다수의 후보 가설들 각각을 인코딩함으로써 다수의 가설 인코딩(243)을 생성하는 동작; 및
    신뢰도 추정 모듈(300)을 사용하여, 상기 가설 서브 워드 유닛들의 시퀀스 내의 각 서브 워드 유닛에 대해, 다수의 가설 인코딩(243)에 교차로 주의를 기울이는 제3 어텐션 메커니즘을 사용하여, 언어 컨텍스트 벡터(332)를 생성하는 동작을 더 포함하고,
    상기 대응하는 서브 워드 유닛에 대한 각각의 신뢰도 출력 스코어(302)를 생성하는 동작은 신뢰도 추정 모듈(300)의 출력 레이어(340)에 의해 입력으로서 수신된 언어 컨텍스트 벡터(332)에 더 기초하는, 시스템(100).
  23. 제22항에 있어서,
    다수의 후보 가설들 각각을 인코딩하는 동작은 각 후보 가설을 대응하는 가설 인코딩으로 양방향으로 인코딩하는 동작; 및
    각각의 대응하는 가설 인코딩을 연결함으로써 다수의 가설 인코딩(243)을 생성하는 동작을 포함하는, 시스템(100).
  24. 제15항 내지 제23항 중 어느 한 항에 있어서,
    스피치 인식기(200)와 신뢰도 추정 모듈(300)은 공동으로 트레이닝되는, 시스템(100).
  25. 제15항 내지 제24항 중 어느 한 항에 있어서,
    스피치 인식기(200)와 신뢰도 추정 모듈(300)은 별도로 트레이닝되는, 시스템(100).
  26. 제15항 내지 제25항 중 어느 한 항에 있어서,
    신뢰도 추정 모델(300)은 스피치 인식기(200)와 연관된 피처들에 기초한 바이너리 교차 엔트로피 손실을 사용하여 트레이닝되는, 시스템(100).
  27. 제15항 내지 제26항 중 어느 한 항에 있어서,
    상기 동작들은:
    상기 스피치 인식 결과(232)에 대한 발화 레벨 신뢰도 스코어(350)가 신뢰도 임계값을 만족하는지 여부를 결정하는 동작; 및
    상기 스피치 인식 결과(232)에 대한 발화 레벨 신뢰도 스코어(350)가 신뢰도 임계값을 만족하지 못하는 경우, 발화(12)에 대응되는 오디오 데이터(202)를 다른 스피치 인식기(402)로 전송하는 동작을 더 포함하고, 상기 다른 스피치 인식기(402)는 발화(12)의 전사(204)를 생성하기 위해 오디오 데이터(202)를 프로세싱하도록 구성되는, 시스템(100).
  28. 제27항에 있어서,
    스피치 인식기(200) 및 신뢰도 추정 모듈(300)은 사용자 컴퓨팅 디바이스(110)에서 실행되며; 그리고
    상기 다른 스피치 인식기(402)는 네트워크를 통해 사용자 컴퓨팅 디바이스(110)와 통신하는 원격 서버(410)에서 실행되는, 시스템(100).
KR1020237032091A 2021-02-23 2022-02-23 서브 워드 엔드-투-엔드 자동 스피치 인식을 위한 워드 레벨 신뢰도 학습 KR20230147685A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/182,592 US11610586B2 (en) 2021-02-23 2021-02-23 Learning word-level confidence for subword end-to-end automatic speech recognition
US17/182,592 2021-02-23
PCT/US2022/017534 WO2022182769A1 (en) 2021-02-23 2022-02-23 Learning word-level confidence for subword end-to-end automatic speech recognition

Publications (1)

Publication Number Publication Date
KR20230147685A true KR20230147685A (ko) 2023-10-23

Family

ID=80739076

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237032091A KR20230147685A (ko) 2021-02-23 2022-02-23 서브 워드 엔드-투-엔드 자동 스피치 인식을 위한 워드 레벨 신뢰도 학습

Country Status (6)

Country Link
US (1) US11610586B2 (ko)
EP (1) EP4292081A1 (ko)
JP (1) JP7436760B1 (ko)
KR (1) KR20230147685A (ko)
CN (1) CN116888662A (ko)
WO (1) WO2022182769A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4200717A2 (en) 2020-08-24 2023-06-28 Unlikely Artificial Intelligence Limited A computer implemented method for the automated analysis or use of data
KR102637025B1 (ko) * 2021-03-26 2024-02-16 구글 엘엘씨 자동 음성 인식을 위한 다언어 리스코어링 모델들
US11710479B1 (en) * 2021-03-31 2023-07-25 Amazon Technologies, Inc. Contextual biasing of neural language models using metadata from a natural language understanding component and embedded recent history
US11915690B1 (en) * 2021-06-17 2024-02-27 Amazon Technologies, Inc. Automatic speech recognition
US11977854B2 (en) * 2021-08-24 2024-05-07 Unlikely Artificial Intelligence Limited Computer implemented methods for the automated analysis or use of data, including use of a large language model
CN116453507B (zh) * 2023-02-21 2023-09-08 北京数美时代科技有限公司 基于置信度模型的语音识别优化方法、系统和存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009116107A (ja) 2007-11-07 2009-05-28 Canon Inc 情報処理装置及び方法
US9117453B2 (en) * 2009-12-31 2015-08-25 Volt Delta Resources, Llc Method and system for processing parallel context dependent speech recognition results from a single utterance utilizing a context database
CN112242144A (zh) 2019-07-17 2021-01-19 百度在线网络技术(北京)有限公司 基于流式注意力模型的语音识别解码方法、装置、设备以及计算机可读存储介质

Also Published As

Publication number Publication date
JP7436760B1 (ja) 2024-02-22
US11610586B2 (en) 2023-03-21
JP2024509515A (ja) 2024-03-04
US20220270597A1 (en) 2022-08-25
EP4292081A1 (en) 2023-12-20
CN116888662A (zh) 2023-10-13
WO2022182769A1 (en) 2022-09-01

Similar Documents

Publication Publication Date Title
US11610586B2 (en) Learning word-level confidence for subword end-to-end automatic speech recognition
JP2023545988A (ja) トランスフォーマトランスデューサ:ストリーミング音声認識と非ストリーミング音声認識を統合する1つのモデル
US11749259B2 (en) Proper noun recognition in end-to-end speech recognition
KR20220130699A (ko) 심의 모델 기반 2패스 종단간 음성 인식
US20230186901A1 (en) Attention-Based Joint Acoustic and Text On-Device End-to-End Model
US20220310080A1 (en) Multi-Task Learning for End-To-End Automated Speech Recognition Confidence and Deletion Estimation
KR20230158107A (ko) 효율적인 스트리밍 비-순환 온-디바이스 엔드-투-엔드 모델
WO2022203735A1 (en) Reducing streaming asr model delay with self alignment
US20240029720A1 (en) Context-aware Neural Confidence Estimation for Rare Word Speech Recognition
US11580956B2 (en) Emitting word timings with end-to-end models
KR102637025B1 (ko) 자동 음성 인식을 위한 다언어 리스코어링 모델들
US20230298563A1 (en) Deliberation by Text-Only and Semi-Supervised Training
US20240029716A1 (en) Streaming Automatic Speech Recognition With Non-Streaming Model Distillation