[go: up one dir, main page]

KR102699035B1 - 자동 음성 인식을 위한 다언어 리스코어링 모델들 - Google Patents

자동 음성 인식을 위한 다언어 리스코어링 모델들 Download PDF

Info

Publication number
KR102699035B1
KR102699035B1 KR1020247004805A KR20247004805A KR102699035B1 KR 102699035 B1 KR102699035 B1 KR 102699035B1 KR 1020247004805 A KR1020247004805 A KR 1020247004805A KR 20247004805 A KR20247004805 A KR 20247004805A KR 102699035 B1 KR102699035 B1 KR 102699035B1
Authority
KR
South Korea
Prior art keywords
candidate
model
utterance
speech recognition
hypotheses
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020247004805A
Other languages
English (en)
Other versions
KR20240024345A (ko
Inventor
니라즈 가우르
퉁저우 천
에산 바리아니
부바나 라맙하드란
파리사 하가니
페드로 제이. 모레노 멘기바르
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Priority to KR1020247028079A priority Critical patent/KR102767798B1/ko
Publication of KR20240024345A publication Critical patent/KR20240024345A/ko
Application granted granted Critical
Publication of KR102699035B1 publication Critical patent/KR102699035B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • 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/005Language recognition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

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)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Machine Translation (AREA)

Abstract

방법(400)은, 발언(106)에 대응하는, 오디오 데이터로부터 추출된 음향 프레임들의 시퀀스(110)를 수신하는 단계를 포함한다. 제1 패스(301) 동안, 이 방법은, 음향 프레임들의 시퀀스를 프로세싱하여 발언에 대한 N개의 후보 가설(204)을 생성하는 단계를 포함한다. 제2 패스(302) 동안, 그리고 각각의 후보 가설에 대해, 이 방법은: 개개의 비정규화된 우도 스코어(325)를 생성하는 단계; 개개의 외부 언어 모델 스코어(315)를 생성하는 단계; 대응 후보 가설의 앞선 통계들을 모델링하는 독립형 스코어(205)를 생성하는 단계; 및 비정규화된 우도 스코어, 외부 언어 모델 스코어, 및 독립형 스코어에 기초하여 후보 가설에 대한 개개의 종합 스코어(355)를 생성하는 단계를 포함한다. 이 방법은, N개의 후보 가설 중에서 가장 높은 개개의 종합 스코어를 갖는 후보 가설을 발언의 최종 전사본(120)으로서 선택하는 단계를 또한 포함한다.

Description

자동 음성 인식을 위한 다언어 리스코어링 모델들{MULTILINGUAL RE-SCORING MODELS FOR AUTOMATIC SPEECH RECOGNITION}
본 개시내용은 자동 음성 인식을 위한 다언어 리스코어링 모델(multilingual re-scoring model)들에 관한 것이다.
자동 음성 인식(automatic speech recognition)(ASR) 시스템들은, 모바일 디바이스들 및 다른 디바이스들에서 전형적으로 사용되는 기술을 제공한다. 일반적으로, ASR 시스템들은 사용자가 모바일 디바이스에 대해 발화(speak)한 것의 정확한 전사본(transcription)들을 제공하려고 시도한다. 더 구체적으로는, ASR 시스템들은 다수의 후보 전사본들을 생성하고, 음성 입력과 매칭할 가능성이 가장 높은 후보 전사본을 출력한다. 일부 경우들에서, ASR 시스템들은, 사용자가 실제로 발화한 것과 매칭하지 않는 부정확한 전사본들을 출력한다. 이들 경우들에서, ASR 시스템은 다수의 후보 전사본들을 리스코어링하고, 음성 입력과 매칭하는 정확한 전사본을 출력할 수도 있다. 그러나, 리스코어링의 하나의 도전과제는, ASR 시스템들이 다수의 후보 전사본들을 정확하게 리스코어링하기 위해 음성 입력의 언어 정보에 의존한다는 것이다. 이에 따라, ASR 시스템들이 다언어 음성 환경들에서 리스코어링을 수행하는 것은 종종 번거로운 일이다.
본 개시내용의 하나의 양태는, 데이터 프로세싱 하드웨어 상에서 실행될 때 데이터 프로세싱 하드웨어로 하여금 자동 음성 인식을 위한 다언어 리스코어링 모델들을 사용하는 동작들을 수행하게 하는 컴퓨터에 의해 구현되는 방법을 제공한다. 이 동작들은, 발언(utterance)에 대응하는 오디오 데이터로부터 추출된 음향 프레임들의 시퀀스를 수신하는 동작을 포함한다. 제1 패스(first pass) 동안, 이 동작들은, 다언어 음성 인식 모델을 사용하여 음향 프레임들의 시퀀스를 프로세싱하여 발언에 대한 N개의 후보 가설을 생성하는 동작을 포함한다. 제2 패스 동안, N개의 후보 가설의 각각의 후보 가설에 대해, 이 방법은: 뉴럴 오라클 검색(neural oracle search)(NOS) 모델을 사용하여, 음향 프레임들의 시퀀스 및 대응 후보 가설에 기초하여 개개의 비정규화된 우도 스코어(un-normalized likelihood score)를 생성하는 단계; 언어 모델을 사용하여 개개의 외부 언어 모델 스코어를 생성하는 단계; 제1 패스 동안 생성된 대응 후보 가설의 앞선 통계들을 모델링하는 독립형 스코어(standalone score)를 생성하는 단계; 및 비정규화된 스코어, 외부 언어 모델 스코어, 및 독립형 스코어에 기초하여 후보 가설들에 대한 개개의 종합 스코어를 생성하는 단계를 포함한다. 이 동작들은, N개의 후보 가설 중에서 가장 높은 개개의 종합 스코어를 갖는 후보 가설을 발언의 최종 전사본으로서 선택하는 동작을 또한 포함한다.
본 개시내용의 구현들은 다음의 임의적인 특징들 중 하나 이상을 포함할 수도 있다. 일부 구현들에서, N개의 후보 가설의 각각의 후보 가설은 워드 또는 서브-워드 레이블(word or sub-word label)들의 개개의 시퀀스를 포함한다. 여기서, 각각의 워드 또는 서브-워드 레이블은 개개의 임베딩 벡터(embedding vector)에 의해 표현된다. 외부 언어 모델은 텍스트 전용 데이터에 대해 훈련될 수도 있다. 일부 예들에서, NOS 모델은 언어 특정 NOS 모델(language-specific NOS model)을 포함한다. 이들 예들에서, 이 동작들은, 발언의 언어를 표시하는 언어 식별자를 수신하는 동작, 및 상이한 개개의 언어에 대해 각각 훈련되는 복수의 언어 특정 NOS 모델들 중에서 언어 특정 NOS 모델을 선택하는 동작을 더 포함한다.
임의로, NOS 모델은 다언어 NOS 모델을 포함할 수도 있다. 일부 구현들에서, 외부 언어 모델은 언어 특정 외부 언어 모델을 포함한다. 이들 구현들에서, 이 동작들은, 발언의 언어를 표시하는 언어 식별자를 수신하는 동작, 및 상이한 개개의 언어에 대해 각각 훈련되는 복수의 언어 특정 외부 언어 모델들 중에서 언어 특정 외부 언어 모델을 선택하는 동작을 더 포함한다. NOS 모델은 2개의 단방향 장단기 메모리(long short-term memory)(LSTM) 레이어를 포함할 수도 있다. 일부 예들에서, 음성 인식 모델은, 복수의 콘포머 레이어(conformer layer)들을 갖는 콘포머 인코더 및 2개의 LSTM 레이어를 갖는 LSTM 디코더를 포함하는 인코더-디코더 아키텍처를 포함한다.
본 개시내용의 다른 양태는, 데이터 프로세싱 하드웨어 및 명령어들을 저장하는 메모리 하드웨어를 포함하는 시스템을 제공하는데, 이 명령어들은, 데이터 프로세싱 하드웨어 상에서 실행될 때 데이터 프로세싱 하드웨어로 하여금 동작들을 수행하게 한다. 이 동작들은, 발언에 대응하는 오디오 데이터로부터 추출된 음향 프레임들의 시퀀스를 수신하는 동작을 포함한다. 제1 패스 동안, 이 동작들은, 다언어 음성 인식 모델을 사용하여 음향 프레임들의 시퀀스를 프로세싱하여 발언에 대한 N개의 후보 가설을 생성하는 동작을 포함한다. 제2 패스 동안, N개의 후보 가설의 각각의 후보 가설에 대해, 이 방법은: 뉴럴 오라클 검색(NOS) 모델을 사용하여, 음향 프레임들의 시퀀스 및 대응 후보 가설에 기초하여 개개의 비정규화된 우도 스코어를 생성하는 단계; 언어 모델을 사용하여 개개의 외부 언어 모델 스코어를 생성하는 단계; 제1 패스 동안 생성된 대응 후보 가설의 앞선 통계들을 모델링하는 독립형 스코어를 생성하는 단계; 및 비정규화된 스코어, 외부 언어 모델 스코어, 및 독립형 스코어에 기초하여 후보 가설들에 대한 개개의 종합 스코어를 생성하는 단계를 포함한다. 이 동작들은, N개의 후보 가설 중에서 가장 높은 개개의 종합 스코어를 갖는 후보 가설을 발언의 최종 전사본으로서 선택하는 동작을 또한 포함한다.
본 개시내용의 구현들은 다음의 임의적인 특징들 중 하나 이상을 포함할 수도 있다. 일부 구현들에서, N개의 후보 가설의 각각의 후보 가설은 워드 또는 서브-워드 레이블들의 개개의 시퀀스를 포함한다. 여기서, 각각의 워드 또는 서브-워드 레이블은 개개의 임베딩 벡터에 의해 표현된다. 외부 언어 모델은 텍스트 전용 데이터에 대해 훈련될 수도 있다. 일부 예들에서, NOS 모델은 언어 특정 NOS 모델을 포함한다. 이들 예들에서, 이 동작들은, 발언의 언어를 표시하는 언어 식별자를 수신하는 동작, 및 상이한 개개의 언어에 대해 각각 훈련되는 복수의 언어 특정 NOS 모델들 중에서 언어 특정 NOS 모델을 선택하는 동작을 더 포함한다.
임의로, NOS 모델은 다언어 NOS 모델을 포함할 수도 있다. 일부 구현들에서, 외부 언어 모델은 언어 특정 외부 언어 모델을 포함한다. 이들 구현들에서, 이 동작들은, 발언의 언어를 표시하는 언어 식별자를 수신하는 동작, 및 상이한 개개의 언어에 대해 각각 훈련되는 복수의 언어 특정 외부 언어 모델들 중에서 언어 특정 외부 언어 모델을 선택하는 동작을 더 포함한다. NOS 모델은 2개의 단방향 장단기 메모리(LSTM) 레이어를 포함할 수도 있다. 일부 예들에서, 음성 인식 모델은, 복수의 콘포머 레이어들을 갖는 콘포머 인코더 및 2개의 LSTM 레이어를 갖는 LSTM 디코더를 포함하는 인코더-디코더 아키텍처를 포함한다.
본 개시내용의 하나 이상의 구현의 세부사항들이 아래의 설명 및 첨부 도면들에 제시된다. 다른 양태들, 특징들, 및 이점들이 이 설명 및 도면들로부터, 그리고 청구범위로부터 명백해질 것이다.
도 1은 예시적인 음성 인식 모델을 실행하는 음성 환경의 개략도이다.
도 2는 도 1의 예시적인 음성 인식 모델의 개략도이다.
도 3a는 복수의 언어 특정 뉴럴 오라클 검색(NOS) 모델들을 사용하는 예시적인 리스코어링 프로세스의 개략도이다.
도 3b는 다언어 NOS 모델을 사용하는 예시적인 리스코어링 프로세스의 개략도이다.
도 4는 자동 음성 인식을 위한 다언어 리스코어링 모델들을 사용하는 방법에 대한 동작들의 예시적인 배열의 흐름도이다.
도 5는 본 명세서에서 설명되는 시스템들 및 방법들을 구현하는 데 사용될 수도 있는 예시적인 컴퓨팅 디바이스의 개략도이다.
다양한 도면들에서 동일한 참조 부호들은 동일한 요소들을 표시한다.
자동 음성 인식(ASR) 시스템들은 ASR 시스템들이 사용자가 발화한 것의 더 많은 누적 전사본들을 계속 제공함에 따라 사용자 디바이스들에서 점점 더 인기를 얻고 있다. 그럼에도 불구하고, 일부 경우들에서, ASR 시스템들은 사용자가 실제로 발화한 것을 잘못 인식하는 부정확한 전사본들을 생성한다. 일부 구성들에서, ASR 시스템들은 발화된 발언에 대해 N개의 최상 후보 가설을 생성하고 최종 전사본으로서 최상 후보 가설을 출력한다. 그러나, N개의 최상 후보 가설 구성은 단일의 최상 가설 구성에 비해 거의 50% 더 낮은 워드 에러 레이트(word error rate)(WER)를 갖는다. 따라서, 일부 구현들에서, ASR 시스템들은 WER을 증가시키기 위해 부가적인 정보를 통합시킴으로써 N개의 최상 후보 가설을 리스코어링할 것이다. 이들 리스코어링 구현들은 다언어 음성 환경들에서 언어 정보(즉, 사용자에 의해 발화된 언어 식별자)에 의존하고 미미한 WER 개선들만을 단지 제공한다. 상기에 논의된 도전과제들은, 하나의 최상 후보 구성과 비교하여 N개의 최상 후보 가설 구성을 사용하는 ASR 시스템들 사이에서 WER 성능 갭을 식별한다.
이에 따라, 본 명세서의 구현들은 대응 발언에 대해 N개의 후보 가설을 생성하는 리스코어링 프로세스를 실행하고 최종 전사본으로서 출력할 가능성이 가장 높은 후보 가설을 선택하는 방법들 및 시스템들에 관한 것이다. 특히, 제1 패스 동안, 리스코어링 프로세스는 다언어 음성 인식 모델을 사용하여 N개의 후보 가설을 생성한다. 그 후, 제2 패스 동안 그리고 각각의 후보 가설에 대해, 리스코어링 프로세스는 뉴럴 오라클 검색(NOS) 모델을 사용하여 개개의 비정규화된 우도 스코어를 생성하고 외부 언어 모델 스코어를 생성하며, 후보 가설의 앞선 통계들을 모델링하는 독립형 스코어를 생성한다. 아래에 명백해지는 바와 같이, NOS 모델은 언어 특정 NOS 모델 또는 다언어 NOS 모델일 수도 있다. 더욱이, 제2 패스 동안, 리스코어링 프로세스는 비정규화된 우도 스코어, 외부 언어 모델 스코어, 및 독립형 스코어에 기초하여 각각의 후보 가설에 대한 종합 스코어를 생성한다. 리스코어링 프로세스는 가장 높은 종합 스코어를 갖는 후보 가설을 발언에 대한 최종 전사본으로서 선택한다.
도 1은 음성 환경(100)의 일 예이다. 음성 환경(100)에서, 사용자 디바이스(10)와 같은 컴퓨팅 디바이스와 상호작용하는 사용자(104)의 방식은 보이스 입력을 통한 것일 수도 있다. 사용자 디바이스(10)는 음성 환경(100) 내의 하나 이상의 사용자(104)로부터 사운드들(예를 들어, 스트리밍 오디오 데이터)을 캡처하도록 구성된다. 여기서, 스트리밍 오디오 데이터는, 가청 질의, 사용자 디바이스(10)에 대한 커맨드, 또는 사용자 디바이스(10)에 의해 캡처된 가청 통신으로서 기능하는 사용자(104)에 의한 발화된 발언(106)을 지칭할 수도 있다. 사용자 디바이스(10)의 음성 인에이블드 시스템(speech-enabled system)들은 질의에 답변하거나 그리고/또는 커맨드가 하나 이상의 다운스트림 애플리케이션에 의해 수행/이행되게 함으로써 질의 또는 커맨드를 제출할 수도 있다.
사용자 디바이스(10)는, 사용자(104)와 연관되고 오디오 데이터를 수신하는 것이 가능한 임의의 컴퓨팅 디바이스에 대응할 수도 있다. 사용자 디바이스들(10)의 일부 예들은 모바일 디바이스(예를 들어, 모바일 폰들, 태블릿들, 랩톱들 등), 컴퓨터들, 웨어러블 디바이스들(예를 들어, 스마트 워치들), 스마트 어플라이언스들, 사물 인터넷(internet of things)(IoT) 디바이스들, 차량 인포테인먼트 시스템들, 스마트 디스플레이들, 스마트 스피커들 등을 포함하지만 이에 제한되지 않는다. 사용자 디바이스(10)는, 데이터 프로세싱 하드웨어(12), 및 데이터 프로세싱 하드웨어(12)와 통신하고, 데이터 프로세싱 하드웨어(12)에 의해 실행될 때 데이터 프로세싱 하드웨어(12)로 하여금 하나 이상의 동작을 수행하게 하는 명령어들을 저장하는 메모리 하드웨어(14)를 포함한다. 사용자 디바이스(10)는, 음성 환경(100) 내의 발화된 발언들(106)을 캡처하고 이들을 전기 신호들로 컨버팅하기 위한 오디오 캡처 디바이스(예를 들어, 마이크로폰)(16, 16a), 및 (예를 들어, 사용자 디바이스(10)로부터의 출력 오디오 데이터로서) 가청 오디오 신호를 통신하기 위한 음성 출력 디바이스(예를 들어, 스피커)(16, 16b)를 갖는 오디오 시스템(16)을 더 포함한다. 도시된 예에서 사용자 디바이스(10)는 단일 오디오 캡처 디바이스(16a)를 구현하지만, 사용자 디바이스(10)는 본 개시내용의 범주로부터 벗어남이 없이 오디오 캡처 디바이스들(16a)의 어레이를 구현할 수도 있어서, 이에 의해 어레이에서의 하나 이상의 캡처 디바이스(16a)가 사용자 디바이스(10) 상에 물리적으로 상주하지 않지만, 오디오 시스템(16)과 통신할 수도 있다.
음성 환경(100)에서, 음성 인식 모델(즉, 자동 음성 인식(ASR) 모델)(200)을 구현하는 ASR 시스템(118)은, 네트워크(40)를 통해 사용자 디바이스(10)와 통신하는 원격 컴퓨팅 디바이스(60)(예를 들어, 클라우드-컴퓨팅 환경에서 실행되는 분산 시스템의 하나 이상의 원격 서버) 상에 그리고/또는 사용자(104)의 사용자 디바이스(10) 상에 상주한다. ASR 시스템(118)은 또한 하나 이상의 외부 언어 모델(310) 및 뉴럴 오라클 검색(NOS) 모델(320)을 구현할 수도 있다. 사용자 디바이스(10) 및/또는 원격 컴퓨팅 디바이스(즉, 원격 서버)(60)는, 사용자(104)에 의해 발화되고 오디오 캡처 디바이스(16a)에 의해 캡처된 발언(106)을 수신하고, 발언들(106)을, ASR 시스템(118)에 의해 프로세싱되는 것이 가능한 입력 음향 프레임들(110)과 연관된 대응 디지털 포맷으로 컨버팅하도록 구성되는 오디오 서브시스템(108)을 또한 포함한다. 도시된 예에서, 사용자는 개개의 발언(106)을 발화하고 오디오 서브시스템(108)은 ASR 시스템(118)으로의 입력을 위해 발언(106)을 대응 오디오 데이터(예를 들어, 음향 프레임들)(110)로 컨버팅한다. 그 후, 음성 인식 모델(200)은 발언(106)에 대응하는 오디오 데이터(110)를 입력으로서 수신하고, 발언(106)의 대응 전사본(120)(예를 들어, 음성 인식 결과/가설)을 출력으로서 생성/예측한다. 아래에 더욱 상세히 설명되는 바와 같이, 음성 인식 모델(200)은, 발언(106)에 의해 특정된 질의가 레이턴시(latency)에 얼마나 민감한지 그리고/또는 사용자(106)가 레이턴시에 대해 얼마나 많은 허용오차를 갖는지에 따라 모델(200)이 음성 인식을 수행할 때 추론 동안 예견 오디오 콘텍스트(look ahead audio context)의 상이한 지속기간들을 설정하게 하도록 가변 예견 오디오 콘텍스트로 훈련된 종단 간 음성 인식 모델(end-to-end speech recognition model)(200)을 포함할 수도 있다. 예를 들어, 사용자 디바이스(10) 상에서 실행되는 디지털 어시스턴트 애플리케이션(50)은, 발언(106)에 의해 특정된 질의가 레이턴시에 얼마나 민감한지 그리고/또는 사용자(106)가 레이턴시에 대해 얼마나 많은 허용오차를 갖는지에 따라 음성 인식을 요구할 수도 있다.
일부 구현들에서, 음성 인식 모델(200)은 제1 패스 동안 오디오 데이터(110)에 대한 스트리밍 음성 인식을 수행하여 N개의 후보 가설(204)(도 3)을 생성하고, NOS 및 언어 모델들(310, 320)은 제2 패스 동안 N개의 후보 가설(204)을 리스코어링하여 최종 전사본(120)을 생성한다. 예를 들어, 도시된 예에서, 음성 인식 모델(200)은 오디오 데이터(110)에 대한 스트리밍 음성 인식을 수행하여 (N개의 후보 가설(204)에 기초하여) 부분 음성 인식 결과들(즉, 부분 전사본)(120, 120a)을 생성하고, 언어 및 NOS 모델들(310, 320)은 N개의 후보 가설(204)을 리스코어링하여 최종 음성 인식 결과(즉, 최종 전사본)(120, 120b)를 생성한다. 특히, 음성 인식 모델(200)은, 부분 음성 인식 결과들(120a)을 생성하기 위해 제로(또는 약 240밀리초)로 설정될 수도 있는 제1 예견 오디오 콘텍스트를 사용할 수도 있다. 따라서, 입력 발언(106)에 대한 최종 음성 인식 결과(120b)는 입력 발언에 대한 부분 음성 인식 결과들(120a)로부터 딜레이될 수도 있다.
사용자 디바이스(10) 및/또는 원격 컴퓨팅 디바이스(60)는, 발언(106)의 전사본(120)의 표현을 사용자 디바이스(10)의 사용자(104)에게 제시하도록 구성되는 사용자 인터페이스 생성기(109)를 또한 실행한다. 아래에 더욱 상세히 설명되는 바와 같이, 사용자 디바이스 생성기(109)는 시간 1 동안 부분 음성 인식 결과들(120a)을 스트리밍 방식으로 디스플레이하고 이에 후속하여 시간 2 동안 최종 음성 인식 결과(120b)를 디스플레이할 수도 있다. 일부 구성들에서, ASR 시스템(118)으로부터 출력된 전사본(120)은, 예를 들어, 사용자 디바이스(10) 또는 원격 컴퓨팅 디바이스(60) 상에서 실행되는 자연 언어 이해(natural language understanding)(NLU) 모듈에 의해 프로세싱되어, 발언(106)에 의해 특정된 사용자 커맨드/질의를 실행한다. 부가적으로 또는 대안적으로, 텍스트 음성 변환 시스템(text-to-speech system)(도시되지 않음)(예를 들어, 사용자 디바이스(10) 또는 원격 컴퓨팅 디바이스(60)의 임의의 조합 상에서 실행됨)이, 사용자 디바이스(10) 및/또는 다른 디바이스에 의한 가청 출력을 위해 전사본을 합성된 음성으로 컨버팅할 수도 있다.
도시된 예에서, 사용자(104)는 디지털 어시스턴트 애플리케이션(50)과 통신하고, 디지털 어시스턴트 애플리케이션(50)은 사용자(104)와 디지털 어시스턴트 애플리케이션(50) 사이의 대화를 나타내기 위해 사용자 디바이스(10)의 스크린 상에 디지털 어시스턴트 인터페이스(18)를 디스플레이한다. 이 예에서, 사용자(104)는 디지털 어시스턴트 애플리케이션(50)에게 "What time is the concert tonight?"이라고 묻는다. 사용자(104)로부터의 이 질문은, 오디오 캡처 디바이스(16a)에 의해 캡처되고 사용자 디바이스(10)의 오디오 시스템들(16)에 의해 프로세싱되는 발화된 발언(106)이다. 이 예에서, 오디오 시스템(16)은 발화된 발언(106)을 수신하고 그것을 ASR 시스템(118)으로의 입력을 위해 음향 프레임들(110)로 컨버팅한다.
이 예를 계속하면, 음성 인식 모델(200)은, 사용자(104)가 발화할 때 발언(106)에 대응하는 음향 프레임들(즉, 오디오 데이터)(110)을 수신하는 동안, 음향 프레임들(110)을 인코딩한 후에 인코딩된 음향 프레임들(110)을 부분 음성 인식 결과들(120a)로 디코딩한다. 시간 1 동안, 사용자 인터페이스 생성기(109)는, 디지털 어시스턴트 인터페이스(18)를 통해, 워드들, 워드 피스(word piece)들, 및/또는 개별 문자들이 이들이 발화되자마자 스크린 상에 나타나는 스트리밍 방식으로 발언(106)의 부분 음성 인식 결과들(120a)의 표현을 사용자 디바이스(10)의 사용자(104)에게 제시한다.
제2 패스 동안, 그리고 발언(106)에 대응하는 모든 음향 프레임들(110)이 수신된 후에, ASR 시스템(118)은 언어 및 NOS 모델들(310, 320)을 사용하여 N개의 후보 가설(204)의 각각의 후보 가설(204)을 리스코어링하고, N개의 후보 가설(204) 중에서 발언(106)의 정확한 전사본(120)일 가능성이 가장 높은 후보 가설(204)을 선택한다. 시간 2 동안, 사용자 인터페이스 생성기(109)는, 디지털 어시스턴트 인터페이스(18)를 통해, 발언(106)의 최종 음성 인식 결과들(120b)의 표현을 사용자 디바이스(10)의 사용자(105)에게 제시한다. 일부 구현들에서, 사용자 인터페이스 생성기(109)는 부분 음성 인식 결과들(120a)의 표현을 최종 음성 인식 결과(120b)의 표현으로 대체한다. 예를 들어, 최종 음성 인식 결과(120b)가, 예견 오디오 콘텍스트를 활용하는 일 없이 생성된 부분 음성 인식 결과들(120a)보다 더 정확한 것으로 추정되므로, 전사본(120)으로서 궁극적으로 디스플레이되는 최종 음성 인식 결과(120b)는, 부분 음성 인식 결과들(120a)에서 잘못 인식되었을 수도 있는 임의의 용어들을 수정할 수도 있다. 이 예에서, 음성 인식 모델(200)에 의해 출력되고 시간 1에 사용자 디바이스(10)의 스크린 상에 디스플레이되는 스트리밍 부분 음성 인식 결과들(120a)은 낮은 레이턴시와 연관되고, 사용자(104)에게 그/그녀의 질의가 프로세싱되고 있다는 응답성을 제공하는 한편, 시간 2에서 스크린 상에 디스플레이되는 최종 음성 인식 결과(120b)는 정확도의 관점에서 음성 인식 품질을 개선시키지만, 레이턴시가 증가된다. 그러나, 부분 음성 인식 결과들(120a)은 사용자가 발언(106)을 발화할 때 디스플레이되므로, 최종 인식 결과를 생성하고 궁극적으로 디스플레이하는 것과 연관된 더 높은 레이턴시가 사용자(104)에게 눈에 띄지 않는다.
도 1에 도시된 예에서, 디지털 어시스턴트 애플리케이션(50)은 자연 언어 프로세싱을 사용하여 사용자(104)에 의해 제기된 질문에 응답할 수도 있다. 자연 언어 프로세싱은 일반적으로, 기입된 언어(예를 들어, 부분 음성 인식 결과들(120a) 및/또는 최종 음성 인식 결과(120b))를 해석하고 기입된 언어가 임의의 액션을 촉구하는지 여부를 결정하는 프로세스를 지칭한다. 이 예에서, 디지털 어시스턴트 애플리케이션(50)은 자연 언어 프로세싱을 사용하여 사용자(104)로부터의 질문이 사용자의 스케줄 그리고 더 구체적으로는 사용자의 스케줄에 따른 콘서트에 관련된 것임을 인식한다. 자연 언어 프로세싱을 이용하여 이들 세부사항들을 인식함으로써, 자동 어시스턴트는 사용자의 질의에 대해 응답(19)을 반환하는데, 여기서 응답(19)은 "Venue doors open at 6:30 PM and concert starts at 8PM"이라고 진술한다. 일부 구성들에서, 자연 언어 프로세싱은, 사용자 디바이스(10)의 데이터 프로세싱 하드웨어(12)와 통신하는 원격 서버(60) 상에서 발생한다.
도 2를 참조하면, 예시적인 프레임 정렬 기반 트랜스듀서 모델(200a)은, 대화형 애플리케이션들과 연관된 레이턴시 제약들을 준수하는 순환 뉴럴 네트워크-트랜스듀서(Recurrent Neural Network-Transducer)(RNN-T) 모델 아키텍처를 포함한다. RNN-T 모델 아키텍처의 사용은 예시적이고, 프레임 정렬 기반 트랜스듀서 모델(200)은 다른 것들 중에서도 트랜스포머-트랜스듀서 및 콘포머-트랜스듀서 모델 아키텍처들과 같은 다른 아키텍처들을 포함할 수도 있다. RNN-T 모델(200)은 작은 컴퓨테이션 풋프린트(computational footprint)를 제공하고 종래의 ASR 아키텍처들보다 더 적은 메모리 요건들을 활용하여, RNN-T 모델 아키텍처가 사용자 디바이스(102) 상에서 완전히 음성 인식을 수행하는 데 적합하게 만든다(예를 들어, 원격 서버와의 어떠한 통신도 요구되지 않는다). RNN-T 모델(200)은 인코더 네트워크(210), 예측 네트워크(220), 및 조인트 네트워크(230)를 포함한다. 전통적인 ASR 시스템에서의 음향 모델(acoustic model)(AM)과 대략 유사한 인코더 네트워크(210)는 스택형 장단기(LSTM) 레이어들의 순환 네트워크를 포함할 수도 있다. 예를 들어, 인코더는 d차원 특징 벡터들(예를 들어, 음향 프레임들(110)(도 1))의 시퀀스 x = (X 1 , X 2 , ..., X T )를 판독하고 - 여기서 이다 -, 각각의 출력 단계에서 고차 특징 표현을 생성한다. 이 고차 특징 표현은 로서 표기된다.
유사하게, 예측 네트워크(220)는 또한 LSTM 네트워크(즉, LSTM 디코더)인데, 이는, 언어 모델(LM)과 마찬가지로, 지금까지 최종 소프트맥스 레이어(final Softmax layer)(240)에 의해 출력된 비-블랭크 심볼(non-blank symbol)들의 시퀀스(즉, 레이블 히스토리)(245) 을 밀집 표현(dense representation) 로 프로세싱한다. 최종적으로, RNN-T 모델 아키텍처를 이용하면, 인코더 및 예측/디코더 네트워크들(210, 220)에 의해 생성된 표현들이 조인트 네트워크(230)에 의해 조합된다. 예측 네트워크(220)는 밀집 표현들을 프로세싱하는 대신에 조회된 희소 임베딩들을 출력함으로써 레이턴시를 개선시키기 위해 임베딩 룩업 테이블(embedding look-up table)로 대체될 수도 있다. 그 후에, 조인트 네트워크는, 다음 출력 심볼에 걸친 분포인 를 예측한다. 상이하게 진술하면, 조인트 네트워크(230)는, 각각의 출력 단계(예를 들어, 시간 단계)에서, 가능한 음성 인식 가설들에 걸친 확률 분포를 생성한다. 여기서, "가능한 음성 인식 가설들"은, 특정된 자연 언어의 심볼/문자를 각각 표현하는 출력 레이블들의 세트에 대응한다. 예를 들어, 자연 언어가 영어일 때, 출력 레이블들의 세트는 27개의 심볼을 포함할 수도 있는데, 예를 들어, 하나의 레이블이 영어 알파벳의 26개 문자 각각에 대한 것이고 하나의 레이블이 공백을 지정한다. 이에 따라, 조인트 네트워크(230)는, 미리 결정된 세트의 출력 레이블들 각각의 발생 우도를 표시하는 값들의 세트를 출력할 수도 있다. 이 값들의 세트는 벡터일 수 있고, 출력 레이블들의 세트에 걸친 확률 분포를 표시할 수 있다. 일부 경우들에서, 출력 레이블들은 문자소(grapheme)들(예를 들어, 개별 문자들, 그리고 잠재적으로는 구두점(punctuation) 및 다른 심볼들)이지만, 출력 레이블들의 세트가 그렇게 제한되지 않는다. 예를 들어, 출력 레이블들의 세트는, 문자소들에 부가적으로 또는 이들 대신에 워드 피스들 및/또는 전체 워드들을 포함할 수 있다. 조인트 네트워크(230)의 출력 분포는, 상이한 출력 레이블들 각각에 대한 사후 확률 값(posterior probability value)을 포함할 수 있다. 따라서, 상이한 문자소들 또는 다른 심볼들을 표현하는 100개의 상이한 출력 레이블이 있는 경우, 조인트 네트워크(230)의 출력 yi는, 각각의 출력 레이블에 대해 하나씩, 100개의 상이한 확률 값을 포함할 수 있다. 그 후에, 확률 분포는, 전사본(120)을 결정하기 위한 (예를 들어, 소프트맥스 레이어(240)에 의한) 빔 검색 프로세스에서 스코어들을 선택하고 이들을 후보 철자법 요소들(예를 들어, 문자소들, 워드 피스들, 및/또는 워드들)에 할당하는 데 사용될 수 있다.
소프트맥스 레이어(240)는, 대응 출력 단계에서 RNN-T 모델(200)에 의해 예측된 다음 출력 심볼로서 분포에서 가장 높은 확률을 갖는 출력 레이블/심볼을 선택하기 위해 임의의 기법을 채용할 수도 있다. 이러한 방식으로, RNN-T 모델(200)은 조건부 독립 가정을 행하지 않으며, 오히려 각각의 심볼의 예측은 음향들뿐만 아니라 지금까지 출력된 레이블들의 시퀀스를 조건으로 한다. RNN-T 모델(200)은 출력 심볼이 장래 음향 프레임들(110)과 독립적이라고 가정하는데, 이는 RNN-T 모델이 스트리밍 방식으로 채용되게 한다.
일부 예들에서, RNN-T 모델(200)이 포함하는 인코더 네트워크(즉, 오디오 인코더)(210)는, 콘포머 레이어들의 스택을 포함하는 콘포머 기반 인코더를 갖는 인코더-디코더 아키텍처이다. 여기서, 각각의 콘포머 레이어는, 일련의 멀티-헤드 셀프-어텐션(multi-headed self-attention), 깊이별 콘볼루션(depth wise convolution), 및 피드-포워드(feed-forward) 레이어들을 포함한다. 일부 예들에서, 콘포머 기반 인코더는 17개의 콘포머 레이어의 스택을 포함할 수도 있다. 인코더 네트워크(210)는, 멀티-헤드 셀프-어텐션 메커니즘들을 갖는 다른 타입들의 인코더들을 포함할 수도 있다. 예를 들어, 인코더 네트워크(210)는 트랜스포머 기반 인코더 또는 경량 콘볼루션(lightweight convolutional)(LConv) 기반 인코더일 수도 있다. 인코더 네트워크(210)는 또한, 일련의 LSTM 레이어들을 포함하는 RNN 기반일 수도 있다. 예측 네트워크(220)는, 2개의 2,048차원 LSTM 레이어를 갖는 LSTM 디코더일 수도 있는데, 이 LSTM 레이어 각각 다음에 640차원 프로젝션 레이어가 또한 뒤따른다. 대안적으로, 예측 네트워크(220)는 LSTM 레이어들 대신에 임베딩 룩업 테이블, 또는 트랜스포머 또는 콘포머 블록들의 스택을 포함할 수도 있다. 최종적으로, 조인트 네트워크(230)는 640개의 은닉된 유닛을 또한 가질 수도 있다. 소프트맥스 레이어(240)는, 복수의 훈련 데이터 세트들에서 모든 고유 워드 피스들 또는 문자소들을 사용하여 생성되는 단일화된 워드 피스 또는 문자소 세트로 구성될 수도 있다.
이제 도 3a 및 도 3b를 참조하면, 일부 구현들에서, 원격 서버(60)(도 1)는, 제1 패스(301) 동안 ASR 모델(200)에 의해 생성된 N개의 후보 가설(204)을 리스코어링하기 위한 예시적인 리스코어링 프로세스(300)를 실행한다. 대안적으로, 원격 서버(60)(도 1)에 부가적으로 또는 그 대신에 사용자 디바이스(10)(도 1)가 예시적인 리스코어링 프로세스(300)를 실행할 수도 있다. 리스코어링 프로세스(300)는, 발언(106)에 대응하는 음향 프레임들의 시퀀스(110)(X 1 , X 2 , ..., X T )에 대한 N개의 후보 가설(204, 204a-n)(H 1 , H 2 , ..., H N )을 생성하는 제1 패스(301)를 포함한다. 더욱이, 리스코어링 프로세스(300)는, 아래에 더욱 상세히 논의되는 부가적인 정보 소스들을 통합시킴으로써 N개의 후보 가설(204)의 각각의 후보 가설(204)을 리스코어링하는 제2 패스(302)를 포함한다. 이와 같이, 제2 패스(302)는, N개의 후보 가설(204) 중에서 발언(106)의 정확한 전사본일 가능성이 가장 높은 후보 가설(204)을 선택하도록 구성되는 시퀀스 분류 목적 함수(sequence classification objective)를 포함한다.
특히, ASR 모델(200)은, 발언(106)에 대응하는 오디오 데이터로부터 추출된 음향 프레임들의 시퀀스(110)를 수신한다. 제1 패스(301) 동안, ASR 모델(200)은 음향 프레임들의 시퀀스(110)를 프로세싱하여 발언(106)에 대한 N개의 후보 가설(204)을 생성한다. 여기서, 각각의 후보 가설(204)은 발언(106)에 대한 후보 전사본(120)에 대응하고, 개개의 임베딩 벡터에 의해 표현되는 워드, 서브-워드, 및/또는 문자소 레이블들의 개개의 시퀀스에 의해 표현된다. 더욱이, 각각의 후보 가설(204)은, 대응 후보 가설(204)의 앞선 통계들을 모델링하는 독립형 스코어(205)를 포함한다. 즉, 독립형 스코어(205)는, 대응 후보 가설(204)이 발언(106)에 대한 정확한 전사본이라는 신뢰도를 표시할 수도 있다. 독립형 스코어(205)의 신뢰도는 또한, 이전에 실현된 발언들(106)의 빈도(예를 들어, 후보 가설(204)이 이전에 발화된 횟수)를 표시할 수도 있다.
ASR 모델(200)은 임의의 수의 후보 가설(204)을 생성할 수도 있다(예를 들어, N은 임의의 정수 값일 수도 있다). 일부 예들에서, ASR 모델(200)은 미리 정의된 파라미터에 기초하여 특정된 수의 후보 가설(204)을 출력한다. 예를 들어, ASR 모델(200)은 모든 발화된 발언(106)에 대해 5개의 후보 가설(204)(즉, N = 5)을 출력한다. 예를 들어, N개의 후보 가설(204)은, 가장 높은 독립형 스코어(205)를 갖는 N개의 후보 가설과 연관된 후보 가설들의 N-최상 리스트에 대응할 수도 있다. 다른 예들에서, ASR 모델(200)은, 임계 값을 만족시키는 독립형 스코어(205)를 갖는 모든 후보 가설들(204)을 출력한다.
도시된 예에서, ASR 모델(200)은, 사용자(104)에 의해 발화된 발언(106) "play next song"에 대응하는 음향 프레임들의 시퀀스(110)를 프로세싱하고 3개의 후보 가설(204)(즉, N = 3)을 생성한다. 즉, 후보 가설들(204)은, 0.6의 독립형 스코어(205)를 갖는 "play next song", 0.3의 독립형 스코어(205)를 갖는 "hey next long", 그리고 0.8의 독립형 스코어(205)를 갖는 "play next pong"을 포함한다. 여기서, 리스코어링 프로세스(300)는 부분 전사본(120a)(도 1)으로서 후보 가설(204) "play next pong"을 출력할 수도 있는데, 이는 그것이 가장 높은 독립형 스코어(205)를 갖기 때문이다. 대안적으로, 리스코어링 프로세스(300)는 리스코어링 프로세스가 최종 전사본을 생성할 때까지 부분 전사본의 출력을 억제할 수도 있다. 특히, 이 예에서, 가장 높은 독립형 스코어(205)를 갖는 후보 가설(204)은, 사용자(104)에 의해 발화된 발언(106)의 부정확한 전사본이다.
ASR 모델(200)은, 다수의 언어들로 발화된 발언들(106)을 인식하도록 구성되는 다언어 ASR 모델일 수도 있다. 즉, 단일 ASR 모델(200)은 제1 언어로 발언(106)을 수신하고 제1 언어로 N개의 후보 가설(204)을 생성하고, 상이한 제2 언어로 다른 발언(106)을 수신하고 제2 언어로 N개의 후보 가설(204)을 생성할 수도 있다. 더욱이, 단일 ASR 모델은, 제1 언어와 제2 언어 양측 모두의 용어들을 포함하는 코드-혼합된 음성을 포함하는 발언(106)을 수신할 수도 있다. 따라서, 리스코어링 프로세스(300)는 다언어 음성 환경에서 단일 다언어 ASR 모델(200)을 구현할 수도 있다.
일부 구현들에서, 제2 패스(302)는 제1 패스(301)로부터 N개의 후보 가설(204)을 수신하고, 각각의 후보 가설(204)에 대한 부가적인 정보를 통합시킴으로써 대응 종합 스코어(355)를 생성할 수도 있다. 종합 스코어(355)는, 각각의 후보 가설(204)이 정확한 전사본인지 여부의 제1 패스(301)로부터의 독립형 스코어(205)보다 더 정확한 신뢰도 레벨을 표시할 수도 있다. 그 후, 제2 패스(302)는, 가장 높은 종합 스코어(355)를 갖는 후보 가설(204)을 전사본(120)(즉, 최종 전사본(120b)(도 1))으로서 선택할 수도 있다.
더 구체적으로는, 제2 패스(302) 동안, 외부 언어 모델(LM)(310)은 N개의 후보 가설(204)을 수신하고 각각의 후보 가설(204)에 대해 개개의 외부 언어 모델 스코어(315)를 생성한다. 일부 구현들에서, 외부 LM(310)은 RNN LM을 포함한다. 여기서, 외부 LM(310)은, 특정 언어에 대한 텍스트 전용 데이터(즉, 언페어드 데이터(unpaired data))에 대해 각각 훈련된 복수의 언어 특정 외부 LM들(310, 310a-n)을 포함할 수도 있다. 이와 같이, 본 명세서에서는 외부 LM(310)과 언어 특정 외부 LM(310)이 상호교환가능하게 사용될 수도 있다. 따라서, 각각의 언어 특정 외부 LM(310)은 개개의 언어의 발언들(106)에 대한 외부 언어 모델 스코어(즉, 언어 모델 스코어)(315)를 생성하도록 구성된다. 예를 들어, 영어 텍스트 전용 데이터에 대해 훈련된 제1 언어 특정 외부 LM(310, 310a)은, 영어로 발화된 발언들(106)에 대해 언어 모델 스코어들(315)을 생성하고, 스페인어 텍스트 전용 데이터에 대해 훈련된 제2 언어 특정 외부 LM(310, 310b)은 스페인어로 발화된 발언들(106)에 대해 언어 모델 스코어들(315)을 생성한다. 복수의 외부 LM들(310)은 임의의 수의 언어에 대해 훈련될 수도 있고, 여기서 각각의 외부 LM(310)은 상이한 개개의 언어의 텍스트 전용 데이터로 훈련된다.
이에 따라, 외부 LM(310)은, 발언(106)의 언어를 표시하는 언어 식별자(107)를 수신하여, 복수의 언어 특정 외부 LM들(310) 중에서 발언(106)의 언어에 대응하는 언어 특정 외부 LM(310)을 선택할 수도 있다. 달리 말하면, 리스코어링 프로세스(300)는 언어 식별자(107)에 기초하여 언어 특정 외부 LM(310)을 선택할 수도 있다. 일부 예들에서, ASR 모델(200)은, 발언(106)의 음향 프레임들의 시퀀스(110)를 프로세싱하는 것에 기초하여 언어 식별자(107)를 결정한다. 다른 예들에서, ASR 모델(200)은 외부 소스로부터 언어 식별자(107)를 획득한다. 예를 들어, 사용자는 특정 언어에 대한 ASR 모델을 구성할 수도 있다. 다른 경우들에서, ASR 모델(200)은, 발언(106)을 발화한 사용자(104)의 아이덴티티(identity)를 결정하고, 식별된 사용자(104)와 연관된 언어에 기초하여 언어 식별자(107)를 식별할 수도 있다.
이에 따라, 제2 패스(302) 동안, 리스코어링 프로세스(300)는, 언어 식별자(107)에 기초하여 발언(106)의 언어에 대응하는 외부 LM(310)을 선택하고, 각각의 후보 가설(204)에 대한 언어 모델 스코어(315)를 생성한다. 언어 모델 스코어(315)는, 후보 가설(204)에서 가설이 세워진 용어들의 시퀀스가 사용자(104)에 의해 발화될 우도를 표시한다. 예를 들어, LM(310)은 후보 가설(204) "What is the weather hooray?"와는 대조적으로 후보 가설(204) "What is the weather today?"에 대해 더 높은 언어 모델 스코어(315)를 생성할 것이다. 특히, LM(310)은 "What is the weather today?"에 대해 더 높은 언어 모델 스코어(315)를 생성하는데, 이는 이 가설이 세워진 용어들의 시퀀스가 "What is the weather hooray?"보다 더 빈번하게 텍스트 전용 훈련 데이터에 포함되었을 수도 있기 때문이다.
예시적인 리스코어링 프로세스(300)는, N개의 후보 가설(204), 음향 프레임들의 시퀀스(110), 및 레이블 히스토리(245)(예를 들어, 이전에 출력된 워드들, 워드 피스들, 및/또는 문자소들)를 수신하는 뉴럴 오라클 검색(NOS) 모델(320)을 또한 포함한다. 레이블 히스토리(245)(y 0:i- 1)는 ASR 모델(200), 리스코어링 프로세스(300)의 제2 패스(302)(예를 들어, 리스코어러(rescorer)(350)를 통해), 또는 이들의 일부 조합에 의해 출력될 수도 있다. 일부 예들에서, 레이블 히스토리(245)는, 사용자(104)에 의해 발화된 이전 발언(106)에 대한 전사본을 포함한다. 예를 들어, 사용자(104)는, "what about tomorrow?"의 현재 발언(106)에 대한 레이블 히스토리(245)를 표현하는 "do I have any meetings today?"의 이전 발언(106)을 이전에 발화하였을 수도 있다. 다른 예들에서, 레이블 히스토리(245)는, 발언의 현재 레이블에 선행하는 모든 용어들을 포함한다. 예를 들어, 발언(106) "play my playlist"에 대해, 레이블 히스토리(245)는 용어들 "play my"에 대응할 수도 있고, 여기서 발언(106)에서의 현재 용어(예를 들어, 다음의 가설이 세워진 용어)는 "playlist"이다. 임의로, NOS 모델(320)은, 사용자(104)에 의해 발화된 발언(106)의 언어를 표시하는 언어 식별자(107)를 수신할 수도 있다.
도 3a는 복수의 언어 특정 NOS 모델들(320S, 320Sa-n)을 포함하는 리스코어링 프로세스(300, 300a)의 일 예를 예시한다. 여기서, 각각의 언어 특정 NOS 모델(320S)은 특정 언어의 쌍별 데이터(즉, 전사된 오디오 훈련 데이터)에 대해 훈련된다. 이에 따라, 제2 패스(302) 동안, 리스코어링 프로세스(300)는, 언어 식별자(107)에 기초하여 복수의 언어 특정 NOS 모델들(320S) 중에서 발언(106)의 언어에 대응하는 언어 특정 NOS 모델(320S)을 선택한다. 이와 같이, 예시적인 리스코어링 프로세스(300a)는, 언어 식별자(107)가 올바른 언어 특정 NOS 모델(320S)을 선택하는 데 이용가능하다고 가정한다.
대안적으로, 도 3b는 다언어 NOS 모델(320, 320M)을 포함하는 예시적인 리스코어링 프로세스(300, 300b)를 예시한다. 이 예에서, 다언어 NOS 모델(320M)은 임의의 수의 언어에 대한 쌍별 데이터(즉, 전사된 오디오 훈련 데이터)에 대해 훈련된다. 따라서, 예시적인 리스코어링 프로세스(300b)는 다언어 음성 환경에서 단일 다언어 NOS 모델(320M)을 구현할 수도 있다. 특히, 예시적인 리스코어링 프로세스(300b)는 발언(106)의 언어와 연관된 언어 특정 NOS 모델(320S)(도 3a를 참조하여 설명된 바와 같음)의 선택이 요구되지 않으므로 어떠한 언어 식별자(107)의 사용도 요구하지 않는다. 따라서, 발언(106)은, 2개 이상의 언어에 걸친 음성의 코드혼합을 포함하는 다언어 발언을 포함할 수도 있다. 본 명세서에서 사용되는 바와 같이, NOS 모델(320)은, 리스코어링 프로세스(300a)가 언어 식별자(107)에 기초하여 선택하는 언어 특정 NOS 모델(320S)(도 3a) 또는 다언어 NOS 모델(도 3b) 중 어느 하나를 포함할 수도 있다.
계속해서 도 3a 및 도 3b를 참조하면, NOS 모델(320)은, 레이블 히스토리(245)가 주어지면 다음 레이블 Y i 를 예측하는 앞선 모델을 포함한다. 즉, 앞선 모델은 이전에 인식된 워드, 워드 피스들, 및/또는 문자소들에 기초하여 다음 레이블에 대한 앞선 스코어를 예측한다. NOS 모델(320)의 앞선 모델은 2-레이어, 레이어당 512유닛의 단방향 LSTM을 포함할 수도 있다. 앞선 모델은 레이블링된 오디오 훈련 데이터 및 교차 엔트로피 손실을 사용하여 훈련한다. 더욱이, NOS 모델(320)은, 레이블 동기 방식으로 제1 패스(301)로부터의 음향 프레임들의 시퀀스(110)와 레이블 히스토리(245)를 조합함으로써 사후 스코어를 예측하는 사후 모델을 포함한다. NOS 모델(320)의 사후 모델은, 2-레이어, 레이어당 128유닛의 레이블 동기 어텐션 메커니즘을 갖는, 2-레이어, 레이어당 512유닛의 단방향 LSTM을 포함할 수도 있다. 사후 모델은 레이블 히스토리(245) 및 음향 프레임들의 시퀀스(110)가 주어지면 다음 레이블 Y i 를 예측하기 위해 레이블링된 오디오 훈련 데이터 및 교차 엔트로피 손실로 훈련한다. NOS 모델(320)은 토큰 레벨 앞선 스코어와 토큰 레벨 사후 스코어를 합산하여 비정규화된 우도 스코어(325)를 생성한다. 이와 같이, 비정규화된 우도 스코어(325)는 다음과 같이 합산에 의해 표현되는 시퀀스 레벨 스코어이다:
식 1에서, 은 비정규화된 우도 스코어(325)를 표현한다,
리스코어러(350)는 N개의 후보 가설(204)의 각각의 후보 가설(204)에 대한 독립형 스코어(205), 언어 모델 스코어(315), 및 비정규화된 우도 스코어(325)를 수신하고 개개의 종합 스코어(355)를 생성한다. 특히, 리스코어러(350)는 독립형 스코어(205), 언어 모델 스코어(315), 및 비정규화된 우도 스코어(325)의 임의의 조합에 기초하여 각각의 후보 가설(204)에 대한 종합 스코어(355)를 생성한다. 일부 예들에서, 리스코어러(350)는 독립형 스코어(205), 언어 모델 스코어(315), 및 비정규화된 우도 스코어(325)를 선형적으로 합산하여, 다음의 것으로 표현되는 시퀀스-레벨 종합 스코어(355)를 결정한다:
식 3에서, 은 비정규화된 우도 스코어(325)를 표현하고, 는 외부 언어 모델 스코어(315)를 표현하며, 은 독립형 스코어(205)를 표현한다. 훈련 동안 리스코어러(350)의 모델 파라미터들을 최적화하기 위해, 리스코어링 프로세스(300)는 사후 스코어와 시퀀스-레벨 지상 실측 분포(sequence-level ground truth distribution) 사이의 교차 엔트로피 목적 함수를 사용한다. 일부 예들에서, 훈련 프로세스는 총 지상 실측 분포를 지상 실측 전사본에 할당하고 모든 다른 후보 가설들을 제로로 할당한다. 다른 예들에서, 훈련 프로세스는 최상 후보 가설(즉, 지상 실측 전사본) 미만의 워드 에러 레이트(WER)를 갖는 모든 후보 가설들에 걸쳐 총 지상 실측 분포를 균일하게 할당한다. 또 다른 예들에서, 훈련 프로세스는 소프트맥스 함수를 각각의 후보 가설과 지상 실측 전사본 사이의 네거티브 편집 거리에 적용한다.
그 후, 리스코어러(350)는 N개의 후보 가설(204) 중에서 가장 높은 종합 스코어(355)를 갖는 후보 가설(204)을 발언(106)의 최종 전사본(120)으로서 선택한다. 도시된 예에서, 후보 가설들(204)은, 0.9의 종합 스코어(205)를 갖는 "play next song", 0.3의 종합 스코어(205)를 갖는 "hey next long", 그리고 0.5의 종합 스코어(205)를 갖는 "play next pong"을 포함한다. 이 예를 계속하면, 리스코어러(250)는, 0.9의 가장 높은 종합 스코어(205)를 갖는 "play next song"의 후보 가설(204)(실선 박스로 표기됨)을 전사본(120)(예를 들어, 최종 전사본(120b)(도 1))으로서 선택한다. 특히, 가장 높은 독립형 스코어(205)(즉, 올바른 전사본일 우도)를 갖는 후보 가설(204)은 올바른 후보 가설(204)이 아니지만, 가장 높은 종합 스코어(355)를 갖는 후보 가설은 제2 패스(302)로부터의 올바른 전사본이다.
도 4는 자동 음성 인식을 위한 다언어 리스코어링 모델들을 사용하는 컴퓨터에 의해 구현되는 방법(400)에 대한 동작들의 예시적인 배열의 흐름도이다. 동작 402에서, 방법(400)은, 발언(106)에 대응하는 오디오 데이터로부터 추출된 음향 프레임들의 시퀀스(110)를 수신하는 단계를 포함한다. 동작 404에서, 제1 패스(301) 동안, 방법(400)은, 다언어 음성 인식 모델(즉, ASR 모델)(200)을 사용하여 발언(106)에 대한 N개의 후보 가설(204, 204a-n)을 생성하기 위해 음향 프레임들의 시퀀스(110)를 프로세싱하는 단계를 포함한다. 제2 패스(302) 동안, N개의 후보 가설(204)의 각각의 후보 가설(204)에 대해, 방법(400)은 동작들 406 내지 412를 수행한다. 동작 406에서, 방법(400)은, NOS 모델(320)을 사용하여 개개의 비정규화된 우도 스코어(325)를 생성하는 단계를 포함한다. 여기서, NOS 모델(320)은 음향 프레임들의 시퀀스(110) 및 대응 후보 가설(204)에 기초하여 비정규화된 우도 스코어(325)를 생성한다. 동작 408에서, 방법(400)은, 언어 모델(310)을 사용하여 개개의 외부 언어 모델 스코어(315)를 생성하는 단계를 포함한다. 동작 410에서, 방법(400)은, 제1 패스(301) 동안 생성된 대응 후보 가설(204)의 앞선 통계들을 모델링하는 독립형 스코어(205)를 생성하는 단계를 포함한다. 동작 412에서, 방법(400)은, 비정규화된 우도 스코어(325), 외부 언어 모델 스코어(315), 및 독립형 스코어(205)에 기초하여 후보 가설(255)에 대한 개개의 종합 스코어(355)를 생성하는 단계를 포함한다. 동작 414에서, 방법(400)은, N개의 후보 가설(204) 중에서 가장 높은 개개의 종합 스코어(355)를 갖는 후보 가설(204)을 발언(106)의 최종 전사본(120)으로서 선택하는 단계를 포함한다.
도 5는 본 문서에서 설명되는 시스템들 및 방법들을 구현하는 데 사용될 수도 있는 예시적인 컴퓨팅 디바이스(500)의 개략도이다. 컴퓨팅 디바이스(500)는 랩톱들, 데스크톱들, 워크스테이션들, 퍼스널 디지털 어시스턴트(personal digital assistant)들, 서버들, 블레이드 서버들, 메인프레임들, 및 다른 적절한 컴퓨터들과 같은 다양한 형태들의 디지털 컴퓨터들을 표현하도록 의도된다. 여기에 도시된 컴포넌트들, 이들의 커넥션들 및 관계들, 그리고 이들의 기능들은 단지 예시적인 것으로 의도되고, 본 문서에서 설명 및/또는 청구되는 발명들의 구현들을 제한하는 것으로 의도되지 않는다.
컴퓨팅 디바이스(500)는, 프로세서(510), 메모리(520), 저장 디바이스(530), 메모리(520) 및 고속 확장 포트들(550)에 연결되는 고속 인터페이스/컨트롤러(540), 및 저속 버스(570) 및 저장 디바이스(530)에 연결되는 저속 인터페이스/컨트롤러(560)를 포함한다. 컴포넌트들(510, 520, 530, 540, 550, 및 560) 각각은 다양한 버스들을 사용하여 상호연결되고, 공통 마더보드 상에 또는 적절하다면 다른 방식들로 장착될 수도 있다. 프로세서(510)는, 고속 인터페이스(540)에 커플링되는 디스플레이(580)와 같은 외부 입/출력 디바이스 상에 그래픽 사용자 인터페이스(graphical user interface)(GUI)에 대한 그래픽 정보를 디스플레이하기 위해 메모리(520)에 또는 저장 디바이스(530) 상에 저장되는 명령어들을 포함하여, 컴퓨팅 디바이스(500) 내의 실행을 위한 명령어들을 프로세싱할 수 있다. 다른 구현들에서, 다수의 프로세서들 및/또는 다수의 버스들이, 적절하다면, 다수의 메모리들 및 타입들의 메모리와 함께 사용될 수도 있다. 또한, 다수의 컴퓨팅 디바이스들(500)이 연결될 수도 있는데, 이때 각각의 디바이스는 (예를 들어, 서버 뱅크, 블레이드 서버들의 그룹, 또는 멀티-프로세서 시스템으로서) 필요한 동작들의 부분들을 제공한다.
메모리(520)는 정보를 컴퓨팅 디바이스(500) 내에 비일시적으로 저장한다. 메모리(520)는 컴퓨터 판독가능 매체, 휘발성 메모리 유닛(들), 또는 비휘발성 메모리 유닛(들)일 수도 있다. 비일시적 메모리(520)는, 컴퓨팅 디바이스(500)에 의한 사용을 위해 일시적으로 또는 영구적으로 프로그램들(예를 들어, 명령어들의 시퀀스들) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는 데 사용되는 물리적 디바이스들일 수도 있다. 비휘발성 메모리의 예들은 플래시 메모리 및 판독 전용 메모리(read-only memory)(ROM)/프로그래밍가능 판독 전용 메모리(programmable read-only memory)(PROM)/소거가능 프로그래밍가능 판독 전용 메모리(erasable programmable read-only memory)(EPROM)/전자적 소거가능 프로그래밍가능 판독 전용 메모리(electronically erasable programmable read-only memory)(EEPROM)(예를 들어, 전형적으로 부팅 프로그램들과 같은 펌웨어에 대해 사용됨)를 포함하지만, 이에 제한되지 않는다. 휘발성 메모리의 예들은 랜덤 액세스 메모리(random access memory)(RAM), 동적 랜덤 액세스 메모리(dynamic random access memory)(DRAM), 정적 랜덤 액세스 메모리(static random access memory)(SRAM), 상 변화 메모리(phase change memory)(PCM)뿐만 아니라 디스크들 또는 테이프들을 포함하지만, 이에 제한되지 않는다.
저장 디바이스(530)는 컴퓨팅 디바이스(500)에 대한 대용량 저장을 제공하는 것이 가능하다. 일부 구현들에서, 저장 디바이스(530)는 컴퓨터 판독가능 매체이다. 다양한 상이한 구현들에서, 저장 디바이스(530)는, 저장 영역 네트워크 또는 다른 구성들에서의 디바이스들을 포함하여, 플로피 디스크 디바이스, 하드 디스크 디바이스, 광학 디스크 디바이스, 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 솔리드 스테이트 메모리 디바이스, 또는 디바이스들의 어레이일 수도 있다. 부가적인 구현들에서, 컴퓨터 프로그램 제품은 정보 캐리어로 유형적으로 구체화된다. 컴퓨터 프로그램 제품은, 실행될 때, 상술된 것들과 같은 하나 이상의 방법을 수행하는 명령어들을 포함한다. 정보 캐리어는 메모리(520), 저장 디바이스(530), 또는 프로세서(510) 상의 메모리와 같은 컴퓨터 판독가능 또는 머신 판독가능 매체이다.
고속 컨트롤러(540)는 컴퓨팅 디바이스(500)에 대한 대역폭 집약적 동작들을 관리하는 한편, 저속 컨트롤러(560)는 더 낮은 대역폭 집약적 동작들을 관리한다. 그러한 직무 할당은 단지 예시적인 것이다. 일부 구현들에서, 고속 컨트롤러(540)는 메모리(520), 디스플레이(580)(예를 들어, 그래픽 프로세서 또는 가속기를 통해)에, 그리고 다양한 확장 카드들(도시되지 않음)을 수용할 수도 있는 고속 확장 포트들(550)에 커플링된다. 일부 구현들에서, 저속 컨트롤러(560)는 저장 디바이스(530) 및 저속 확장 포트(590)에 커플링된다. 다양한 통신 포트들(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)을 포함할 수도 있는 저속 확장 포트(590)는 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입/출력 디바이스, 또는 스위치 또는 라우터와 같은 네트워킹 디바이스에, 예를 들어, 네트워크 어댑터를 통해 커플링될 수도 있다.
컴퓨팅 디바이스(500)는 이 도면에 도시된 바와 같이 다수의 상이한 형태들로 구현될 수도 있다. 예를 들어, 그것은 표준 서버(500a)로서 또는 그러한 서버들(500a)의 그룹에서 다수 회, 랩톱 컴퓨터(500b)로서, 또는 랙 서버 시스템(500c)의 일부로서 구현될 수도 있다.
본 명세서에서 설명되는 시스템들 및 기법들의 다양한 구현들은 디지털 전자 및/또는 광학 회로부, 집적 회로부, 특수하게 설계된 ASIC(application specific integrated circuit)들, 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합들로 실현될 수 있다. 이들 다양한 구현들은, 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령어들을 수신하고 이들에게 데이터 및 명령어들을 송신하도록 커플링되는, 특수 목적 또는 범용일 수도 있는 적어도 하나의 프로그래밍가능 프로세서를 포함하는 프로그래밍가능 시스템 상에서 실행가능한 그리고/또는 해석가능한 하나 이상의 컴퓨터 프로그램에서의 구현을 포함할 수 있다.
이들 컴퓨터 프로그램들(프로그램들, 소프트웨어, 소프트웨어 애플리케이션들 또는 코드라고도 또한 알려져 있음)은 프로그래밍가능 프로세서에 대한 머신 명령어들을 포함하고, 고레벨 절차형 및/또는 객체 지향형 프로그래밍 언어로, 그리고/또는 어셈블리/머신 언어로 구현될 수 있다. 본 명세서에서 사용되는 바와 같이, "머신 판독가능 매체" 및 "컴퓨터 판독가능 매체"라는 용어들은, 머신 판독가능 신호로서 머신 명령어들을 수신하는 머신 판독가능 매체를 포함하여, 머신 명령어들 및/또는 데이터를 프로그래밍가능 프로세서에 제공하는 데 사용되는 임의의 컴퓨터 프로그램 제품, 비일시적 컴퓨터 판독가능 매체, 장치 및/또는 디바이스(예를 들어, 자기 디스크들, 광학 디스크들, 메모리, 프로그래밍가능 로직 디바이스(Programmable Logic Device)(PLD)들)를 지칭한다. "머신 판독가능 신호"라는 용어는, 머신 명령어들 및/또는 데이터를 프로그래밍가능 프로세서에 제공하는 데 사용되는 임의의 신호를 지칭한다.
본 명세서에서 설명되는 프로세스들 및 로직 흐름들은, 입력 데이터에 대해 동작하고 출력을 생성함으로써 기능들을 수행하도록 하나 이상의 컴퓨터 프로그램을 실행하는, 데이터 프로세싱 하드웨어라고도 또한 지칭되는 하나 이상의 프로그래밍가능 프로세서에 의해 수행될 수 있다. 프로세스들 및 로직 흐름들은 특수 목적 로직 회로부, 예를 들어, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)에 의해 또한 수행될 수 있다. 컴퓨터 프로그램의 실행에 적합한 프로세서들은, 예로서, 범용 및 특수 목적 양측 모두의 마이크로프로세서들, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 이들 양측 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은, 명령어들을 수행하기 위한 프로세서, 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 또한, 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스들, 예를 들어, 자기, 광자기 디스크들, 또는 광학 디스크들을 포함하거나, 또는 이들로부터 데이터를 수신하거나 또는 이들로 데이터를 전송하기 위해 동작적으로 커플링되거나, 또는 이들 양측 모두로 될 것이다. 그러나, 컴퓨터는 그러한 디바이스들을 가질 필요가 없다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독가능 매체들은, 예로서 반도체 메모리 디바이스들, 예를 들어, EPROM, EEPROM, 및 플래시 메모리 디바이스들; 자기 디스크들, 예를 들어, 내부 하드 디스크들 또는 이동식 디스크들; 광자기 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태들의 비휘발성 메모리, 매체들 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 로직 회로부에 의해 보충되거나 또는 그에 포함될 수 있다.
사용자와의 상호작용을 제공하기 위해, 본 개시내용의 하나 이상의 양태는 정보를 사용자에게 디스플레이하기 위한 디스플레이 디바이스, 예를 들어, CRT(cathode ray tube), LCD(liquid crystal display) 모니터, 또는 터치 스크린, 그리고 임의로 사용자가 컴퓨터에 입력을 제공할 수 있게 하는 키보드 및 포인팅 디바이스, 예를 들어, 마우스 또는 트랙볼을 갖는 컴퓨터 상에서 구현될 수 있다. 다른 종류들의 디바이스들이 또한 사용자와의 상호작용을 제공하는 데 사용될 수 있고; 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백, 예를 들어, 시각 피드백, 청각 피드백, 또는 촉각 피드백일 수 있고; 사용자로부터의 입력은 음향, 음성, 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 부가적으로, 컴퓨터는 사용자에 의해 사용되는 디바이스로 문서들을 전송하고 디바이스로부터 문서들을 수신함으로써; 예를 들어, 웹 브라우저로부터 수신된 요청들에 응답하여 사용자의 클라이언트 디바이스 상의 웹 브라우저에 웹 페이지들을 전송함으로써 사용자와 상호작용할 수 있다.
다수의 구현들이 설명되었다. 그럼에도 불구하고, 본 개시내용의 사상 및 범주로부터 벗어남이 없이 다양한 수정들이 이루어질 수도 있다는 것이 이해될 것이다. 이에 따라, 다른 구현들이 다음의 청구범위의 범주 내에 있다.

Claims (20)

  1. 데이터 프로세싱 하드웨어 상에서 실행될 때 상기 데이터 프로세싱 하드웨어로 하여금 동작들을 수행하게 하는 컴퓨터에 의해 구현되는 방법으로서,
    상기 동작들은:
    발언(utterance)의 지상 실측 전사본(ground-truth transcription)과 페어링(paired)되는 상기 발언에 대응하는 훈련 오디오 데이터(training audio data)를 포함하는 전사된 오디오 훈련 데이터(audio training data)를 수신하는 동작;
    제1 패스(first pass) 동안, 음성 인식 모델(speech recognition model)을 사용하여, 상기 훈련 오디오 데이터를 프로세싱하여 상기 발언에 대한 N개의 후보 가설을 생성하는 동작 - 상기 N개의 후보 가설 중의 각각의 대응하는 후보 가설은 개개의 제1 패스 스코어(pass score)를 가짐 -;
    제2 패스 동안, 상기 N개의 후보 가설의 각각의 대응하는 후보 가설에 대해:
    뉴럴 네트워크 리스코어링 모델(neural network rescoring model)을 사용하여, 상기 대응하는 후보 가설에 대한 상기 개개의 제1 패스 스코어에 기초하여 개개의 제2 패스 스코어를 생성하는 동작; 및
    상기 대응하는 후보 가설과 상기 지상 실측 전사본 사이의 개개의 네거티브 편집 거리에 소프트맥스(Softmax) 함수를 적용하는 동작; 및
    상기 지상 실측 전사본과 상기 N개의 후보 가설 중의 각각의 대응하는 후보 가설 사이의 상기 개개의 네거티브 편집 거리에 적용된 소프트맥스 함수에 기초하여 상기 뉴럴 네트워크 리스코어링 모델의 모델 파라미터들을 최적화하는 동작
    을 포함하는, 컴퓨터에 의해 구현되는 방법.
  2. 제1항에 있어서,
    상기 음성 인식 모델은 순환 뉴럴 네트워크-트랜스듀서(recurrent neural network-transducer)(RNN-T) 아키텍처를 포함하는, 컴퓨터에 의해 구현되는 방법.
  3. 제1항에 있어서,
    상기 N개의 후보 가설 중의 각각의 대응하는 후보 가설은 워드 레이블(word label)들의 개개의 시퀀스를 포함하고, 각각의 워드 레이블은 개개의 임베딩 벡터(embedding vector)에 의해 표현되는, 컴퓨터에 의해 구현되는 방법.
  4. 제1항에 있어서,
    상기 N개의 후보 가설 중의 각각의 대응하는 후보 가설은 서브-워드 레이블들의 개개의 시퀀스를 포함하고, 각각의 서브-워드 레이블은 개개의 임베딩 벡터에 의해 표현되는, 컴퓨터에 의해 구현되는 방법.
  5. 제1항에 있어서,
    상기 제1 패스 동안 상기 음성 인식 모델을 사용하여 생성된 상기 N개의 후보 가설은 후보 가설들 중의 N-최상 리스트를 포함하는, 컴퓨터에 의해 구현되는 방법.
  6. 제1항에 있어서,
    상기 음성 인식 모델은 복수의 콘포머 레이어(conformer layer)들을 갖는 콘포머 인코더를 포함하는 인코더-디코더 아키텍처를 포함하는, 컴퓨터에 의해 구현되는 방법.
  7. 제1항에 있어서,
    상기 음성 인식 모델은 복수의 트랜스포머 레이어(transformer layer)들을 갖는 트랜스포머 인코더를 포함하는 인코더-디코더 아키텍처를 포함하는, 컴퓨터에 의해 구현되는 방법.
  8. 제1항에 있어서,
    상기 동작들은 상기 N개의 후보 가설에 대해 생성된 개개의 제2 패스 스코어들에 기초하여 상기 N개의 후보 가설 중 하나를 상기 발언의 최종 전사본으로서 선택하는 동작을 더 포함하는, 컴퓨터에 의해 구현되는 방법.
  9. 제1항에 있어서,
    상기 뉴럴 네트워크 리스코어링 모델은 언어 특정 뉴럴 네트워크 리스코어링 모델을 포함하는, 컴퓨터에 의해 구현되는 방법.
  10. 제1항에 있어서,
    상기 뉴럴 네트워크 리스코어링 모델은 다언어(multilingual) 뉴럴 네트워크 리스코어링 모델을 포함하는, 컴퓨터에 의해 구현되는 방법.
  11. 시스템으로서,
    데이터 프로세싱 하드웨어; 및
    상기 데이터 프로세싱 하드웨어와 통신하는 메모리 하드웨어
    를 포함하고,
    상기 메모리 하드웨어는, 상기 데이터 프로세싱 하드웨어 상에서 실행될 때 상기 데이터 프로세싱 하드웨어로 하여금 동작들을 수행하게 하는 명령어들을 저장하고,
    상기 동작들은:
    발언(utterance)의 지상 실측 전사본(ground-truth transcription)과 페어링(paired)되는 상기 발언에 대응하는 훈련 오디오 데이터(training audio data)를 포함하는 전사된 오디오 훈련 데이터(audio training data)를 수신하는 동작;
    제1 패스(first pass) 동안, 음성 인식 모델(speech recognition model)을 사용하여, 상기 훈련 오디오 데이터를 프로세싱하여 상기 발언에 대한 N개의 후보 가설을 생성하는 동작 - 상기 N개의 후보 가설 중의 각각의 대응하는 후보 가설은 개개의 제1 패스 스코어(pass score)를 가짐 -;
    제2 패스 동안, 상기 N개의 후보 가설의 각각의 대응하는 후보 가설에 대해:
    뉴럴 네트워크 리스코어링 모델(neural network rescoring model)을 사용하여, 상기 대응하는 후보 가설에 대한 상기 개개의 제1 패스 스코어에 기초하여 개개의 제2 패스 스코어를 생성하는 동작; 및
    상기 대응하는 후보 가설과 상기 지상 실측 전사본 사이의 개개의 네거티브 편집 거리에 소프트맥스(Softmax) 함수를 적용하는 동작; 및
    상기 지상 실측 전사본과 상기 N개의 후보 가설 중의 각각의 대응하는 후보 가설 사이의 상기 개개의 네거티브 편집 거리에 적용된 소프트맥스 함수에 기초하여 상기 뉴럴 네트워크 리스코어링 모델의 모델 파라미터들을 최적화하는 동작
    을 포함하는, 시스템.
  12. 제11항에 있어서,
    상기 음성 인식 모델은 순환 뉴럴 네트워크-트랜스듀서(recurrent neural network-transducer)(RNN-T) 아키텍처를 포함하는, 시스템.
  13. 제11항에 있어서,
    상기 N개의 후보 가설 중의 각각의 대응하는 후보 가설은 워드 레이블(word label)들의 개개의 시퀀스를 포함하고, 각각의 워드 레이블은 개개의 임베딩 벡터(embedding vector)에 의해 표현되는, 시스템.
  14. 제11항에 있어서,
    상기 N개의 후보 가설 중의 각각의 대응하는 후보 가설은 서브-워드 레이블들의 개개의 시퀀스를 포함하고, 각각의 서브-워드 레이블은 개개의 임베딩 벡터에 의해 표현되는, 시스템.
  15. 제11항에 있어서,
    상기 제1 패스 동안 상기 음성 인식 모델을 사용하여 생성된 상기 N개의 후보 가설은 후보 가설들 중의 N-최상 리스트를 포함하는, 시스템.
  16. 제11항에 있어서,
    상기 음성 인식 모델은 복수의 콘포머 레이어(conformer layer)들을 갖는 콘포머 인코더를 포함하는 인코더-디코더 아키텍처를 포함하는, 시스템.
  17. 제11항에 있어서,
    상기 음성 인식 모델은 복수의 트랜스포머 레이어(transformer layer)들을 갖는 트랜스포머 인코더를 포함하는 인코더-디코더 아키텍처를 포함하는, 시스템.
  18. 제11항에 있어서,
    상기 동작들은 상기 N개의 후보 가설에 대해 생성된 개개의 제2 패스 스코어들에 기초하여 상기 N개의 후보 가설 중 하나를 상기 발언의 최종 전사본으로서 선택하는 동작을 더 포함하는, 시스템.
  19. 제11항에 있어서,
    상기 뉴럴 네트워크 리스코어링 모델은 언어 특정 뉴럴 네트워크 리스코어링 모델을 포함하는, 시스템.
  20. 제11항에 있어서,
    상기 뉴럴 네트워크 리스코어링 모델은 다언어(multilingual) 뉴럴 네트워크 리스코어링 모델을 포함하는, 시스템.
KR1020247004805A 2021-03-26 2022-03-22 자동 음성 인식을 위한 다언어 리스코어링 모델들 Active KR102699035B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020247028079A KR102767798B1 (ko) 2021-03-26 2022-03-22 자동 음성 인식을 위한 다언어 리스코어링 모델들

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163166916P 2021-03-26 2021-03-26
US63/166,916 2021-03-26
KR1020237036281A KR102637025B1 (ko) 2021-03-26 2022-03-22 자동 음성 인식을 위한 다언어 리스코어링 모델들
PCT/US2022/021441 WO2022204218A1 (en) 2021-03-26 2022-03-22 Multilingual re-scoring models for automatic speech recognition

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020237036281A Division KR102637025B1 (ko) 2021-03-26 2022-03-22 자동 음성 인식을 위한 다언어 리스코어링 모델들

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020247028079A Division KR102767798B1 (ko) 2021-03-26 2022-03-22 자동 음성 인식을 위한 다언어 리스코어링 모델들

Publications (2)

Publication Number Publication Date
KR20240024345A KR20240024345A (ko) 2024-02-23
KR102699035B1 true KR102699035B1 (ko) 2024-08-27

Family

ID=81384949

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020247004805A Active KR102699035B1 (ko) 2021-03-26 2022-03-22 자동 음성 인식을 위한 다언어 리스코어링 모델들
KR1020247028079A Active KR102767798B1 (ko) 2021-03-26 2022-03-22 자동 음성 인식을 위한 다언어 리스코어링 모델들
KR1020237036281A Active KR102637025B1 (ko) 2021-03-26 2022-03-22 자동 음성 인식을 위한 다언어 리스코어링 모델들

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020247028079A Active KR102767798B1 (ko) 2021-03-26 2022-03-22 자동 음성 인식을 위한 다언어 리스코어링 모델들
KR1020237036281A Active KR102637025B1 (ko) 2021-03-26 2022-03-22 자동 음성 인식을 위한 다언어 리스코어링 모델들

Country Status (6)

Country Link
US (3) US12080283B2 (ko)
EP (2) EP4488993A3 (ko)
JP (2) JP7626871B2 (ko)
KR (3) KR102699035B1 (ko)
CN (1) CN117378005A (ko)
WO (1) WO2022204218A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12080283B2 (en) * 2021-03-26 2024-09-03 Google Llc Multilingual re-scoring models for automatic speech recognition
US12249336B2 (en) * 2021-06-29 2025-03-11 Microsoft Technology Licensing, Llc Canonical training for highly configurable multilingual speech
KR20230106414A (ko) * 2022-01-06 2023-07-13 한국전자통신연구원 문맥 기반 자동 통역 성능 향상 장치 및 방법

Family Cites Families (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5477451A (en) * 1991-07-25 1995-12-19 International Business Machines Corp. Method and system for natural language translation
US5689616A (en) * 1993-11-19 1997-11-18 Itt Corporation Automatic language identification/verification system
US5745649A (en) * 1994-07-07 1998-04-28 Nynex Science & Technology Corporation Automated speech recognition using a plurality of different multilayer perception structures to model a plurality of distinct phoneme categories
US5677990A (en) * 1995-05-05 1997-10-14 Panasonic Technologies, Inc. System and method using N-best strategy for real time recognition of continuously spelled names
US5737489A (en) * 1995-09-15 1998-04-07 Lucent Technologies Inc. Discriminative utterance verification for connected digits recognition
US6856956B2 (en) * 2000-07-20 2005-02-15 Microsoft Corporation Method and apparatus for generating and displaying N-best alternatives in a speech recognition system
US6985862B2 (en) * 2001-03-22 2006-01-10 Tellme Networks, Inc. Histogram grammar weighting and error corrective training of grammar weights
US8234115B2 (en) * 2002-03-29 2012-07-31 At&T Intellectual Property Ii, L.P. Systems and methods for determining the N-best strings
US7756710B2 (en) * 2006-07-13 2010-07-13 Sri International Method and apparatus for error correction in speech recognition applications
JP4568371B2 (ja) * 2006-11-16 2010-10-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 少なくとも2つのイベント・クラス間を区別するためのコンピュータ化された方法及びコンピュータ・プログラム
KR101415534B1 (ko) * 2007-02-23 2014-07-07 삼성전자주식회사 다단계 음성인식장치 및 방법
KR101134467B1 (ko) * 2009-07-27 2012-04-13 한국전자통신연구원 의미 표현 처리 장치 및 그 방법
US8639508B2 (en) * 2011-02-14 2014-01-28 General Motors Llc User-specific confidence thresholds for speech recognition
US9159317B2 (en) * 2013-06-14 2015-10-13 Mitsubishi Electric Research Laboratories, Inc. System and method for recognizing speech
EP3100174A1 (de) * 2014-01-28 2016-12-07 Somol Zorzin GmbH Verfahren zur automatischen sinnerkennung und messung der eindeutigkeit von text
US9589562B2 (en) * 2014-02-21 2017-03-07 Microsoft Technology Licensing, Llc Pronunciation learning through correction logs
US10282469B2 (en) * 2014-03-25 2019-05-07 Oath Inc. System and method for summarizing a multimedia content item
US9971765B2 (en) * 2014-05-13 2018-05-15 Nuance Communications, Inc. Revising language model scores based on semantic class hypotheses
US9715875B2 (en) * 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US20170011735A1 (en) * 2015-07-10 2017-01-12 Electronics And Telecommunications Research Institute Speech recognition system and method
KR20170083850A (ko) * 2016-01-11 2017-07-19 한국전자통신연구원 심층신경망 기반 언어모델 보간을 이용한 음성인식 리스코어링 시스템
US10176799B2 (en) * 2016-02-02 2019-01-08 Mitsubishi Electric Research Laboratories, Inc. Method and system for training language models to reduce recognition errors
US10460732B2 (en) * 2016-03-31 2019-10-29 Tata Consultancy Services Limited System and method to insert visual subtitles in videos
JP6727607B2 (ja) * 2016-06-09 2020-07-22 国立研究開発法人情報通信研究機構 音声認識装置及びコンピュータプログラム
US10403268B2 (en) * 2016-09-08 2019-09-03 Intel IP Corporation Method and system of automatic speech recognition using posterior confidence scores
US11182665B2 (en) * 2016-09-21 2021-11-23 International Business Machines Corporation Recurrent neural network processing pooling operation
US10949736B2 (en) * 2016-11-03 2021-03-16 Intel Corporation Flexible neural network accelerator and methods therefor
US10121494B1 (en) * 2017-03-30 2018-11-06 Amazon Technologies, Inc. User presence detection
DK201770383A1 (en) * 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10867595B2 (en) * 2017-05-19 2020-12-15 Baidu Usa Llc Cold fusing sequence-to-sequence models with language models
CN110663079A (zh) * 2017-05-24 2020-01-07 乐威指南公司 基于语音纠正使用自动语音识别生成的输入的方法和系统
US10515637B1 (en) * 2017-09-19 2019-12-24 Amazon Technologies, Inc. Dynamic speech processing
EP3488354B1 (en) * 2017-10-12 2022-04-20 Google LLC Determining state of automated assistant dialog
US20190147855A1 (en) * 2017-11-13 2019-05-16 GM Global Technology Operations LLC Neural network for use in speech recognition arbitration
US10650811B2 (en) * 2018-03-13 2020-05-12 Microsoft Technology Licensing, Llc Correction of speech recognition on repetitive queries
US10210860B1 (en) * 2018-07-27 2019-02-19 Deepgram, Inc. Augmented generalized deep learning with special vocabulary
US11107463B2 (en) * 2018-08-01 2021-08-31 Google Llc Minimum word error rate training for attention-based sequence-to-sequence models
US11238845B2 (en) * 2018-11-21 2022-02-01 Google Llc Multi-dialect and multilingual speech recognition
KR20200059703A (ko) 2018-11-21 2020-05-29 삼성전자주식회사 음성 인식 방법 및 음성 인식 장치
US11170789B2 (en) * 2019-04-16 2021-11-09 Microsoft Technology Licensing, Llc Attentive adversarial domain-invariant training
US11270687B2 (en) 2019-05-03 2022-03-08 Google Llc Phoneme-based contextualization for cross-lingual speech recognition in end-to-end models
US11468244B2 (en) 2019-05-28 2022-10-11 Google Llc Large-scale multilingual speech recognition with a streaming end-to-end model
KR102281515B1 (ko) * 2019-07-23 2021-07-26 엘지전자 주식회사 개인화 언어 모델을 이용하여 사용자의 음성을 인식하는 인공 지능 장치 및 그 방법
US11232786B2 (en) * 2019-11-27 2022-01-25 Disney Enterprises, Inc. System and method to improve performance of a speech recognition system by measuring amount of confusion between words
US11756538B1 (en) * 2019-12-10 2023-09-12 Amazon Technologies, Inc. Lower latency speech processing
US11380308B1 (en) * 2019-12-13 2022-07-05 Amazon Technologies, Inc. Natural language processing
EP4414896A3 (en) * 2020-01-21 2024-10-16 Google Llc Deliberation model-based two-pass end-to-end speech recognition
WO2021154520A1 (en) * 2020-01-28 2021-08-05 Google Llc Proper noun recognition in end-to-end speech recognition
US20210298711A1 (en) * 2020-03-25 2021-09-30 Applications Technology (Apptek), Llc Audio biomarker for virtual lung function assessment and auscultation
US12020693B2 (en) * 2020-04-29 2024-06-25 Samsung Electronics Co., Ltd. System and method for out-of-vocabulary phrase support in automatic speech recognition
US20210406463A1 (en) * 2020-06-25 2021-12-30 ANI Technologies Private Limited Intent detection from multilingual audio signal
US11315545B2 (en) * 2020-07-09 2022-04-26 Raytheon Applied Signal Technology, Inc. System and method for language identification in audio data
US20220051588A1 (en) * 2020-08-17 2022-02-17 Thomas David Kehoe Technology to Train Speech Perception and Pronunciation for Second-Language Acquisition
US11727926B1 (en) * 2020-09-18 2023-08-15 Amazon Technologies, Inc. Systems and methods for noise reduction
WO2022076029A1 (en) 2020-10-05 2022-04-14 Google Llc Transformer transducer: one model unifying streaming and non-streaming speech recognition
US11521616B2 (en) * 2020-10-13 2022-12-06 Merlin Labs, Inc. System and/or method for semantic parsing of air traffic control audio
CN116457770A (zh) * 2020-10-13 2023-07-18 梅林实验室公司 用于空中交通管制音频的语义解析的系统和/或方法
US20220188361A1 (en) * 2020-12-11 2022-06-16 Meta Platforms, Inc. Voice-based Auto-Completions and Auto-Responses for Assistant Systems
US11610586B2 (en) 2021-02-23 2023-03-21 Google Llc Learning word-level confidence for subword end-to-end automatic speech recognition
US11715458B2 (en) * 2021-03-23 2023-08-01 Google Llc Efficient streaming non-recurrent on-device end-to-end model
US11942094B2 (en) * 2021-03-24 2024-03-26 Google Llc Hybrid multilingual text-dependent and text-independent speaker verification
CN117099157A (zh) * 2021-03-26 2023-11-21 谷歌有限责任公司 用于端到端自动语音识别置信度和删除估计的多任务学习
US12080283B2 (en) * 2021-03-26 2024-09-03 Google Llc Multilingual re-scoring models for automatic speech recognition

Also Published As

Publication number Publication date
EP4488993A2 (en) 2025-01-08
JP7626871B2 (ja) 2025-02-04
EP4488993A3 (en) 2025-04-02
KR102637025B1 (ko) 2024-02-16
US12080283B2 (en) 2024-09-03
JP2024050983A (ja) 2024-04-10
US20240420692A1 (en) 2024-12-19
US20220310081A1 (en) 2022-09-29
CN117378005A (zh) 2024-01-09
EP4295362A1 (en) 2023-12-27
WO2022204218A1 (en) 2022-09-29
KR20230152170A (ko) 2023-11-02
KR20240024345A (ko) 2024-02-23
KR102767798B1 (ko) 2025-02-17
JP2024512071A (ja) 2024-03-18
US20240203409A1 (en) 2024-06-20
US12254875B2 (en) 2025-03-18
EP4295362B1 (en) 2024-12-18
KR20240130833A (ko) 2024-08-29

Similar Documents

Publication Publication Date Title
US11741947B2 (en) Transformer transducer: one model unifying streaming and non-streaming speech recognition
KR20230147685A (ko) 서브 워드 엔드-투-엔드 자동 스피치 인식을 위한 워드 레벨 신뢰도 학습
JP7351018B2 (ja) エンド・ツー・エンド音声認識における固有名詞認識
KR102699035B1 (ko) 자동 음성 인식을 위한 다언어 리스코어링 모델들
US12051404B2 (en) Efficient streaming non-recurrent on-device end-to-end model
KR20230086737A (ko) 단순화된 스트리밍 및 비스트리밍 스피치 인식을 위한 캐스케이드 인코더들
CN115004296A (zh) 基于审议模型的两轮端到端言语辨识
US11594212B2 (en) Attention-based joint acoustic and text on-device end-to-end model
US12057124B2 (en) Reducing streaming ASR model delay with self alignment
EP4405938A1 (en) Training for long-form speech recognition
WO2024129789A1 (en) Semi-supervised training scheme for speech recognition
KR20250028493A (ko) 전사된 음성 데이터 없이 정렬된 텍스트 및 음성 표현을 사용하여 자동 음성 인식 모델 트레이닝
CN119547136A (zh) 用于罕见词语音辨识的场境感知神经置信度估计
KR20240068723A (ko) Rnn-T로 구현된 자동 음성 인식 시스템에서 음향과 텍스트 표현의 융합
JP2024536388A (ja) 非自己回帰デコーディングによるストリーミングrnnトランスデューサの検討

Legal Events

Date Code Title Description
A107 Divisional application of patent
PA0104 Divisional application for international application

Comment text: Divisional Application for International Patent

Patent event code: PA01041R01D

Patent event date: 20240208

Application number text: 1020237036281

Filing date: 20231023

PA0201 Request for examination
PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20240520

A107 Divisional application of patent
GRNT Written decision to grant
PA0104 Divisional application for international application

Comment text: Divisional Application for International Patent

Patent event code: PA01041R01D

Patent event date: 20240821

Application number text: 1020237036281

Filing date: 20231023

PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20240821

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20240822

End annual number: 3

Start annual number: 1

PG1601 Publication of registration