KR20220008309A - 음성 인식을 위한 종단 간 모델과 함께 컨텍스트 정보 사용 - Google Patents

음성 인식을 위한 종단 간 모델과 함께 컨텍스트 정보 사용 Download PDF

Info

Publication number
KR20220008309A
KR20220008309A KR1020217040648A KR20217040648A KR20220008309A KR 20220008309 A KR20220008309 A KR 20220008309A KR 1020217040648 A KR1020217040648 A KR 1020217040648A KR 20217040648 A KR20217040648 A KR 20217040648A KR 20220008309 A KR20220008309 A KR 20220008309A
Authority
KR
South Korea
Prior art keywords
context
fst
utterance
data
scores
Prior art date
Application number
KR1020217040648A
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 KR20220008309A publication Critical patent/KR20220008309A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • G06F18/2113Selection of the most significant subset of features by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/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
    • 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/193Formal grammars, e.g. finite state automata, context free grammars or word 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
    • 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
    • G10L2015/085Methods for reducing search complexity, pruning
    • 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
    • G10L2015/088Word spotting
    • 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
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

방법(500)은 발화(120)를 인코딩하는 오디오 데이터(125)를 수신하는 단계와; 음성 인식 모델(220)을 사용하여, 음성 요소들에 대한 음성 인식 점수들(145)을 생성하기 위해 상기 오디오 데이터를 처리하는 단계와; 상기 발화(120)에 대한 문맥(122)을 나타내는 문맥 데이터에 기초하여 상기 음성 요소들에 대한 문맥 점수들(166)을 결정하는 단계를 포함한다. 상기 방법은 또한 상기 음성 인식 점수들 및 상기 문맥 점수들을 사용하여, 상기 발화에 대한 하나 이상의 후보 전사를 결정하기 위해 빔 탐색 디코딩 프로세스(180)를 실행하는 단계를 포함한다. 상기 방법은 또한 상기 하나 이상의 후보 전사로부터 상기 발화에 대한 전사(185)를 선택하는 단계를 포함한다.

Description

음성 인식을 위한 종단 간 모델과 함께 컨텍스트 정보 사용
본 발명은 음성 인식을 위한 종단 간 모델과 함께 컨텍스트 정보를 사용하는 것에 관한 것이다.
자동 음성 인식(ASR) 시스템에서는 사람들이 말할 수 있는 단어가 매우 다양하고 악센트와 발음이 다양하기 때문에 음성의 문맥을 인식하는 것은 어려운 일이다. 많은 경우들에서, 사람이 말하는 단어들 및 문구들의 유형은 그 사람이 처한 상황에 따라 다르다.
문맥상 자동 음성 인식(ASR)에는 사용자 자신의 재생 목록, 연락처 또는 지리적 장소 이름과 같은 특정 문맥에 대한 음성 인식 편향이 포함된다. 문맥 정보에는 일반적으로 인식할 관련 문구 목록이 포함되며, 여기에는 종종 드문 문구 또는 훈련에서 드물게 보이는 외래어도 포함된다. 문맥 편향을 수행하려면, 기존의 ASR 시스템은 때때로 n-그램 가중 유한 상태 변환기(WFST)를 사용하여 독립적인 상황 언어 모델(LM)에서 상황 정보를 모델링하고 그리고 즉석(OTF) 재채점을 위한 기준선 LM을 사용하여 독립적인 상황별 LM을 구성한다.
최근 E2E(end-to-end) 모델은 기존의 온디바이스 모델에 비해 개선된 단어 오류율(WER) 및 대기 시간 메트릭을 나타내는 ASR에 대한 큰 가능성을 보여주고 있다. 음성-텍스트 매핑을 직접 학습하기 위해 음향 모델(AM), 발음 모델(PM), LM을 단일 네트워크로 접는 이러한 E2E 모델은 별도의 AM, PM 및 LM이 있는 기존 ASR 시스템과 비교하여 경쟁력 있는 결과를 보여 주었다. 대표적인 E2E 모델에는 단어 기반 연결주의자 시간 분류(CTC) 모델, 순환 신경망 변환기(RNN-T) 모델, 듣기, 출석 및 철자법(LAS)과 같은 주의 기반 모델이 있다.
E2E 모델은 빔 탐색 디코딩 동안 제한된 수의 인식 후보를 유지하기 때문에 문맥 ASR은 E2E 모델에 대해 어려울 수 있다. E2E 자소 전용 모델 및 E2E 단어 조각 전용 모델이 OOV(out-of-vocabulary) 단어, 특히 훈련에서 거의 볼 수 없는 단어 클래스를 스펠링하는 것은 특히 어려울 수 있다.
본 명세서의 구현들은 다양한 유형들의 문맥 정보를 사용하여 발화가 말해졌던 현재 문맥과 가장 관련이 있을 가능성이 있는 단어 및 문구들로 음성 인식을 편향시키는 편향 기술을 적용하는 자동 음성 인식(ASR) 시스템에 관한 것이다. 문맥들 중 하나가 감지되면, ASR 시스템은 연관된 단어 세트를 사용하여 해당 단어의 인식을 향상시킨다. 편향 기술은 음향 모델, 발음 모델 및 언어 모델의 기능을 단일 통합 모델로 통합하는 신경망 모델과 같은 종단 간 모델과 함께 사용할 수 있다. 여기에 논의된 다양한 기술들은 종단 간 모델의 문맥적 편향을 개선하고 종단 간 모델로 편향을 구현할 때 발생하는 문제를 해결할 수 있다.
사용자의 노래 이름, 애플리케이션 이름 또는 연락처 이름과 같은 특정 도메인에 대한 문맥적 편향은 ASR 시스템의 정확도를 크게 향상시킬 수 있다. 종단 간 모델을 사용하면 문맥적 편향이 어려울 수 있는데, 이러한 모델은 빔 검색 중에 작은 후보 목록만 유지하는 경우가 많기 때문이다. 많은 종단 간 모델은 또한 편향 문구의 가장 일반적인 소스인 고유명사를 인식하는 데 상대적으로 정확도가 낮다.
종단 간 모델에 문맥적 지식을 통합하는 것은 다양한 이유로 어려울 수 있다. 첫째, 신경망 모델은 음향, 발음 및 언어 결합 모델로 훈련되기 때문에 일반적으로 기존 언어 모델보다 훨씬 적은 텍스트 데이터로 훈련된다. 기존 언어 모델은 모든 소스의 텍스트를 사용하여 학습할 수 있지만 해당 오디오 데이터를 사용할 수 없는 경우에도, 종단 간 모델은 일반적으로 쌍을 이루는 텍스트 및 해당 오디오 데이터로 훈련되며, 이는 순수 텍스트보다 덜 다양하고 얻기가 더 어렵다. 그 결과 모델이 더 적은 수의 고유 명사 예제로 훈련되고 고유 명사의 정확도가 낮아진다. 특정 컨텍스트와 관련된 많은 n-그램은 고유명사이며 편향 없이 모델이 이러한 문맥 관련 n-그램을 예측하기 어렵다. 둘째, 효율적인 디코딩을 위해 종단 간 모델은 일반적으로 빔 검색의 각 단계에서 후보 전사를 위한 검색 공간을 소수의 후보로 정리해야 한다. 결과적으로, 전통적인 종단 간 모델에서 이러한 푸르닝 프로세스는 종종 희귀 단어와 문구를 조기에 정리하게 하여 후보 전사 세트에서 생략된다.
종단 간 모델의 출력을 디코딩하는 프로세스에 문맥적 지식을 통합하면 종단간 모델을 사용하여 음성 인식의 정확도를 향상시킬 수 있다. 아래에서 더 자세히 설명되는 바와 같이, 문맥 정보를 디코딩 프로세스에 통합하는 것은 모델로부터의 문맥 정보 및 출력(예: 가능한 음성 인식 가설에 대한 확률 분포)을 격자로 선택적으로 통합하는 것을 포함할 수 있다. 문맥 정보를 사용할지 여부와 사용할 문맥 정보를 결정하는 것은 발화된 문맥 또는 기타 요소를 기반으로 한다.
단어 전체가 아닌 하위 단어 단위 수준(예: 개별 자소 또는 단어 조각)에서 편향을 수행하면 종단 간 모델을 사용하여 상황별 편향을 더욱 개선할 수 있다. 이것은 단어가 완료된 후 단순히 편향하는 것보다 초기 자소 또는 대상 단어의 단어 단위를 편향함으로써 정확도를 크게 향상시킬 수 있다. 일부 종단 간 모델에서 모델이 수행하는 디코딩 프로세스는 처음 몇 개의 자소 또는 단어 조각만 고려한 후 고유 명사와 같은 일반적이지 않은 단어를 고려 대상에서 신속하게 제거한다(예: 빔 검색 중 가지치기를 통해). 단어 수준 편향을 사용하면 이 상황으로 인해 단어가 완료되기 전에 고려 대상에서 단어가 제거될 수 있으므로 편향이 발생할 기회가 없다. 대조적으로, 단어를 구성하는 하위 단어 단위에 대한 점수를 높여 단어를 편향하면 단어의 초기 부분에서 점수를 높일 수 있으므로 편향에 의해 제공되는 향상은 단어를 후보 전사로 유지한다. 또한, 빔 프루닝 이후가 아닌 빔 프루닝 전에 음성 인식 점수를 조정하여 디코딩 프로세스 초기에 문맥 편향을 적용하는 것은, 편향 프로세스가 적용되기 전에 푸르닝으로 인해 제거되지 않고 대상 단어가 적절하게 고려되도록 할 수 있다.
전반적인 인식 정확도를 더욱 향상시키기 위해 ASR 시스템은 편향을 수행할 때 접두사 단어와 문구를 고려할 수도 있다. 특정 단어와 문구는 종종 특정 유형의 단어를 포함하는 문장 앞에 온다. 예를 들어, 사용자가 장치에 명령을 제공할 때 "call"이라는 단어는 사람 이름 앞에 자주 등장하고 "play"라는 단어는 사용자 컬렉션에 있는 노래와 같은 미디어 항목 이름 앞에 오는 경우가 많다. ASR 시스템은 접두사 감지를 사용하여 인식 정확도를 향상시킬 수 있다. 예를 들어 알려진 접두사가 있으면 인식이 특정 유형의 단어에 편중되어야 한다는 추가적인 확신을 주기 때문이다. 또한, 일부 구현에서 편향은 적절한 접두사가 감지된 경우에만 적용될 수 있으므로 편향이 일반적인 단어 인식을 방해하거나 정확도를 저하시키지 않는다. 결과적으로 문맥적 편향이 문맥 종속 방식으로 가능성이 높아진 특정 단어 및 문구에 대한 인식 정확도를 개선하더라도 모델의 일반 어휘에 대해 높은 인식 정확도를 유지할 수 있다.
고유 명사의 모델링을 개선하기 위해 다양한 기술을 사용할 수도 있다. 이러한 기술 중 일부는 대량의 텍스트 전용 데이터를 활용할 수 있다. 예를 들어, 훈련을 위해 시스템은 고유명사 텍스트 전용 쿼리를 많이 얻거나 생성한 다음 해당 음성을 합성할 수 있다. 시스템은 오디오를 나타내는 많은 양의 감독되지 않은 데이터와 해당 텍스트 데이터를 활용할 수 있으며, 데이터를 고유 명사로 유지하도록 필터링된다. 또 다른 예로서, 시스템은 더 고유한 명사 예를 생성하기 위해 또는 "fuzz" 훈련 데이터 기록의 변형을 생성할 수 있다.
본 발명의 일 양태는 음성을 전사하기 위해 문맥적 편향 사용하기 위한 방법을 제공한다. 상기 방법은, 데이터 처리 하드웨어에서, 발화를 인코딩하는 오디오 데이터를 수신하는 단계와; 상기 데이터 처리 하드웨어에서, 음성 인식 모델을 사용하여, 음성 요소들에 대한 음성 인식 점수들을 생성하기 위해 상기 오디오 데이터를 처리하는 단계를 포함한다. 상기 방법은 또한 상기 데이터 처리 하드웨어에 의해, 상기 발화에 대한 문맥을 나타내는 문맥 데이터에 기초하여 상기 음성 요소들에 대한 문맥 점수들을 결정하는 단계를 포함한다. 상기 방법은, 상기 데이터 처리 하드웨어에 의해, 상기 음성 인식 점수들 및 상기 문맥 점수들을 사용하여, 상기 발화에 대한 하나 이상의 후보 전사를 결정하기 위해 빔 탐색 디코딩 프로세스를 실행하는 단계와; 그리고 상기 데이터 처리 하드웨어에 의해, 상기 하나 이상의 후보 전사로부터 상기 발화에 대한 전사를 선택하는 단계를 더 포함한다.
본 발명의 구현들은 다음의 선택적인 특징들 중 하나 이상을 포함할 수 있다. 일부 구현들에서, 상기 빔 탐색 디코딩 프로세스의 실행 동안, 상기 문맥 점수는 평가로부터 하나 이상의 후보 전사 중 하나를 프루닝하기 전에 상기 하나 이상의 후보 전사의 가능성을 조정하도록 구성된다. 추가 구현들에서, 상기 빔 탐색 디코딩 프로세스를 실행하는 단계는, 상기 발화에 대한 하나 이상의 후보 전사를 결정하기 위해 음성 인식 격자를 통해 경로들을 프루닝하기 위해 상기 문맥 점수들을 사용하는 단계를 포함한다. 일부 예들에서, 상기 방법은, 또한, 상기 데이터 처리 하드웨어에 의해, 상기 문맥 데이터에 기초하여 상기 발화에 대한 특정 문맥을 식별하는 단계를 포함한다. 이 예들에서, 상기 음성 요소들에 대한 문맥 점수들을 결정하는 단계는 상기 식별된 특정 문맥에 기초한다. 이 예들에서, 상기 음성 요소들에 대한 문맥 점수들을 결정하는 단계는, 문맥 유한 상태 변환기(FST; finite-state transducer)를 사용하여 상기 음성 요소들에 대한 문맥 점수들을 결정하고, 상기 문맥 FST는 상기 특정 문맥에 대응한다.
일부 구현들에서, 상기 방법은, 상기 발화를 인코딩하는 오디오 데이터를 수신하기 전에, 상기 데이터 처리 하드웨어에 의해, 상기 발화를 말한 사용자의 개인화된 데이터 수집에서 각각이 상이한 세트의 단어들 또는 구들을 나타내는 복수의 문맥 FST들을 생성하는 단계와; 그리고 상기 데이터 처리 하드웨어에 의해, 상기 데이터 처리 하드웨어와 통신하는 메모리 하드웨어에 복수의 문맥 FST들을 저장하는 단계를 더 포함한다. 여기에서, 상기 복수의 문맥 FST들 내의 각 문맥 FST는 상이한 특정 문맥에 대응한다. 이러한 구현들에서, 상기 개인화된 데이터 수집은 상기 사용자에 대한 연락처 목록, 및/또는 상기 사용자를 위한 미디어 라이브러리, 및/또는 상기 사용자와 연관된 사용자 장치에 설치된 애플리케이션들의 목록을 포함한다. 이러한 구현들에서, 상기 방법은, 상기 복수의 문맥 FST들 내의 적어도 하나의 문맥 FST 각각에 대해, 상기 데이터 처리 하드웨어에 의해, 대응하는 문맥 FST의 상이한 특정 문맥에 각각 대응하는 하나 이상의 접두사(prefix)의 세트를 포함하는 대응하는 접두사 FST를 생성하는 단계와; 그리고 상기 데이터 처리 하드웨어에 의해, 복수의 문맥 FST들 내의 적어도 하나의 문맥 FST에 대해 생성된 상기 대응하는 접두사 FST를 저장하는 단계를 더 포함할 수 있다. 이러한 구현들에서, 상기 방법은, 상기 데이터 처리 하드웨어에 의해, 상기 발화에 대한 예비 전사가 상기 대응하는 접두사 FST의 하나 이상의 접두사 중 하나를 포함한다고 결정하는 단계와; 그리고 상기 데이터 처리 하드웨어에 의해, 상기 예비 전사에 포함된 하나 이상의 접두사 중 하나를 포함하는 접두사 FST에 대응하는 상기 문맥 FST를 선택적으로 활성화하는 단계를 더 포함할 수 있다. 여기서, 상기 음성 요소들에 대한 문맥 점수들을 결정하는 단계는 상기 선택적으로 활성화된 문맥 FST에 기초한다.
일부 예들에서, 상기 데이터 처리 하드웨어는 상기 발화를 말한 사용자와 연관된 사용자 장치에 상주하고, 그리고 상기 음성 인식 모델을 실행한다. 일부 구현들에서, 상기 음성 인식 모델은 종단 간 음성 인식 모델(end-to-end speech recognition model)을 포함한다. 예를 들어, 상기 종단 간 음성 인식 모델은 순환 신경망 변환기(RNN-T; recurrent neural network-transducer)를 포함할 수 있다.
일부 예들에서, 상기 방법은, 상기 데이터 처리 하드웨어에 의해, 상기 발화에 대한 예비 전사는 상기 발화에 대한 문맥에 대응하는 접두사 요소를 나타내는 단어를 포함함을 결정하는 단계를 더 포함한다. 이러한 예들에서, 상기 음성 요소들에 대한 문맥 점수들을 결정하는 단계는, 상기 발화에 대한 예비 전사가 상기 발화에 대한 문맥에 대응하는 접두사 요소를 나타내는 단어를 포함함을 결정하는 것에 기초한다. 추가 예들에서, 상기 문맥에 기초하여 상기 음성 요소들에 대한 문맥 점수들을 결정하는 단계는, 하위 단어 단위들을 나타내는 요소들을 사용하여 문맥 용어들을 나타내는 문맥 FST를 사용함으로써 상기 문맥 점수들을 결정하는 단계를 포함한다. 이러한 예들에서, 상기 문맥 FST는, 문맥 용어의 하위 단어 단위들 사이의 각각의 전환을 편향(bias)하도록 구성된 전환 가중치; 및 상기 전환 가중치의 편향 효과를 취소하도록 구성된 오프셋 가중치들을 갖는 백오프 아크들을 포함한다. 상기 음성 요소는 단어 조각들(wordpieces) 또는 자소들(graphemes)을 포함한다.
본 발명의 다른 양태는 음성을 전사하기 위해 문맥 편향을 사용하기 위한 시스템을 제공한다. 시스템은 데이터 처리 하드웨어; 및 상기 데이터 처리 하드웨어와 통신하는 메모리 하드웨어를 포함한다. 상기 메모리 하드웨어는 명령어들을 저장하고, 상기 명령어들은 상기 데이터 처리 하드웨어 상에서 실행될 때 상기 데이터 처리 하드웨어로 하여금 동작들을 수행하게 하며, 동작들은, 발화를 인코딩하는 오디오 데이터를 수신하는 단계와; 음성 인식 모델을 사용하여, 음성 요소들에 대한 음성 인식 점수들을 생성하기 위해 상기 오디오 데이터를 처리하는 단계를 포함한다. 상기 동작들은 또한 상기 발화에 대한 문맥을 나타내는 문맥 데이터에 기초하여 상기 음성 요소들에 대한 문맥 점수들을 결정하는 단계를 포함한다. 상기 동작들은, 상기 음성 인식 점수들 및 상기 문맥 점수들을 사용하여, 상기 발화에 대한 하나 이상의 후보 전사를 결정하기 위해 빔 탐색 디코딩 프로세스를 실행하는 단계와; 그리고 상기 데이터 처리 하드웨어에 의해, 상기 하나 이상의 후보 전사로부터 상기 발화에 대한 전사를 선택하는 단계를 더 포함한다.
본 발명의 구현들은 다음의 선택적인 특징들 중 하나 이상을 포함할 수 있다. 일부 구현들에서, 상기 빔 탐색 디코딩 프로세스의 실행 동안, 상기 문맥 점수는 평가로부터 하나 이상의 후보 전사 중 하나를 프루닝하기 전에 상기 하나 이상의 후보 전사의 가능성을 조정하도록 구성된다. 추가 구현들에서, 상기 빔 탐색 디코딩 프로세스를 실행하는 단계는, 상기 발화에 대한 하나 이상의 후보 전사를 결정하기 위해 음성 인식 격자를 통해 경로들을 프루닝하기 위해 상기 문맥 점수들을 사용하는 단계를 포함한다. 상기 동작들은, 또한, 상기 문맥 데이터에 기초하여 상기 발화에 대한 특정 문맥을 식별하는 단계를 포함하고, 여기서 상기 음성 요소들에 대한 문맥 점수들을 결정하는 단계는 상기 식별된 특정 문맥에 기초한다. 추가로, 상기 음성 요소들에 대한 문맥 점수들을 결정하는 단계는, 문맥 유한 상태 변환기(FST; finite-state transducer)를 사용하여 상기 음성 요소들에 대한 문맥 점수들을 결정하고, 상기 문맥 FST는 상기 특정 문맥에 대응한다.
일부 구현들에서, 상기 동작들은, 상기 발화를 인코딩하는 오디오 데이터를 수신하기 전에, 상기 발화를 말한 사용자의 개인화된 데이터 수집에서 각각이 상이한 세트의 단어들 또는 구들을 나타내는 복수의 문맥 FST들을 생성하는 단계와; 그리고 상기 데이터 처리 하드웨어와 통신하는 메모리 하드웨어에 복수의 문맥 FST들을 저장하는 단계를 더 포함한다. 여기에서, 상기 복수의 문맥 FST들 내의 각 문맥 FST는 상이한 특정 문맥에 대응한다. 이러한 예들에서, 상기 개인화된 데이터 수집은 상기 사용자에 대한 연락처 목록, 및/또는 상기 사용자를 위한 미디어 라이브러리, 및/또는 상기 사용자와 연관된 사용자 장치에 설치된 애플리케이션들의 목록을 포함한다. 이러한 예들에서, 상기 동작들은, 상기 복수의 문맥 FST들 내의 적어도 하나의 문맥 FST 각각에 대해, 대응하는 문맥 FST의 상이한 특정 문맥에 각각 대응하는 하나 이상의 접두사(prefix)의 세트를 포함하는 대응하는 접두사 FST를 생성하는 단계와; 그리고 상기 데이터 처리 하드웨어에 의해, 복수의 문맥 FST들 내의 적어도 하나의 문맥 FST에 대해 생성된 상기 대응하는 접두사 FST를 저장하는 단계를 더 포함할 수 있다. 이러한 예들에서, 상기 동작들은, 상기 발화에 대한 예비 전사가 상기 대응하는 접두사 FST의 하나 이상의 접두사 중 하나를 포함한다고 결정하는 단계와; 그리고 상기 예비 전사에 포함된 하나 이상의 접두사 중 하나를 포함하는 접두사 FST에 대응하는 상기 문맥 FST를 선택적으로 활성화하는 단계를 더 포함할 수 있다. 여기서, 상기 음성 요소들에 대한 문맥 점수들을 결정하는 단계는 상기 선택적으로 활성화된 문맥 FST에 기초한다.
일부 구현들에서, 상기 데이터 처리 하드웨어는 상기 발화를 말한 사용자와 연관된 사용자 장치에 상주하고, 그리고 상기 음성 인식 모델을 실행한다. 상기 음성 인식 모델은 종단 간 음성 인식 모델(end-to-end speech recognition model)을 포함한다. 예를 들어, 상기 종단 간 음성 인식 모델은 순환 신경망 변환기(RNN-T; recurrent neural network-transducer)를 포함할 수 있다.
일부 예들에서, 상기 동작들은, 상기 발화에 대한 예비 전사는 상기 발화에 대한 문맥에 대응하는 접두사 요소를 나타내는 단어를 포함함을 결정하는 단계를 더 포함한다. 이러한 예들에서, 상기 음성 요소들에 대한 문맥 점수들을 결정하는 단계는, 상기 발화에 대한 예비 전사가 상기 발화에 대한 문맥에 대응하는 접두사 요소를 나타내는 단어를 포함함을 결정하는 것에 기초한다. 추가 예들에서, 상기 문맥에 기초하여 상기 음성 요소들에 대한 문맥 점수들을 결정하는 단계는, 하위 단어 단위들을 나타내는 요소들을 사용하여 문맥 용어들을 나타내는 문맥 FST를 사용함으로써 상기 문맥 점수들을 결정하는 단계를 포함한다. 이러한 예들에서, 상기 문맥 FST는, 문맥 용어의 하위 단어 단위들 사이의 각각의 전환을 편향(bias)하도록 구성된 전환 가중치; 및 상기 전환 가중치의 편향 효과를 취소하도록 구성된 오프셋 가중치들을 갖는 백오프 아크들을 포함한다. 상기 음성 요소는 단어 조각들(wordpieces) 또는 자소들(graphemes)을 포함한다.
본 발명의 하나 이상의 구현의 세부사항은 첨부 도면 및 아래의 설명에 기재되어 있다. 다른 양태, 특징 및 이점은 설명 및 도면, 그리고 청구범위로부터 명백할 것이다.
도 1은 음성을 전사하기 위해 문맥적 편향을 사용하는 예시적인 음성 인식기의 개략도이다.
도 2는 예시적인 종단간, 순환 신경망 변환기(RNN-T) 음성 인식 모델의 개략도이다.
도 3은 음성 인식 점수들 및 문맥적 점수들을 기반으로 격자에 대한 빔 프루닝(beam pruning) 프로세스를 실행하는 도 1의 음성 인식기의 구성도이다.
도 4는 문맥적 편향 문구들의 즉석 재채점을 위한 기술을 도시하는 개략도이다.
도 5는 음성을 전사하기 위해 문맥적 편향을 사용하는 방법에 대한 예시적인 동작 배열의 흐름도이다.
도 6은 여기에 설명된 시스템들 및 방법들을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 디바이스의 개략도이다.
다양한 도면들에서 동일한 참조 부호들은 동일한 요소들을 나타낸다.
높은 정확도의 음성 인식을 제공하기 위해, 음성 인식 시스템들은 음성이 발생하는 문맥을 고려하도록 구성될 수 있다. 문맥은 무엇보다도 노래 이름, 애플리케이션 이름, 연락처 이름 또는 위치와 같은 특정 도메인 또는 언어 클래스를 나타낼 수 있다. 예를 들어, 음성 인식 시스템이 사용자가 전화 통화를 시도할 가능성이 있다고 판단하면, 음성 인식 시스템이 인식 프로세스를 사용자의 연락처 목록에 있는 연락처의 이름으로 편향시킬 때 음성 인식 품질이 향상될 수 있다.
음성 인식기는 다양한 유형의 상황들에서 사용될 수 있다. 예를 들어 음성 인식기는, 디스플레이가 없는 모바일 장치, 디스플레이가 있는 모바일 장치, 휴대폰에서 실행되는 디지털 어시스턴트 애플리케이션, 컴퓨팅 장치, 예를 들어, 제한없이, 데스크톱 컴퓨터, 랩톱 컴퓨터, 스마트 스피커, 스마트 기기, 스마트 디스플레이, 스마트 헤드폰 또는 기타 웨어러블 장치에서 실행되는 디지털 어시스턴트 애플리케이션에 의해 차량에서 사용하기 위해 적용될 수 있다.
음성 인식기는 다양한 목적으로 사용될 수 있다. 예를 들어, 음성 인식기는 장치가 특정 아티스트의 특정 노래 또는 음악 앨범을 재생하도록 요청하는 데 사용될 수 있다. 음성 인식기는 연락처에 전화를 걸거나 문자를 보내거나 이메일, 메모 또는 일정 이벤트에 대한 입력을 위해 음성을 전사하는 데 사용할 수 있다. 발화가 발생하는 상황을 나타내는 다양한 요소들을 문맥이라고 할 수 있다. 상이한 문맥에는 사용자가 말할 가능성이 있고 관련이 있는 다른 용어 집합이 있을 수 있다. 일반적으로, 상이한 문맥은 다른 단어, 주제, 사용자 작업, 애플리케이션 등과 관련될 수 있다. 결과적으로, 음성 인식 시스템이 식별하는 문맥에 따라, 음성 인식 시스템은 사용자의 예상 음성과 더 잘 일치하도록 다양한 용어 세트를 편향할 수 있다. 이렇게 하면 일반적으로 말을 할 가능성이 없지만 특정 문맥이나 상황에서 발생할 가능성이 훨씬 더 높은 고유명사와 기타 용어를 인식하는 정확도를 크게 향상시킬 수 있다.
일부 구현에서, 가중 FST(Finite State Transducer)로 표현되는 독립적으로 훈련된 문맥 n-그램 언어 모델은 문맥 정보를 나타낸다. ASR 시스템은 음성 격자 요소의 점수 매기기에 영향을 미치는 또 다른 구성 요소로 문맥 n-그램 언어 모델을 통합함으로써 인식 프로세스를 특정 문맥의 용어로 편향시킨다. 아래에서 논의되는 바와 같이, 문맥적 편향은 단어 격자 또는 하위 단어 단위의 격자(예: 자소 또는 음소)의 요소에 대한 점수를 조정할 수 있다. 따라서, 문맥적 편향 언어 모델의 기여는 프루닝(pruning) 후에 단순히 적용되기 보다는 빔 탐색 디코딩 동안 프루닝 결정들에 요인이 될 수 있다.
종단 간 음성 인식 모델은 기존의 음향, 발음 및 언어 모델의 기능을 단일 신경망으로 결합하지만, 상황 정보/지식을 이러한 종단 간 음성 인식 모델에 통합하는 것은 여러 가지 이유로 어렵다. 예를 들어, 효율적인 디코딩을 위해 종단간 모델은 일반적으로 빔 탐색의 각 단계에서 소수의 후보를 제거한다. 따라서, 고유명사와 같은 희귀 단어와 구는 빔에서 떨어질 가능성이 있다. 아래에서 더 자세히 설명하는 바와 같이, 프루닝 결정 전에 격자에 문맥적 편향을 통합함으로써 문맥적 편향은 현재 문맥에서 사용될 가능성이 더 높은 흔하지 않은 용어에 더 큰 가중치를 줄 수 있고, 그에 따라, 빔 탐색 디코딩 프로세스의 경로들에 이러한 후보를 유지하여 조기에 생략되지 않도록 한다.
ASR 시스템은 상이한 문맥들 각각에 관련된 용어를 나타내기 위해 문맥 FST들을 생성할 수 있다. 이러한 FST들은 사용자의 장치에 저장되거나 액세스할 수 있는 정보(예: 사용자의 캘린더, 사용자의 연락처 목록, 사용자의 미디어 라이브러리 등)를 기반으로 사용자를 위해 개인화될 수 있다. ASR 시스템은 또한 상이한 문맥 FST들의 관련성을 나타내는 접두사 모음을 나타내는 접두사 FST들을 통합할 수 있다. 예를 들어, 접두사 "open", "start" 및 "close"는 다음 단어가 애플리케이션 이름일 수 있음을 나타내는 접두사일 수 있으므로 따라서 이러한 접두사 중 하나를 감지하면 음성 인식 시스템이 애플리케이션 이름에 대한 문맥 FST를 활성화할 수 있다. 다른 예로, 접두사 "play"는 미디어 항목에 대한 문맥 FST가 사용될 수 있음을 나타낼 수 있고 접두사 "call", "text" 또는 "e-mail"은 연락처 이름에 대한 문맥 FST를 사용해야 함을 나타낼 수 있다.
자소 수준이 아닌 단어 조각에서 편향을 수행하면 단어를 보다 정확하게 구별하고 검색 빔에서 유지해야 하는 후보의 수를 제한함으로써 종단 간 모델을 사용하여 문맥적 편향을 더욱 향상시킬 수 있다. 빔 프루닝 전에 문맥적 편향을 적용하면 검색 빔에서 관련 단어 조각을 조기에 제거하는 것을 방지할 수 있다.
도 1은 스피치를 전사하기 위해 문맥적 편향을 사용하는 예시적인 스피치 인식기(100)를 도시한다. 일부 구현들에서, 모바일 폰, 태블릿 컴퓨터, 스마트 스피커, 스마트 디스플레이, 스마트 헤드폰, 스마트 기기, 랩톱 컴퓨터, 웨어러블 장치, 데스크탑 컴퓨터 등과 같은 사용자 장치(110)는 음성 인식기(100)를 저장하고 실행한다. 이러한 구현들에서, 음성 인식기(100)는 서버들 또는 다른 네트워크 기반 리소스들과 같은 다른 장치들과의 통신 또는 지원 없이 사용자 장치(110)에서 로컬로 실행되도록 구성된다. 그러나, 사용자 디바이스(110)와 통신하는 원격 서버 또는 다른 네트워크 기반 리소스들은 본 발명의 범위를 벗어나지 않고 음성 인식기(100)를 저장하고 실행할 수 있다. 일부 구성들에서, 음성 인식기(100)의 기능은 사용자 디바이스(110)와 원격 서버 또는 다른 네트워크 기반 리소스들 사이에서 분할된다.
도시된 예에서, 사용자(115)는 사용자 장치(110)의 하나 이상의 마이크로폰 및/또는 사용자 장치(110)와 통신하는 적어도 하나의 마이크로폰에 의해 검출된 발화(120)를 말한다. 사용자 장치(110)는 발화(120)에 대한 전사(185)를 결정하기 위해 음성 인식기(100)를 사용한다. 이 예에서, 사용자(115)는 명령, 예를 들어 대화형 디지털 어시스턴트에 대한 요청을 말한다. 전사(185)가 결정되면, 사용자 장치(110)는 전사(185)를 해석하고, 그리고 요청된 동작을 수행하고, 검색 엔진에 쿼리를 제공하고, 전사를 표시하고, 메시지 필드에 전사를 입력하는 등의 응답으로 적절한 동작을 취할 수 있다.
사용자(115)가 발화(120)를 말하기 전에, 사용자 디바이스(110)는 음성 인식 정확도를 향상시킬 빠르고 정확한 문맥적 편향을 준비하기 위한 단계를 취한다. 이들 단계 중 하나는 사용자(115) 및/또는 사용자 장치(110)와 연관된 정보를 획득하고 처리하여 어떤 용어들(예를 들어, 단어 및/또는 구)이 다른 문맥 또는 주제 도메인과 관련이 있는지를 결정하는 것이다. 사용자 장치(110)(예를 들어, 사용자 장치(110)의 메모리 하드웨어)는 사용자의 연락처 목록, 사용자의 미디어 라이브러리에 있는 항목의 이름, 주변 위치의 이름, 설치된 애플리케이션들의 이름과 같은 상황 정보의 데이터 저장소(150)를 포함한다. 데이터 저장소(150) 또는 그 일부는 또한 원격 저장 장치, 예를 들어, 클라우드 저장 환경의 원격 서버(101)에 상주할 수 있다. 음성 인식기(100)는 사용자 장치(110)의 소프트웨어와 통신하여 이들 용어의 목록을 얻을 수 있다. 이러한 상이한 문맥상 데이터 세트의 정보는 사용자가 연락처를 추가하거나 삭제할 때, 사용자의 미디어 라이브러리가 변경될 때, 사용자가 위치를 변경할 때 등과 같이 수시로 변경될 것이다. 음성 인식기는 사용하는 문맥 정보를 새로 고치기 위해 데이터 목록에 대한 업데이트를 주기적으로 요청할 수 있다. 여기에는 지도 서비스를 위한 서버, 사용자의 미디어 라이브러리에 대한 정보를 호스팅하는 서버 등과 같은 네트워크를 통해 정보를 얻는 것이 포함될 수 있다.
음성 인식기(100)는 문맥 FST들(160, 160a-n)을 생성/업데이트하기 위해 데이터 저장소(150)로부터의 문맥 정보를 사용하도록 구성된 문맥 FST 생성 모듈(155)을 더 포함한다. 문맥 FST 생성 모듈(155)은 시스템이 검출하도록 구성된 각각의 상황에 대해 서로 다른 가중된 문맥 FST(160)를 결정할 수 있다. 문맥 FST 생성 모듈(155)은 데이터 저장소(150)로부터 데이터에 액세스하여 각각의 문맥 FST(160)를 생성한다. 예를 들어, 제1 문맥 FST(160a)는 사용자의 연락처 목록에서 이름을 나타낼 수 있고, 제2 문맥 FST(160b)는 사용자(115)의 미디어 라이브러리에 있는 항목의 이름을 나타낼 수 있으며, 제3 문맥 FST(160c)는 사용자(115)의 현재 위치와 가까운 위치에 대한 위치 이름 등을 나타낼 수 있다. 문맥 FST 생성 모듈(155)은 데이터 저장소(150) 등에서의 데이터 변경을 감지하는 것에 응답하여, 예를 들어 일정한 간격으로 지속적으로 주기적으로 문맥 FST(160)를 업데이트할 수 있다.
각각의 문맥 FST(160)는 다른 문맥 FST(160)와 연관된 문맥과 상이한 문맥에 대응하기 때문에, 모든 문맥 FST(160)가 동시에 사용하기에 적절한 것은 아니다. 본 명세서에서 사용되는 바와 같이, 각각의 문맥 FST(160)가 대응하는 문맥은 문맥 도메인으로 지칭될 수 있다. 현재 문맥과 일치하지 않는 다른 것을 활성화하지 않으면서 현재 문맥과 일치하는 관련 문맥 FST(160)를 선택적으로 활성화하기 위해 다양한 기술이 사용될 수 있다. 문맥적 편향을 현재 문맥에 맞추는 한 가지 방법은 서로 다른 개별 문맥에 대응하는 서로 다른 접두사 세트의 발생을 각각 나타내는 접두사 FST(163)를 사용하는 것이다. 예를 들어, 접두사 "call"의 발생은 연락처 이름이 다음 단어일 가능성이 있음을 나타낼 수 있으므로 이 접두사에 대한 접두사 FST(163)는 음성 인식기(100)가 연락처 이름 문맥 FST(160)를 가능하게 할 수 있다. 다른 예로서, 접두사 "play"의 발생은 미디어 항목 이름이 다음 단어일 가능성이 있음을 나타낼 수 있으므로 이 접두사에 대한 접두사 FST(163)는 음성 인식기가 미디어 항목 이름 문맥 FST(160)를 활성화할 수 있다. 각각의 문맥 FST(160)는 문맥 FST(160)의 용어가 그럴 가능성이 있음을 나타내기 위해 사용자 입력 로그의 분석을 통해 결정된 하나 이상의 접두사 세트를 나타내는 대응하는 접두사 FST(163)를 선택적으로 가질 수 있다. 일부 구현들에서, 접두사 FST는 빈 접두사 옵션(164)을 포함하고, 이는 먼저 접두사의 더 이른 발화 없이 문맥적 편향의 사용을 허용한다.
일부 구현들에서, 문맥 FST들(160) 및 접두사 FST들(163)은 음성 인식 프로세스 동안 사용하기 위해 단일 문맥 FST로 구성된다. 대안적으로, 문맥 분석 모듈(165)과 같은 모듈은 문맥 FST(160)가 상이한 문맥에 적용되는 것을 선택하기 위해 다양한 인자를 사용할 수 있다.
음성 인식기(100)는 특징 추출 모듈(130) 및 종단간 음성 인식 모델(200)을 포함하여 음향 정보를 처리하기 위한 다양한 요소들을 포함한다. 발화(120)가 발화될 때, 사용자 장치(110)의 하나 이상의 마이크로폰은 발화(120)의 음향 특성을 나타내는 오디오 데이터(125)를 생성한다. 특징 추출 모듈(130)은 오디오 데이터(125)를 수신하고 오디오 데이터(125)로부터 음향 특징들(135)(예를 들어, 로그-멜 특징들)을 생성한다. 예를 들어, 모듈(130)의 출력은 오디오 데이터(125)의 각각의 윈도우 또는 프레임(예를 들어, 세그먼트)에 대한 음향 특징 벡터일 수 있고, 여기서 음향 특징 벡터는 상이한 주파수 대역들에서의 에너지 레벨과 같은 특징을 나타내는 값을 포함한다.
음성 인식 모델(200)은 입력으로서 음향 특징들(135)을 수신하고, 출력으로서, 상이한 음성 요소들이 발생했을 가능성을 나타내는 음성 인식 점수(145)를 계산한다. 음성 요소들은 단어 조각 또는 자소를 포함할 수 있다. 예를 들어, 음성 인식 모델(200)은 출력 타겟의 세트, 예를 들어, 잠재적으로 출력될 수 있는 상이한 자소 또는 단어의 세트에 대한 확률 분포를 나타내는 점수의 벡터를 출력할 수 있다. 따라서, 음성 인식 모델(200)로부터의 음성 인식 점수들(145)의 출력 벡터는 다양한 자소 또는 단어 조각이 오디오 데이터(125)의 일부에서 음성을 정확하게 기술할 가능성을 나타낼 수 있다. 음성 인식 모델(200)은 단일 모델(예: 신경망)에 발음 모델, 음향 모델 및 언어 모델의 기능을 결합한 종단간 모델을 포함하므로, 음성 인식 모델(200)은 음향 특징들(135), 또는 원시 오디오 데이터(125)를 수신할 수 있고, 응답으로 철자적 특징들(예: 자소, 단어 조각 또는 단어)의 가능성을 나타내는 출력 점수들을 제공한다.
발화(120)를 인식할 때, 음성 인식기(100)는 또한 발화(120)의 문맥을 나타내는 데이터를 처리하여 문맥 점수(166)를 결정한다. 음성 인식기(100)는 발화(120)의 문맥(122)에 대한 다양한 유형의 정보를 수신하는 문맥 분석 모듈(165)을 포함할 수 있다. 예를 들어, 문맥 분석 모듈(165)은 디바이스(110)의 위치, 디바이스(110)를 사용하여 사용자(115)에 의해 수행되는 태스크, 디바이스(110)에서 열려 있거나 활성화된 애플리케이션 등에 관한 정보를 수신할 수 있다. 문맥 분석 모듈(165)은 또한 빔 검색 프로세스 동안 부분적 또는 예비 전사(186)를 포함하여 가장 최근에 인식된 자소, 단어 조각, 단어 또는 구와 같은 가장 최근의 음성 인식 결정을 나타내는 데이터를 수신할 수 있다. 이 문맥 정보의 일부 또는 전부를 사용하여, 문맥 분석 모듈(165)은 문맥 FST(160) 중에서 선택하거나 문맥 FST(160)에 상이한 가중치를 적용할 수 있다. 문맥 FST(160)(예를 들어, 발화(120)의 현재 문맥에 적용 가능하도록 선택된 하나 이상의 문맥 FST(160))는 이후 인식 프로세스를 데이터 저장소(150)에서 식별된 용어 및 문구로 편향할 수 있는 문맥 점수(166)를 생성하는 데 사용된다. 위에서 논의된 바와 같이, 문맥 FST(160) 및 접두사 FST들(163, 164)은 이전에 생성 및 저장되어, 발화(120)가 말하기 전에 이용 가능하다.
문맥 분석 모듈(165)은 사전 전사(186)에서 검출된 미리 결정된 접두사 또는 키워드의 존재에 기초하여 주어진 발화(120)를 편향하기 위해 어떤 문맥 FST(160)가 사용되는지를 제한할 수 있다. 문맥 분석 모듈(165)이 인식된 음성을 접두사 또는 다른 키워드와 비교하기 위해 임의의 적절한 방법을 사용할 수 있지만, 프로세스는 접두사 FST(163 및 164)를 사용하여 효율적으로 수행될 수 있다. 접두사 FST(163 및 164)의 가중치 및 전환은, 알려진 접두사의 음성 단위가 인식됨에 따라(예를 들어, 예비 전사(186)에서), 문맥 FST(160) 중 어느 것이 가장 관련성이 있고 그들의 편향 영향이 어떻게 가중되어야 하는지를 나타낼 수 있다. 접두사 FST(163)들은 문맥 FST(160)에 연결되거나 링크될 수 있으므로 접두사 FST는 문맥 FST(160) 중 하나 이상을 사용하여 편향을 직접 유도할 수 있다.
위에서 논의된 바와 같이, 접두사 FST(163)는 일반적으로 사용되는 접두사 세트에 의해 진행되는 경우에만 문맥 FST 및 대응하는 편향 구를 활성화하는 데 사용된다. 접두사를 말할 때 특정 구를 말할 것이라는 더 높은 확신이 있다. 접두사 FST(163)를 문맥 FST(160)에 링크함으로써, 문맥 분석 모듈(165)은 편향 가중치를 증가시켜 전체 편향을 개선한다. 예를 들어, 단어 "call"을 말하는 경우 접두사 FST(163)는 문맥 분석 모듈(165)이 연락처에 대응하는 문맥 FST를 가능하게 하므로 인식이 연락처 이름으로 편향될 것이다. 따라서, 연락처의 이름은 전사에 포함될 가능성이 더 크다.
미디어 이름, 연락처 및 응용 프로그램 이름과 같은 많은 카테고리에 대해 편향이 활성화된 경우, 표준 단어 사용을 방해하는 과도한 편향으로 인해 일부 상황에서는 인식 품질이 저하될 수 있다. 접두사 FST(163)는 빈 접두사 옵션(164)을 가지며, 이는 문맥 FST(160)가 미리 결정된 접두사의 발생 없이 사용될 수 있게 하지만, 빈 접두사 옵션(164)은 과도한 편향을 방지하기 위해 접두사가 사용되지 않을 때 더 작은 편향 가중치를 적용한다.
문맥 정보(122, 186)에 기반한 문맥 점수(166) 및 음향 정보(135)에 기반한 음성 인식 점수(145)는 발화(120)에 대한 전사(185)를 결정하기 위해 함께 사용된다. 특히, 문맥 점수(166)는 일반적으로 음성 인식보다 현재 문맥에서 특정 사용자(115)와 더 관련이 있는 용어로 인식을 편향한다. 일부 구현들에서, 스코어 결합기(170)는 음성 인식 점수(145)를 문맥 점수(166)와 결합하여 음성 격자(175)에서 사용되는 결합 점수(172)를 생성한다. 중요하게도, 문맥 점수(166)의 편향 영향은 격자(175)의 프루닝 전 및 빔 탐색에서의 빔 프루닝 전에 음성 격자(175)에 적용된다. 그 결과, 문맥 점수(166)의 영향으로 인해 프루닝되었을 수 있는 관련 용어는 빔 검색 프로세스 및 관련 프루닝을 통해 유지된다. "빔 검색 프로세스"는 "빔 검색 디코딩 프로세스"로 상호 교환 가능하게 지칭될 수 있다.
음성 인식기(100)는 음성 격자(175)를 통한 잠재적 경로를 평가하고 전사(185)를 결정하기 위해 빔 탐색 프로세스를 실행한다. 격자(175)를 통한 각각의 경로는 상이한 후보 전사를 나타낼 수 있다. 일반적으로 각각의 후보 전사와 관련된 모든 가능한 단어 시퀀스를 평가하는 것은 효율적이지 않거나 심지어 가능하지도 않다. 따라서, 문맥 스코어(166) 및 ASR 스코어(145)가 계산되고 결합 스코어(172)로서 결합된 후, 빔 프루닝 프로세스(180)는 검색을 가장 유망한 단어 경로로 안내한다. 빔 프루닝(180)은 가능한 단어 또는 단어 조각에 대해 검색되는 격자(175)의 범위를 감소시킬 수 있다. 각 단어 조각의 확률이 계산되면 가장 가능성 있는 경로만 남을 때까지 가능성이 없는 검색 경로가 제거된다.
빔 검색 프로세스의 출력은 사용자 발화(120)의 전사(185)이다. 전사(185)가 결정되면, 전사(185)는 다양한 방식으로, 예를 들어, 사용자(115)에게 표시되고, 텍스트 필드에 입력되고, 검색 엔진에 쿼리로 전송되거나, 디지털 대화 도우미에 요청으로 전송되고, 음성 명령으로 해석되는 등으로 사용될 수 있다. 예를 들어, 사용자 장치(110)는 텍스트 메시지 또는 이메일 작성, 전화 걸기, 또는 노래 재생과 같이 사용자 디바이스(110)가 수행할 동작을 식별하기 위해 전사(185)를 사용한다. 예를 들어, 전사가 "제이슨에게 전화해"인 경우, 사용자 장치(110)는 제이슨이라는 연락처에 전화 통화를 개시하고 "지금 제이슨에게 전화해"와 같은 합성 발화와 같은 확인으로 사용자(115)에 응답할 수 있다.
도 2를 참조하면, 음성 인식 모델(200)은 대화형 애플리케이션과 관련된 지연 제한을 준수하는 E2E, RNN-T 모델(200)을 포함할 수 있다. RNN-T 모델(200)은 작은 계산 풋프린트를 제공하고 기존의 ASR 아키텍처보다 적은 메모리 요구사항을 활용하여 RNN-T 모델 아키텍처를 사용자 장치(102)에서 완전히 음성 인식을 수행하는 데 적합하게 만든다(예를 들어, 원격 서버와의 통신이 필요하지 않다). RNN-T 모델(200)은 인코더 네트워크(210), 예측 네트워크(220) 및 조인트 네트워크(230)를 포함한다. 전통적인 ASR 시스템의 음향 모델(AM)과 대략 유사한 인코더 네트워크(210)는 적층된 LSTM(Long Short-Term Memory) 계층의 순환 네트워크를 포함한다. 예를 들어, 인코더는 d-차원 특징 벡터들(예를 들어, 음향 프레임(110)(도 1))의 시퀀스 x = (x1, x2, ... , xT)를 판독하고, 여기서 xt ∈ Rd이고 그리고 각 시간 단계에서 고차 피처 표현을 생성한다. 이 고차 피처 표현은
Figure pct00001
으로 표시된다.
유사하게, 예측 네트워크(220)는 또한 언어 모델(LM)과 같이 지금까지 최종 소프트맥스 계층(240)에 의해 출력된 공백이 아닌 심볼의 시퀀스, y0,..., yui -1을 밀집 표현
Figure pct00002
으로 처리하는 LSTM 네트워크이다. 마지막으로, RNN-T 모델 아키텍처에서 인코더 및 예측 네트워크(210, 220)에 의해 생성된 표현은 조인트 네트워크(230)에 의해 결합된다. 조인트 네트워크는 이후 다음 출력 심볼에 대한 분포인
Figure pct00003
를 예측한다. 다르게 말하면, 조인트 네트워크(230)는 각각의 출력 단계(예를 들어, 시간 단계)에서 가능한 음성 인식 가설에 대한 확률 분포를 생성한다. 여기서, "음성 인식 가능 가설"은 지정된 자연어에서 심볼/문자를 각각 나타내는 출력 레이블들의 세트에 해당한다. 따라서, 조인트 네트워크(230)는 미리 결정된 출력 레이블들의 세트 각각의 발생 가능성을 나타내는 값들의 세트를 출력할 수 있다. 이러한 값들의 세트는 벡터가 될 수 있으며 출력 레이블들의 세트에 대한 확률 분포를 나타낼 수 있다. 일부 경우들에서, 출력 레이블들은 자소(예: 개별 문자, 잠재적으로 구두점 및 기타 기호)이지만 출력 레이블들의 세트는 그렇게 제한되지 않는다. 조인트 네트워크(230)의 출력 분포는 상이한 출력 레이블들 각각에 대한 사후 확률 값을 포함할 수 있다. 따라서, 상이한 자소 또는 다른 심볼들을 나타내는 100개의 상이한 출력 레이블이 있는 경우, 조인트 네트워크(230)의 출력 yi는 각 출력 레이블에 대해 하나씩 100개의 상이한 확률 값을 포함할 수 있다. 그 다음, 확률 분포는 중간 전사(115)를 결정하기 위한 빔 탐색 프로세스(예를 들어, 소프트맥스 계층(240)에 의해)에서 후보 정사법 요소(예를 들어, 자소, 단어 조각, 및/또는 단어)를 선택하고 점수들을 할당하는 데 사용될 수 있다.
소프트맥스 계층(240)은 대응하는 출력 단계에서 모델(200)에 의해 예측된 다음 출력 심볼로서 분포에서 가장 높은 확률을 갖는 출력 레이블/심볼을 선택하기 위해 임의의 기술을 사용할 수 있다. 이러한 방식으로, RNN-T 모델(200)은 조건부 독립 가정을 하지 않고, 각 기호의 예측은 음향뿐만 아니라 지금까지 출력된 레이블의 순서에 따라 조절된다. RNN-T 모델(200)은 출력 심볼이 미래의 음향 프레임(110)과 독립적이라고 가정하며, 이는 RNN-T 모델이 스트리밍 방식으로 사용될 수 있게 한다.
일부 예들에서, RNN-T 모델(200)의 인코더 네트워크(210)는 시간 감소 계층, 후속으로 8개의 2,000차원 LSTM 계층, 각 LSTM 계층에 후속인 600차원 투영 계층을 포함한다. 예측 네트워크(220)는 2개의 2,048차원 LSTM 계층을 가질 수 있고, 각각의 계층의 후속으로 640차원 투영 계층이 뒤따른다. 마지막으로, 조인트 네트워크(230)는 또한 640개의 은닉 유닛을 가질 수 있고, 4,096단어 소프트맥스 출력이 뒤따를 수 있다. 디코더는 2,000개의 은닉 유닛들과 계층당 600차원 투영이 있는 2개의 LSTM 계층이다. 인코더와 디코더는 600개의 은닉 유닛이 있는 조인트 네트워크에 공급된다. 조인트 네트워크는 96 유닛들(자소 실험의 경우) 또는 4,096 유닛들(단어 조각의 경우)로 소프트맥스 계층에 공급된다. 모든 RNN-T 모델들은 배치 크기가 4,096인 8x8 TPU(Tensor Processing Unit) 슬라이스의 텐서플로(TensorFlow)에서 훈련된다. 추론하는 동안, 각 발화는 콘텍스트 FST(160)를 구성하는 데 사용되는 편향 문구 세트와 연관된다. 편향 FST(160)의 각각의 아크는 도 4를 참조하여 아래에 도시된 바와 같이 동일한 가중치를 갖는다. 이 가중치는 위의 테스트 세트들에서 성능을 최적화하기 위해 각 카테고리(노래, 연락처 등)에 대해 독립적으로 조정된다.
일반적으로, 음성 인식 모델(200)과 같은 ASR 모델들은 다양한 방법으로 훈련될 수 있으며, 그 과정에서 많은 양의 훈련 데이터가 사용될 수 있다. 다시 도 1을 참조하면, 음성 인식 모델(200)(예를 들어, RNN-T)은 지도되지 않은 데이터(193), 지도된 데이터(197), 및/또는 합성 데이터(195)를 포함하는 트레이닝 데이터에 대해 훈련할 수 있다.
고유명사들의 인식을 향상시키기 위해, 음성 인식 모델(200)은 더 많은 명사들의 예들을 제공하기 위해 많은 양의 텍스트 데이터로 훈련될 수 있고, 따라서 모델이 노출되는 고유명사들의 다양성을 증가시킨다. 지도되지 않은 데이터(193)는 음성 검색 트래픽으로부터 발화들을 마이닝함으로써 수집될 수 있다. 그런 다음, 이러한 발화들은 ASR 모델에 의해 디코딩되고 신뢰도가 높은 발화들만 추가 훈련에 사용된다. 훈련이 많은 양의 지도되지 않은 데이터(193)에 의해 지배되지 않는다는 것을 보장하기 위해, 훈련의 각 단계 동안, 지도되지 않은 데이터(193)는 정확하게 전사되도록 확인 또는 검증된 지도되는 데이터(194)와 결합된다. 예를 들어, 각 단계에서 훈련 뱃치는 시간의 80% 동안 지도되는 데이터(197)로 채워질 수 있고 시간의 20% 동안 지도되지 않은 데이터(193)로 채워질 수 있는바, 이는 경험적으로 최고의 성능을 제공하는 것으로 밝혀졌기 때문이다. 훈련 중 고유명사들의 인식을 강조하기 위해, 고유명사 태거 프로세스를 실행하여 지도되지 않은 데이터(193)에서 자동으로 생성된 전사들을 필터링할 수 있다. 일부 구현들에서는, 고유명사를 포함하는 것으로 태그가 지정된 예시 발화만 훈련에 사용된다. 구체적으로, 고유명사 태거는 각 고유명사에 대해 고유명사의 음성 표현이 생성되도록 각 발화에서 실행될 수 있다. 예를 들어, "Caitlin"은 음소 k eI tl @ n으로 표시된다. 다음으로, 동일한 음소 시퀀스를 가진 어휘 사전의 대체 단어(예: "Kaitlyn")를 살펴보자. 실제 단어 및 대체 단어가 주어지면, 이러한 단어들 중 하나가 훈련 중에 무작위로 샘플링된다. 이것은 훈련 중에 모델에 더 많은 고유명사들을 제공한다. 모델(200)이 훈련 중에 더 많은 이름을 철자할 수 있다면, 디코딩 중에 문맥 FST(160)가 사용될 때 이러한 이름들의 철자가 더 확실할 것이고 단어가 빔에서 떨어지지 않을 것이다.
일부 구현들에서, 합성 훈련 데이터세트들(195)은 다양한 고유명사들을 갖는 문장들을 생성한 다음 대응하는 오디오 데이터를 합성함으로써 생성될 수 있다. 이 기술은 훈련 예제들로 사용할 수 있는 오디오-텍스트 쌍의 수를 크게 확장할 수 있다. 일부 구현들에서, 생성된 텍스트 및 합성된 오디오는 특정 도메인들 또는 카테고리들에 대해 결정된다. 예를 들어, 카테고리별 접두사들 및 고유명사들을 결합하여 예제 텍스트를 생성할 수 있다. 그런 다음, 텍스트 음성 변환 기술을 사용하여 생성된 텍스트의 합성 음성을 생성할 수 있다. 이러한 방식으로, 각 카테고리에 대해 많은 발화들을 사용하여 훈련 데이터 세트들을 생성할 수 있다. 예를 들어, 문자 메시지들, 이메일들 등과 같은 통신을 나타내기 위해 인공적인 예들이 생성될 수 있다. 마찬가지로, 다른 카테고리에서, 미디어 요청들을 나타내기 위해 예시들을 생성할 수 있다. 다른 카테고리에서, 애플리케이션들에 대한 명령들, 액션들 또는 요청들을 시뮬레이션하기 위해 예시들을 생성할 수 있다. 합성 데이터(195)가 생성되면, 지도되는 데이터(197)와 합성 데이터(195)의 조합을 훈련에 사용할 수 있고, 따라서 지도된 데이터 세트로부터 핵심 예들을 제공하고 합성 예들을 사용하여 특정 도메인 또는 카테고리의 고유명사와 가능한 언어에 대한 모델의 처리를 더욱 향상시킨다. 룸 시뮬레이터는 합성 데이터와 지도되는 데이터(195, 197) 중 하나 또는 둘 다에 있는 발화들 중 적어도 일부에 노이즈를 추가할 수 있다. 훈련 중 각 뱃치는 90%의 시간 동안 지도되는 데이터(197), 10%의 시간 동안 합성 데이터(195)로 채워질 수 있다.
도 3은 음성 인식 점수(145)(도 1) 및 문맥 점수(166)(도 1)에 기초하여 점수 결합기(170)(도 1)에 의해 출력된 격자(175)에 대해 빔 프루닝 프로세스(예를 들어, 도 1의 프루닝(180))를 실행하는 음성 인식기(100)의 다이어그램(300)을 도시한다. 도시된 예에서, 사용자(115)는 자동 애완 동물 사료 공급기를 포함하는 가정용 장비를 제어할 수 있는 사용자 장치(110) 상의 애플리케이션을 시작한다. 애플리케이션의 시작은, 문맥 FST 생성 모듈(155)이 애완 동물 사료 공급기와 같은 가정용 장비와 관련된 단어를 편향하기 위해 하나 이상의 문맥 FST(160)를 생성하게 한다. 사용자(115)는 사용자 장치(110)의 하나 이상의 마이크로폰에 "고양이에게 먹이를 줘"라는 단어를 포함하는 발화(120)를 말한다. 일부 예들에서, 이 발화(120)는 가정 장비를 제어하기 위한 애플리케이션을 시작하기 위해 사용자 장치(110)를 호출한다. 다른 예들에서, 사용자(115)는 발화(120)를 말하기 전에 애플리케이션을 시작하기 위해 다른 음성 명령을 말할 수 있다. 추가적인 예들에서, 사용자(110)는 사용자 장치(110)가 발화(120)를 처리할 수 있도록 사용자 장치(110)를 슬립 상태로부터 깨우기 위해 핫워드를 말할 수 있다.
일부 예들에서, 문맥 분석 모듈(165)(도 1)은 (예를 들어, 예비 전사(186)에서) 홈 오토메이션 카테고리/문맥에 대해 일반적으로 사용되는 접두사로서 접두사 "feed"의 발생을 인식하고, 따라서 "fish", "dog" 및 "cat"과 같이 "feed" 다음에 올 가능성이 있는 단어를 편향한다. 즉, 접두사 "feed"를 포함하는 대응하는 접두사 FST(163)는 음성 인식기(100)로 하여금 홈 오토메이션 카테고리/컨텍스트와 연관된 문맥 FST(160)를 인에이블하게 할 수 있다. 따라서, 문맥 분석 모듈(165)은 문맥 점수(166)를 계산하기 위해 문맥 FST(160) 및 접두사 FST(163)를 참조하고, 동시에, 음성 인식 모델(200)은 오디오 특징(135)을 평가하여 음성 인식 점수(145)에 대응하는 접두사 FST(163)를 계산한다.
단계 1 내지 3은 대응하는 발화(120)에서 단어 "feed" 다음에 오는 단어 "cat"에 대한 오디오 특징(135)의 상이한 일부/부분을 인식함에 있어서 음성 인식기(100)가 수행하는 연속적인 출력 단계들을 도시한다. 위의 참조에서 설명한 바와 같이, 문맥 분석 모듈(165)에 의해 홈 오토메이션 문맥 FST(160)에 대응하는 접두사 FST(163)에 대한 접두사로 인식되는 예비 전사(186)에서 단어 "feed"의 발생은, 문맥 분석 모듈(165)이 단계들 1 내지 3에서 이루어진 상이한 자소 결정을 편향하는 데 사용하기 위해 문맥 점수(166)를 생성하게 한다.
단계 1에서, 점수 결합기(170)는 ASR 점수(145)("음성 인식 점수"로 상호 교환 가능하게 지칭됨) 및 문맥 점수(166)를 결합하여 결합 점수(172)를 계산한다. 결합된 점수들(172)에 기초하여, 자소 "c"가 1.1의 결합된 점수(172)와 함께 가장 가능성 있는 것으로 식별된다. ASR 점수(145) 및 문맥 점수(166)는 푸르닝 프로세스의 각 단계에서 재계산된다.
단계 2에서, 점수 결합기(170)는 결합 점수(172)를 계산하기 위해 현재 단계의 출력 분포에서 출력 레이블 각각에 대한 ASR 점수(145)("음성 인식 점수"로 상호 교환 가능하게 지칭됨) 및 문맥 점수(166)를 결합한다. 따라서, 2단계에서 자소 "a"는 0.9의 결합 점수(172)와 함께 가장 가능성이 있는 것으로 식별된다.
단계 3에서, 0.6의 가장 높은 ASR 점수(145)가 자소 "r"에 대한 것이지만, 이는 프루닝 프로세스에서 자소 "t"를 생략하여 결과적인 전사(185)에서 "car"라는 단어를 잘못 출력하고, 0.8의 문맥 점수(166)는 자소 "t"에 대한 높은 가능성을 보여준다. 따라서, 자소 "t"에 대한 0.3의 ASR 점수(145)가 단계 3의 격자(175)에서 가장 높은 ASR 점수(145)는 아니지만, 푸르닝 프로세스는 이제 자소 "t"를 1.0의 결합 점수(172)와 함께 단계 3의 격자(175)에서 가장 가능성 있는 출력 레이블로 식별한다. 따라서, 프루닝 프로세스는 이제 결과적인 전사(185)에서 단어 "feed" 다음에 후보 단어 "cat"을 올바르게 출력할 수 있다. 이 예에서, 음성 인식기(100)가 빔 프루닝(180) 이후까지 문맥 점수(166)를 고려하지 않았다면, 빔 프루닝(180)은 문맥 점수를 적용할 기회 없이 조기에 빔에서 올바른 후보 단어 "cat"을 프루닝했을 것이다. 따라서, 사용자 장치(115) 상의 오픈/런칭된 애플리케이션으로부터 유도된 홈 오토메이션의 현재 문맥(122)과 예비 전사(186)에서 접두사 "feed"의 인식은 협력하여 음성 인식 모델(200)이 가능한 자소 "c" 및 "a"를 식별한 후 음성 인식기(100)가 자소 "r"에 대한 문맥 점수(166)보다 높은 자소 "t"에 대한 문맥 점수(166)를 계산하도록 한다. 따라서, 음성 인식기(100)는 문맥 점수(166)를 생성하고 격자(175)의 후보 자소 또는 단어 조각에 빔 프루닝(180)을 적용하기 전에 문맥 점수(166)를 음성 인식 모델(200)로부터 출력된 ASR 스코어들(145)과 결합함으로써 전사(185)의 정확도를 향상시킬 수 있다. 음성 인식기(100)의 음성 인식 모델(200)이 RNN-T를 포함하는 경우, 음성 인식기(100)는 각 출력 단계에서 자소가 개별적으로 출력되도록 전사(185)를 스트리밍 방식으로 출력할 수 있다. 일부 예들에서, 음성 인식기(100)는 전사(180)에서 다수의 자소 또는 전체 단어를 포함하는 단어 조각을 출력하기 위해 기다릴 수 있다.
일부 구현들에서, 신경망 문맥 편향은 단어 경계들에서만 문맥 점수(166)를 적용한다. 이 접근 방식은 문맥 문구들의 목록에 노래 이름이나 연락처와 같은 고유명사가 많이 포함되어 있는 경우 효과적이지 않을 수 있다. 신경망 모델은 빔 검색 중에 자소 및 단어 조각과 같은 하위 단어 단위를 예측하기 때문에 바이어스할 단어가 빔에 없으면 단어 경계에 문맥 점수를 적용하면 작동하지 않는다.
도 4는 단어의 각 하위 단어 단위에 가중치를 두는 OTF(on-the-fly) 재채점 기술을 도시하는 개략도(400)이다. 구체적으로, 도 4는 백오프 아크들을 갖는 하위 단어 FST를 도시하고, 백오프 아크들은 초기에 부스트되지만 전체 구와 일치하지 않는 접두사에 인위적으로 가중치를 주는 것을 피하기 위해 감산 비용을 제공하기 위한 음의 가중치에 해당한다. 즉, 하위 단어 FST는 현재 상태에 도달하기 전에 추가된 가중치를 무효화하는 백오프 아크를 포함한다. 단어의 각 하위 단어 단위에 가중치를 둠으로써, 도 4의 OTF 재채점 기술은 단어를 빔에 유지하는 데 도움이 되는 것을 목표로 한다. 따라서, 하위 단어 단위당 편향은 각 단어의 끝에서의 편향보다 더 효과적이고, 이는 하위 단어 단위당 편향은 빔에서 조기에 바이어싱 후보를 제거할 확률을 줄이기 때문이다.
일반적으로 편향 자소는 문맥 FST(160)와 부분 자소 일치가 있는 불필요한 단어로 빔을 플러딩한다. 예를 들어, 도 4에 도시된 예에서, 편향 단어가 "cat"인 경우, 문맥 FST 생성 모듈(155)은 자소 'c', 'a' 및 't'가 바이어스되도록 대응하는 문맥 FST(160)를 생성할 것이다. 첫째, 자소 'c'가 편향되어 있으므로 'cat'과 'car'가 빔에 나타날 수 있다. 그러나, 단어 조각 수준에서 편향이 적용되면 관련 하위 단어의 일치가 더 희박하므로 더 관련성이 높은 단어가 빔에 나온다. 앞의 예에 따라 편향할 단어가 "cat"이면 "car"가 빔에 오지 않는다. 더 긴 단위에서 편향이 수행되도록 자소에서 단어 조각 편향으로 전환하면 빔에 더 관련성 높은 후보들을 유지하여 성능을 개선하는 데 도움이 된다.
일반적으로, 사용자의 노래 이름, 앱 이름 및 연락처 이름과 같은 특정 도메인에 대한 문맥적 편향은 생산 수준의 자동 음성 인식(ASR) 시스템의 중요한 구성 요소이다. 문맥적 편향은 종단간 모델에서 특히 까다로운데, 이러한 모델들은 일반적으로 빔 검색 중에 후보들의 목록을 적게 유지하고 편향 문구들의 주요 소스인 고유명사들에서도 제대로 작동하지 않기 때문이다. 이 논의에서는 종단 간 모델들에 대한 얕은 융합 기반 편향에 대한 다양한 알고리즘 및 고유명사 개선 사항을 제시한다. 다양한 작업들에서 제안된 접근 방식은 최신 기존 모델과 유사한 성능을 얻는다.
이전에 언급했듯이, 종단 간 음성 인식 모델에 의한 AM, PM 및 LM을 단일 신경망으로 결합하면 다양한 이유로 상황 지식을 통합하는 능력이 어려워진다. 첫째, 종단간 모델은 AM, PM, LM 조인트로 훈련되기 때문에 기존 LM에 비해 훨씬 적은 텍스트 데이터로 훈련되므로 기존 모델에 비해 고유명사 오류가 더 많이 발생한다. 문맥상 n-그램은 종종 고유명사("call Jason", "text Jane")이기 때문에 모델이 이러한 n-그램을 예측하기 어렵다. 둘째, 효율적인 디코딩을 위해 종단 간 모델은 빔 탐색의 각 단계에서 소수의 후보(~4-10)로 정리해야 한다. 따라서, 문맥상 n-그램의 경우와 같이 드문 단어들 및 구들은 빔에서 떨어질 가능성이 높다.
독립적인 문맥상 n-그램 LM을 종단 간 음성 인식 모델의 프레임워크에 통합하는 기존의 얕은 융합 기술은 여전히 고유명사가 빔에서 떨어지는 문제를 겪고 있는데, 이는 편향이 (종단 간 모델이 예측하는 자소/단어 단위가 아닌) 단어의 끝에서 그리고 각 단계에서 빔이 프루닝된 후 발생하기 때문이다. 전체 신경 최적화라는 주제를 유지하면서 종단 간 모델 내에서 편향을 수행하는 것이 더 효과적인 경우가 자주 있다. 하지만, 전체 신경 편향에 대한 우려 중 하나는 n-그램을 많이 확장할 때 단어 오류율(WER)이 저하된다는 것이다. 또 다른 문제는 상황에 따른 편향이 적절하지 않더라도 항상 활성화될 수 있다는 점이고, 편향되지 않은 발화에 대해 성능이 저하되지 않는 것이 바람직하며, 이를 "반문맥(anti-context)"이라고 한다.
위에서 논의된 구현들은, 단어 수준이 아닌 하위 단어 단위 수준(자소, 단어조각)에서 편향을 수행하고, 빔 프루닝 이후가 아닌 이전에 문맥 FST(160)를 적용하고, 반문맥에 엄청난 도움을 주기 위해 공통 접두사 세트(예: "call", "text")를 갖는 접두사 FST(163)을 통합하고, 그리고 고유 명사의 모델링을 개선하기 위해 더 큰 텍스트 전용 데이터 코퍼스를 활용함으로써 문맥상 n-그램의 조기 제거를 해결한다. 특히 고유 명사의 모델링에는, (1) 다수의 고유명사 텍스트 전용 쿼리를 생성하고 해당 음성을 합성하여 합성 훈련 데이터 세트(195)를 획득하는 것; (2) 데이터를 고유 명사로 유지하도록 필터링된 다량의 지도되지 않은 오디오 텍스트 데이터(예: 지도되지 않은 학습 데이터(193)) 활용하는 것; 그리고 (3) 더 많은 고유 명사들을 만들기 위해 지도된 훈련 데이터(197) 전사들을 퍼징하는 것을 포함한다. 결과들은 4개의 서로 다른 문맥상 테스트 세트들에 걸쳐 보고된다. FST 구성에 대해 제안된 변경 사항들은 얕은 융합 기반 바이어스의 상당한 개선으로 이어진다. 또한, 많은 양의 지도되지 않은 데이터로 훈련하여 더 나은 고유명사 모델링으로 성능이 더욱 향상된다. 전반적으로 종단간 편향 솔루션은 상대적으로 20 내지 40% 사이의 노래를 제외한 모든 세트에서 기존의 임베디드 모델보다 성능이 뛰어나다.
기존 ASR 시스템(별도의 AM, PM 및 LM 포함)은 편향 문구 목록들을 n-그램 FST(유한 상태 변환기)로 표시하고 디코딩 중에 이 컨텍스트 FST로 LM을 구성하여 문맥상 편향을 수행한다. 이것은 문맥 FST의 n-그램으로 인식 결과를 편향시키는 데 도움이 되며 특정 시나리오에서 WER을 줄인다. 유사한 기술을 사용하여 n-그램 FST를 만든 다음 n-그램 FST를 종단 간 디코딩 프레임워크에 통합한다.
음향 관찰 세트 x = (x1,..., xK)가 주어지면, 종단 간 모델은 이러한 관찰, 즉 P(y|x)가 주어지면 하위 단어 단위 세트 y = (y1,..., yL)에 대한 사후 확률을 제공한다. 얕은 융합은 수학식 (1)에 의해 주어진 빔 검색 디코딩 동안 종단 간 모델의 점수를 외부 문맥 LM으로 보간한다.
Figure pct00004
여기서 Pc(y)는 컨텍스트 LM의 점수이고 λ은 문맥상 LM이 빔 검색 동안 전체 모델 점수에 얼마나 영향을 미치는지를 제어하는 조정 가능한 하이퍼파라미터이다.
종단 간 모델들에 대한 문맥상 LM을 구성하기 위해 단어 수준 편향 문구 집합을 미리 알고 n-그램 가중된 WFST(finite state transducer)로 컴파일한다. 이 단어 수준의 WFST, G는 "철자" FST, S로 왼쪽 구성되며, 이는 일련의 자소/단어 조각을 해당 단어로 변환한다. 하위 단어 FST는 문맥상 LM, min{det(SoG))로 획득된다.
얕은 융합이 있는 종단 간 모델들의 편향은 기존 시스템들의 편향과 유사하게 문맥상 LM이 단어 경계에만 적용되는 방법을 사용하여 먼저 탐색되었다. 이 접근 방식은 문맥적 문구 목록에 많은 적절한 규범(예: 노래 이름 또는 연락처)이 포함되어 있는 경우 효과적인 것으로 확인되지 않았다. 종단 간 모델들은 빔 검색 중에 하위 단어 단위 레이블 y(자소, 단어 조각)를 예측하기 때문에 편향될 단어가 빔에 없으면 단어 경계에서 문맥상 LM을 적용하는 것이 작동하지 않는다. 이 문제를 해결하기 위해 하위 단어 FST의 가중치들이 각 하위 단어 단위로 주어진다. 하위 단어 FST를 결정적으로 만들기 위해 모든 하위 단어 단위에 동일한 가중치가 사용된다. 전체 문구가 아닌 접두사와 일치하는 후보에 인위적으로 가중치를 부여하는 것을 방지하기 위해 도 3에 도시된 바와 같이 실패 아크가 포함된다. 실패 아크가 가중치를 전달하지 않는 n-그램 FST와 달리 하위 단어 FST는 현재 상태에 도달하기 전에 추가된 가중치를 무효화하는 실패 아크들을 포함한다. 하위 단어 단위당 편향은 각 단어의 끝에서 편향하는 것보다 더 효과적인 것으로 밝혀졌는데, 이는 편향 후보가 빔에서 일찍 제거될 가능성을 줄였기 때문이다. 그러나, 이 아이디어는 자소 하위 단어 단위만을 사용하여 탐구되었다. 또한, 편향될 의도가 없는 문구가 지나치게 편향되지 않도록 하기 위해 "반문맥"이 포함된 결과를 조사하지 않았다. 이러한 문제를 해결하기 위해 얕은 융합 종단 간 바이어스에 대한 추가 개선 사항은 아래에 서술되어 있다.
편향 문구들은 예를 들어 편향 문구가 일반적으로 사용되는 접두사들의 세트에 의해 진행되는 경우에만 선택적으로 활성화될 수 있다. 예를 들어, 연락처 요청에는 일반적으로 접두사 "call", "text" 또는 "message"가 있는 반면 노래 요청에는 접두사 "play"가 사용되는 경우가 많다. 이 기술은 기존 모델에서 사용되며 두 가지 주요 이점이 있다. 첫째 장점은, 노래, 연락처 및 앱과 같이 각 요청에 대해 편향이 활성화된 경우 편향 문구가 포함되지 않은 발화에 대해 인식 품질이 저하되며, 이는 반문맥으로 알려진 문제이다. 접두사들을 본 후에만 편향을 제한하면 이러한 과도한 편향을 방지하는 데 도움이 된다. 두 번째 장점은 접두사를 본 후 특정 문구들에 대한 편향에 대한 신뢰도가 높아져 편향 가중치를 높이고 전반적인 편향 성능을 향상시킬 수 있다는 것이다.
일 예에서, 문맥 FST(160)는, 대응하는 편향 문구들에 선행하는 임계 횟수(예를 들어, 50회)보다 많이 나타나는 모든 접두사들이 각각 대응하는 문맥 FST(160)와 연결된 대응하는 접두사 FST(163)들에서 사용하기 위해 추출되도록 접두사 목록으로 구성될 수 있다. 빈 접두사 옵션은 접두사를 건너뛸 수 있지만 활성화 접두사의 의도한 제한 효과를 취소한다. 따라서, 빈 접두사에 대해 더 작은 편향 가중치 λ이 사용될 수 있다.
표 1은, 실험 E0 및 E1은 편향 없이 각각 자소 및 WPM 기준선을 나타내고, 실험 E2는 제안된 개선 사항 없이 자소 편향 결과들을 나타내며, 실험 E3은 노래, 실제-연락처, 연락처 TTS 및 앱들에 관련된 문맥 세트들에 대해 빔에 나쁜 후보를 유지하는 것을 방지하기 위해 감산 비용을 사용한다.
더 긴 단위에서 편향이 발생하도록 자소에서 WPM 편향(E4)으로 전환하면 빔에서 더 관련성 있는 후보를 유지하는 데 도움이 되고 성능도 향상된다. 마지막으로, 아래에 조기 편향으로 표시된 프루닝 전에 편향 FST를 적용하면 좋은 후보가 초기에 빔에 남아 있는지 확인하고 추가 개선(E5)을 유도한다. 전반적으로 가장 좋은 얕은 융합 설정은 WPM 수준에서 감산 비용과 초기 편향을 사용하여 편향하는 것이다.
Exp
ID
모델 노래들 실제-
연락처
연락처-
TTS
앱들
E0 자소, 무 편향 19.6 18.6 28.3 13.0
E1 WPM, 무 편향 22.7 15.8 37.0 13.3
E2 자소, 편향 14.8 12.5 24.2 8.7
E3 + 감산 비용 8.1 10.0 13.2 5.8
E4 + WPM 6.2 8.3 10.0 3.6
E5 + 초기 편향 5.3 7.5 7.3 2.7
표 1: 얕은 융합 결과들
동적 클래스 편향이 항상 켜져 있으므로, 발화에 편향 문구가 없을 때 성능이 저하되지 않는 것이 중요하다. 표 2는 반문맥 결과들을 보여준다. El은 기준선 무 편향 WPM이다. 이 모델을 편향하면(E5) VS 및 IME에서 성능이 크게 저하된다. 섹션 2.3.3에서 논의된 바와 같이, 기존 모델은 편향 FST에 접두사를 포함하여 이 문제를 해결한다. 접두사를 가중치 없이 사용하여 접두사를 무시하고 문맥이 편향된 경우(E6), VS 및 IME의 결과들은 향상되지만 편향 세트의 품질들은 저하된다. 그러나, E7에서 빈 접두사가 있는 경로를 포함하면, 오버바이어스가 발생하여 VS 및 IME의 성능이 저하된다. 서버와 마찬가지로 솔루션은 빈 접두사(E7)가 앞에 오는 경우 문맥적 문구에 더 작은 가중치를 사용하는 것이다. 이 접근 방식을 사용하면 VS 및 IME의 성능 저하가 거의 관찰되지 않으며 편향 테스트 세트(E8)에서도 성능이 향상된다.
Exp
ID
모델 VS IME 노래들 실제-
연락처
연락처-
TTS
앱들
E1 WPM, 무 편향 6.9 4.0 22.7 15.8 37.0 13.3
E5 + 편향,
무 접두사
12.5 6.4 5.3 7.5 7.3 2.7
E6 + 빈 접두사 없음 7.0 4.0 10.1 6.9 7.6 2.7
E7 + 빈 접두사 12.5 6.4 5.3 7.9 7.4 2.4
E8 +빈 접두사,
낮은 가중치
7.3 4.1 5.3 6.7 6.8 2.4
표 2: 반문맥 결과들
또한, 표 3은 고유 명사에 대한 지식을 향상시킴으로써 편향 수를 향상시킬 수 있음을 보여준다. 여기서 기준선은 3,500만 개의 지도된 VS 발화들에 대해 훈련된 RNN-T WPM인 E8이다. 실험 E9는 지도되지 않은 데이터로 훈련할 때 모든 편향 테스트 세트에 대한 개선 사항을 보여준다. TTS 데이터를 사용한 훈련(E10)은 지도되지 않은 데이터(E9)에 비해 TTS 테스트 세트에서 더 큰 개선을 제공하지만 실제 테스트 세트(실제-연락처)에서 더 큰 저하를 초래한다. 이것은 TTS 편향 세트의 개선이 고유 명사의 풍부한 어휘를 학습하기보다는 훈련과 테스트 데이터 간의 일치된 오디오 조건에서 주로 발생한다는 것을 나타낸다. 마지막으로, 퍼징 전사들(E11)은 모든 세트들에서 품질 저하를 보여준다. 앞으로의 분석은 E9(지도되지 않은 데이터)를 기반으로 한다.
Exp
ID
모델 노래들 실제-
연락처
연락처-
TTS
앱들
E8 지도된 데이터 22.7 15.8 37.0 13.3
+ 편향 5.3 6.7 6.8 2.4
E9 지도+지도되지않은 데이터 14.7 15.4 25.0 9.6
+ 편향 4.8 5.4 5.2 2.0
E10 TTS+편향 4.3 7.1 1.8 1.0
E11 퍼징+편향 7.2 11.0 14.0 4.4
표 3: 고유 명사 결과들
표 4는 편향 문구 오류율(ERR), 및 편향 문구들의 OOV들에서 만들어진 오류의 백분율을 보여주고, 이 문구들에서 OOV들의 총 수를 고려한다(OOV). 첫째, 표는 모든 테스트 세트들에서 지도되지 않은 데이터가 편향과 상관없이 ERR 메트릭을 크게 향상시킨다는 것을 나타낸다. 또한, 지도되지 않은 데이터 모델은 훈련에서 더 많은 단어를 보았기 때문에 편향이 있는 ERR 메트릭이 더 좋다. 둘째, 편향 없이 OOV 메트릭은 95%를 초과하여 단어가 OOV인 경우 거의 확실히 감지되지 않음을 보여준다. 그러나, 지도되지 않은 데이터로 훈련할 때, 편향은 지도된 데이터에 대한 훈련보다 OOV들의 오류들을 크게 개선한다. 두 메트릭 모두 지도되지 않은 데이터가 모델이 더 많은 고유 명사를 보는 데 도움이 되고 모델이 빔에 올바른 단어를 가져올 수 있는 더 많은 자신감을 준다는 것을 나타낸다.
모델 노래들 실제-연락처 연락처-TTS 앱들
Err OOV Err OOV Err OOV Err OOV
E8 21.1 94.7 23.0 91.9 62.9 99.0 16.2 97.9
+편향 4.5 64.2 8.0 29.4 7.0 24.4 2.0 26.1
E9 15.5 90.8 22.3 94.6 55.6 100.0 12.1 100
+편향 3.8 60.2 5.6 19.0 4.6 20.8 1.8 15.4
표 4: 편향 문구들의 오류율 및 OOV로 인한 오류들
표 5는 RNN-T의 편향 성능을 별도의 PM 및 LM과 함께 문맥상 독립적 음소 대상으로 훈련된 CTC AM으로 구성된 비교 가능한 크기(130MB)의 기존 모델과 비교한다. RNN-T 모델은 다른 카테고리들에 비해 표 1의 더 높은 OOV 비율로 인해 노래를 제외한 모든 카테고리들에서 상대적으로 내장된 기존 모델보다 20% 내지 40% 더 나은 성능을 보인다.
모델 VS IME 노래들 실제-연락처 연락처-TTS 앱들
RNN-T 6.7 3.9 4.8 5.4 5.2 2.0
기존 9.3 5.3 2.4 6.8 5.7 2.4
표 5: 종단 간 대 기존 모델 편향
종단 간 모델은 단일 전체-신경 종단 간 시스템이 별도의 음향(AM), 발음(PM) 및 언어 모델(LM)을 갖는 기존 모델에 비해 훨씬 간단하고 컴팩트한 솔루션을 제공하기 때문에 음성 인식의 유망한 연구 방향이다. 하지만, 종단 간 모델은 때때로 꼬리 단어(예: 단어 사용 분포의 "긴 꼬리"에 있는 흔하지 않은 단어) 및 고유 명사에 대해 제대로 수행되지 않음을 알 수 있는데, 이는 종단 간 최적화에는 조인트 오디오-텍스트 쌍이 필요하고 기존 모델들에서 LM들을 훈련하는 데 사용되는 추가 어휘들 및 대량의 텍스트 전용 데이터를 활용하지 않기 때문일 수 있다. 텍스트 전용 데이터에 대해 순환 신경망 언어 모델(RNN-LM)을 훈련하고 이를 종단 간 모델에 융합하는 데 많은 노력이 있었다. 이 논의에서, 종단 간 모델 훈련에 대한 이 접근 방식은 지도되지 않은 음성 데이터에서 생성된 오디오 텍스트 쌍과 대조된다. 특히, 고유명사 문제를 대상으로 하기 위해 POS(Part-of-Speech) 태거는 고유명사가 있는 데이터만 사용하도록 지도되지 않은 데이터를 필터링한다. 필터링된 지도되지 않은 데이터를 사용한 훈련은 단어 오류율(WER)에서 최대 13%의 상대적 감소를 제공하고, 콜드-퓨전 RNN-LM과 함께 사용할 경우 최대 17%의 상대적 개선을 제공한다.
종단 간 모델은 자동 음성 인식(ASR)을 위한 간단하면서도 효과적인 방법을 제공한다. 전통적으로, ASR 시스템은 AM, PM 및 LM으로 구성되는 반면 종단 간 모델은 이 세 가지 구성 요소를 공동으로 최적화된 단일 신경망으로 접는다. 듣기, 출석 및 철자법(LAS)은 강력한 기존 ASR 시스템과 비교할 때 유망한 결과를 보여준 종단 간 모델 중 하나이다. 그러나, 기존 시스템의 LM은 대량의 텍스트 전용 데이터에 대해 독립적으로 학습할 수 있지만, LAS 모델을 학습하려면 오디오-텍스트 쌍이 필요하며 수집 비용이 훨씬 더 많이 들고 규모가 훨씬 작다. 따라서, LAS는 노래 이름, 연락처 등과 같은 희귀 단어 또는 문구를 인식하는 데 기존 모델에 비해 성능이 떨어진다. 짝을 이루지 않은 텍스트 데이터를 사용하여 종단 간 모델 성능을 향상시키려는 많은 노력이 있었다. 인기 있는 연구 방향 중 하나는 텍스트 전용 데이터로 훈련된 외부 LM을 종단 간 모델과 통합하는 것이다. 예를 들어, 종단 간 모델은 텍스트 전용 데이터에서 사전 훈련된 LM으로 초기화된 다음 다중 작업 훈련을 통해 LM과 공동으로 최적화할 수 있다. 또한, 신경 기계 번역 및 ASR 모두에 대해 얕은 융합을 통해 독립적으로 훈련된 종단 간 및 LM 모델을 보간하는 방법이 탐색되었다. 또한, 텍스트 전용 데이터에 대해 훈련된 RNN-LM을 콜드 및 딥 퓨전을 통해 종단 간 디코더에 통합하는 방법이 탐색되었다. 전반적으로, 텍스트 전용 데이터를 활용하면 ASR에 대한 WER이 3% 내지 7% 향상되는 것으로 나타났다. 단일 언어 훈련 데이터로 기계 번역을 개선하기 위해 역번역이 탐색되었다. 이것은 BLEU 점수를 2.8 내지 3.7 향상시켰다. 이 아이디어는 손상된 텍스트 데이터에서 생성된 합성 오디오가 종단 간 모델들을 훈련하기 위해 오디오-텍스트 쌍을 확장하는 데 사용되는 음성 인식에도 적용되었다. TTS 데이터를 사용하면 TTS 테스트 세트가 크게 향상되지만 실제 테스트 세트에서는 성능 저하가 관찰되었다.
또한, 종래의 ASR 시스템은 성능을 향상시키기 위해 레이블이 지정되지 않은 오디오 데이터를 사용한다. 기존 ASR 시스템의 신뢰도 점수는 일반적으로 더 많은 데이터로 훈련할 지도되지 않은 데이터를 선택하는 데 사용된다. 예를 들어, 지도되지 않은 음성 데이터는 낮은 자원 언어들에 대한 인식 단어 신뢰도 점수와 MLP 포스터오그램 기반 음소 발생 신뢰도의 조합을 사용하여 선택할 수 있다. 비디오 음성 캡션 작업의 경우, WER 성능을 향상시키기 위해 훈련 데이터의 양을 크게 늘리기 위해 "신뢰의 섬" 접근 방식이 개발되었다.
LAS와 같은 전체 신경 종단 간 시스템을 훈련하려면 AM, PM 및 LM을 공동으로 학습하기 위해 오디오 텍스트 쌍이 필요하다. 이 공동 훈련은 잠재적으로 더 나은 최적화를 허용하지만 쌍으로 된 오디오 텍스트 데이터의 사용도 제한하므로 희귀 단어와 고유 명사에 대해 종단 간 모델 성능이 저하된다. 이 작업에서, 기술은 전사되지 않은 음성 데이터를 활용하여 이러한 꼬리 단어들에 대한 종단 간 모델의 성능을 향상시킨다.
지도되지 않은 오디오-텍스트 쌍에서 가능한 불일치를 해결하는 또 다른 방법은 단일 스피커 TTS 엔진과 병렬 WaveNet 보코더를 사용하여 텍스트 가설에서 합성 오디오를 생성하는 것이다. 이것은 기계 번역에서 사용되는 "역번역" 접근 방식과 유사하다. 이 접근 방식의 잠재적인 문제 중 하나는 실제 음성과 합성 오디오 간의 음향 차이, 특히 제한된 화자 특성과 깔끔한 말하기 스타일이다.
이 문제를 해결하기 위해 LAS 모델의 인코더와 디코더를 역전파하는 것은 디코더만 역전파하는 것과 비교된다. 인코더는 AM을 나타내며 실제 조건에서 훈련되어야 한다. 그러나, 디코더는 LM과 유사하며 덜 현실적인 조건으로 훈련될 수 있다. 따라서, 디코더만 역전파하면 TTS 데이터와 관련된 비현실적인 오디오 문제를 해결할 수 있다.
10억 개 이상의 지도되지 않은 발화를 사용할 수 있다. 이것은 지도되지 않은 데이터가 많을수록 모델이 훈련 중에 훨씬 더 많은 어휘를 볼 수 있다는 이점이 있다. 그러나 데이터가 많을수록 모델 학습 시간이 길어진다.
따라서, LAS 모델을 훈련시키기 위해 데이터의 서브세트가 선택된다. 특히, 모델은 고유 명사에서 제대로 작동하지 않기 때문에 이러한 발화를 포함하도록 지도되지 않은 데이터를 필터링하면 모든 데이터를 사용하는 것에 비해 훈련 시간이 더 짧고 지도되지 않은 데이터의 품질이 향상될 수 있다. 발화에 고유 명사가 포함되어 있는지 여부는 텍스트 가설에서 POS(Part-of-Speech) 태거를 실행하여 결정한다. 실험은 사람이 전사한 지도된 훈련 세트와 레이블이 지정되지 않은 지도되지 않은 훈련 세트에서 수행된다. 지도된 훈련 세트는 3,500만 영어 발화들(~ 27,500시간)로 구성된다. 이러한 발화들은 익명 처리되고 손으로 전사되었으며 인터넷 음성 검색 및 받아쓰기 트래픽을 나타낸다. 이러한 발화들은 룸 시뮬레이터를 사용하여 인위적으로 더 손상되어 전체 SNR이 0dB에서 30dB 사이이고 평균 SNR이 12dB가 되도록 다양한 정도의 노이즈와 잔향을 추가한다. 소음원은 인터넷 동영상과 일상생활에서 발생하는 소음 환경 녹음에서 비롯된다. 각 발화에 대한 훈련을 위해 25개의 서로 다른 노이즈 버전이 생성된다.
실험은 25ms 창으로 계산되고 10ms마다 이동하는 80차원 log-Mel 기능을 사용한다. 각 현재 프레임에서 이러한 기능은 왼쪽에 3개의 연속 프레임으로 쌓인 다음 30ms 프레임 속도로 다운 샘플링된다. 실험은 LAS 모델로 수행된다. 특히, 인코더 네트워크는 10개의 단방향 LSTM(long short-term memory) 계층으로 구성되며 각 계층에는 2,048개의 은닉 유닛과 384차원 투영 계층이 있다. 인코더 네트워크의 두 번째 계층 이후, 각 프레임은 인접한 왼쪽 인접 프레임과 연결되고 다음 계층으로 전달되기 전에 2만큼 스트라이드된다. 이러한 스택 계층은 프레임 속도를 60ms로 추가로 줄인다. 계층 정규화는 인코더 계층에 채택되어 훈련을 안정화한다. 4개의 주의 헤드가 있는 추가 주의가 사용된다. 디코더 네트워크는 2,048개의 은닉 유닛과 384의 출력 투영 크기를 가진 4개의 단방향 LSTM 계층으로 구성된다. LAS 모델의 출력은 16K 단어 조각의 어휘이다.
모델들은 텐서플로를 사용하여 레이블 평활화 및 교차 엔트로피 손실로 훈련된다. 실험은 전역 뱃치 크기가 4,096인 8x8 TPU(Tensor Processing Units) 슬라이스를 사용하고 ~ 200,000단계에 대해 모델을 훈련시킨다.
지도된 학습 데이터(B0로 표시)만으로 학습된 LAS 모델의 성능은 표 6에 표현된다. 약한 증류에 대한 교사 모델로 사용되는 전체 스택 기존 모델의 성능도 제시된다. 교사 모델은 기존의 문맥 의존적 음소 기반의 낮은 프레임 속도 음향 모델, 400만 단어 발음 어휘 및 5그램 언어 모델이다. 이 모델을 B1이라고 한다. 교사 모델은 동일한 지도된 훈련 데이터를 사용하여 훈련된다. 이 표는 LAS 모델이 대부분의 테스트 세트에서 기존 모델을 능가함을 보여준다. 그러나, 기존 모델은 실제로 문맥 정보를 사용하여 검색 공간을 정리하므로 고유 명사(노래, 연락처, 앱)가 많은 세트에서 WER을 줄이는 데 도움이 된다. 문맥 편향이 적용된 교사 모델의 성능은 표 6에서 B2로 표시된다.
인식된 가설에 인코딩된 지식을 추출하기 위해, B0는 10억 개의 지도되지 않은 데이터를 훈련시킨다. B2에 의해 생성된 가설은 해당 전사물들의 오류에 관계없이 참조 전사물들로 사용된다. 450K 단계(E0)에 대한 10억 개의 지도되지 않은 데이터에 대한 훈련에서는 모든 TTS 세트에서 우수한 개선을 얻었지만 음성 검색 및 실제-연락처에서는 저하가 관찰되었다. TTS 세트의 승리는 주로 데이터에서 가져온 더 많은 단어 변형에서 비롯되지만 손실은 디코딩된 가설의 오류로 인해 가장 가능성이 높다. 음성 검색 및 실제-연락처의 성능 저하를 줄이기 위해 E0은 150K 단계(El)에 대한 감독 데이터로 더욱 미세 조정된다. 모든 테스트 세트에서 B0보다 향상되었다.
Exp VS 앱들 노래들 연락처들
TTS 실제
B0 5.4 9.2 13.5 24.8 15.0
B1
B2
6.8
-
9.0
-
13.1
2.2
26.0
3.7
16.8
6.3
표 6: 기준 실험들의 WER 성능(%)
10억 개의 데이터로 훈련하려면 오랜 시간이 걸린다. 이 양의 데이터가 필요한지 여부를 이해하기 위해 비지도 데이터를 각각 5억과 1억으로 무작위로 다운 샘플링한다. 이 모델은 먼저 지도되지 않은 데이터만(E2 및 E4) 훈련한 다음 지도된 데이터(E3 및 E5)를 미세 조정한다. 테스트 세트 전체에서 1억 및 5억 개의 비지도 데이터로 이득을 얻었지만 10억 개의 데이터를 사용하면 약간 더 나은 성능을 제공한다.
Exp 지도되지 않은
데이터
VS 앱들 노래들 연락처들
TTS 실제
B0 0 5.4 9.2 13.5 24.8 15.0
E0
E1
1B 6.7
5.0
9.2
8.9
12.9
12.9
23.3
23.9
18.5
14.5
E2
E3
500M 6.8
5.2
9.5
8.8
13.3
12.3
23.6
24.0
19.4
15.1
E4
E5
100M 6.7
5.2
9.6
8.7
13.6
12.9
24.6
24.1
16.9
14.7
표 7: 지도되지 않은 데이터를 사용한 2단계 훈련의 WER 성능(%)
표 7의 실험은 지도되지 않은 데이터로 LAS 모델을 훈련시킨 후, 지도 데이터를 사용하여 모델을 다시 미세 조정해야 함을 보여주었다. 훈련 절차를 단순화하기 위해 훈련 중에 지도된 데이터 및 지도되지 않은 데이터가 함께 혼합된다. 특히, 훈련용 발화 뱃치를 생성할 때마다 고정 비율로 두 훈련 세트에서 무작위 선택이 발생한다. 예를 들어, 혼합 비율이 8:2인 경우 훈련 뱃치는 80%의 시간에 지도된 데이터에서, 20%의 시간에 지도되지 않은 데이터에서 가져온다.
표 8의 결과로부터 지도된 데이터와 지도되지 않은 데이터를 혼합하는 것이 지도되지 않은 데이터를 효과적으로 활용하는 방법이다. 세 가지 다른 비율 중에서 8:2는 약간의 차이가 있지만 전반적으로 최고의 성능을 제공한다. E8을 El과 비교할 때 음성 검색의 이득은 El에 비해 작지만 고유 명사(앱들, 노래들, 연락처들)가 더 많은 테스트 세트에서 훨씬 더 낮은 WER이 달성된다.
이 섹션에서는 지도되지 않은 데이터를 통합하는 다양한 접근 방식을 비교한다. 모든 실험들은 빠른 실험 전환을 위해 지도되지 않은 데이터의 무작위로 샘플링된 1억 개의 하위 집합을 사용한다. E9는 E8과 정확히 같은 방식으로 훈련되지만 지도되지 않은 데이터가 적다.
Exp 비율 VS 앱들 노래들 연락처들
TTS 실제
B0
E1
-
-
5.4
5.0
9.2
8.9
13.5
12.9
24.8
23.9
15.0
14.5
E6
E7
E8
6:4
7:3
8:2
5.4
5.3
5.3
8.0
7.8
7.8
11.5
11.3
11.3
22.9
22.9
22.8
13.7
13.7
13.7
표 8: 지도되지 않은 데이터를 사용한 혼합 훈련의 WER 성능(%).
"비율"은 지도된 데이터와 지도되지 않은 데이터를 사용하는 비율에 대응한다.
Exp 정보 VS 앱들 노래들 연락처들
TTS 실제
B0
E9
-
8:2(100M)
5.4
5.2
9.2
8.2
13.5
11.9
24.8
23.6
15.0
13.8
E10
E11
TTS(enc+dec)
TTS(dec)
5.2
5.3
3.1
3.3
5.2
5.2
14.2
14.2
14.5
14.7
E12 LM 퓨전 5.1 9.0 12.7 24.1 14.7
표 9: 오디오 전용 데이터와 텍스트 전용 데이터 사용의 WER 성능(%)
표 9의 결과는 지도되지 않은 데이터가 적을수록 일반 음성 검색 테스트 세트에서 약간 더 나은 성능을 생성하지만 꼬리 단어가 더 많은 테스트 세트에서 더 높은 WER을 생성한다는 것을 보여준다. 다음으로, 오디오는 지도되지 않은 전사물에서 합성되며, 여기서 앞서 언급한 TTS 시스템은 희귀 단어 테스트 세트를 생성하는 데 사용된다. E9에서 사용된 비지도 데이터는 이 TTS 훈련 세트로 대체되고 결과는 E10으로 표 9에 표시된다. 모든 TTS 테스트 세트에 대해 큰 WER 감소를 달성하지만 실제-연락처들의 성능은 저하된다. TTS 세트의 이러한 엄청난 오류 감소는 주로 추가된 지도되지 않은 데이터와 테스트 세트 간의 일치된 음향에서 비롯된다. 실제 데이터와 합성 데이터 사이의 잠재적인 불일치 오디오 조건을 피하기 위해 인코더 네트워크 파라미터들의 업데이트가 비활성화되고 LAS 모델의 디코더 네트워크만 훈련 중에 업데이트된다. 결과들(E11)은 앱에서 약간 저하된 E10과 유사하다. TTS 세트의 큰 오류 감소에도 불구하고 E9에 비해 더 현실적인 테스트 세트의 저하가 실제를 말해준다. 따라서, E9는 E10 및 E11보다 선호된다.
지도되지 않은 데이터를 활용하는 또 다른 방법은 LM을 LAS 시스템에 통합하는 것이다. 특히, RNN-LM은 지도된 및 지도되지 않은 1억 개의 데이터 전사물에 대해 훈련된 다음 콜드 퓨전을 사용하여 LAS 모델 훈련에 통합된다. 결과(E12)는 지도된 기준선(B0)에 비해 2% 내지 6% 상대적 WER 감소를 보여주지만 이득은 E9에 비해 훨씬 작다.
이 섹션은 지도되지 않은 데이터를 더 잘 활용하는 방법을 탐구한다. 첫째, 1억 개의 지도되지 않은 발화에 대한 무작위 선택(E9) 대신 지도된 데이터를 필터링하여 고유 명사가 있는 데이터(표 10의 E13)만 훈련에 사용한다. 이렇게 하면 LAS 모델이 좋지 않은 발화를 선택할 수 있다. 이 선택은 고유 명사 태거로 수행된다. 고유명사를 중심으로 한 1억 개의 비지도 데이터를 지도 학습 데이터와 동일한 8:2 비율로 혼합하여 훈련한다. 동일한 양의 데이터로 고유명사 필터링된 음성을 사용한 훈련은 무작위 선택을 사용한 4% 내지 12% 상대적 감소에 비해 6% 내지 13% 상대적 WER 감소를 제공한다.
Exp 정보 VS 앱들 노래들 연락처들
TTS 실제
B0
E8
- 5.4 9.2 13.5 24.8 15.0
1B 랜덤 5.3 7.8 11.3 22.8 13.7
E9
E13
100M 랜덤 5.2 8.2 11.9 23.6 13.8
100M 필터링됨 5.1 8.0 12.0 22.8 13.6
E14 500M 필터링됨, 퓨전 5.0 7.7 11.2 21.9 13.2
표 10: 고유명사 필터링 비지도 데이터 사용의 WER 성능(%)
마지막으로 필터링 아이디어는 10억 개의 지도되지 않은 학습 데이터 전체로 확장되어 고유 명사가 포함된 약 5억 개의 발화를 남긴다. 필터링된 데이터를 사용하는 약한 증류는 콜드 퓨전과 결합된다. 최종 결과(표 10의 E14)는 10억 개의 데이터를 모두 사용하는 것보다 훨씬 우수하며 4개의 테스트 세트 모두에서 기준 시스템의 WER을 상대적으로 6% 내지 17% 줄인다.
지도되지 않은 데이터로 인한 개선 사항을 이해하기 위해, 이 섹션에서는 두 시스템들 BO 및 E14를 비교한다. BO는 지도되지 않은 훈련 데이터만 사용하는 반면 E14는 추가의 지도되지 않은 훈련 데이터를 사용한다. 테스트 세트에는 나타나지만 해당 훈련 세트에는 나타나지 않는 고유한 단어의 비율로 계산된 "OOV(out-of-vocabulary)" 비율이 표 11에 나와 있다. 지도되지 않은 데이터의 경우, 고유명사 세트의 OOV 비율은 최대 84.0%까지 떨어진다. 이것은 지도되지 않은 데이터가 실제로 더 많은 꼬리 단어를 가져온다는 것을 암시한다.
테스트 세트 WER OOV 비율
BO E14 Rel. B0 E14 Rel.
VS
앱들
노래들
연락처-TTS
연락처-실제
5.4
9.2
13.5
24.8
15.0
5.0
7.7
11.2
21.9
13.2
7.4
16.3
17.0
11.7
12.0
2.3
0.6
0.9
2.5
1.9
2.1
0.1
0.6
0.4
0.7
8.7
83.3
33.3
84.0
63.2
표 11: 지도된 데이터만으로 훈련된 기준 모델("B0")과 지도된 데이터와 5억 개의 고유명사 필터링된 지도되지 않은 데이터의 8:2 혼합 비율로 훈련된 최고의 시스템("E14") 사이의 WER(%) 및 00V 속도(%) 비교. "Rel."은 상대적인 개선을 보여준다.
긴 꼬리 단어들에 대한 LAS 모델의 성능을 향상시키기 위해 지도되지 않은 음성 데이터의 사용이 조사되었다. 문맥 편향이 있는 기존 ASR 시스템은 많은 양의 지도되지 않은 데이터에 대한 텍스트 가설을 스크립트 사실로 생성하기 위해 교사 모델로 사용되었다. 이 기계 레이블 데이터는 사람 레이블 데이터와 혼합되어 종단 간 LAS 모델을 훈련했다. 희귀 단어들에 대한 LAS 모델의 약점에 집중하기 위해 지도되지 않은 데이터에 고유명사 기반 필터링을 적용했다. 필터링된 데이터로, 실험 결과들은 지도되지 않은 데이터를 도입함으로써 최대 17%의 상대적 WER 감소를 달성할 수 있음을 보여주었다.
예를 들어, 접두사 "call"의 발생은 연락처 이름이 다음 단어일 가능성이 있음을 나타낼 수 있고, 따라서 이 접두사에 대한 접두사 FST(163)는 음성 인식기(100)가 연락처 이름 문맥 FST(160)를 가능하게 할 수 있다.
소프트웨어 애플리케이션(즉, 소프트웨어 리소스)은 컴퓨팅 장치가 작업을 수행하도록 하는 컴퓨터 소프트웨어를 의미할 수 있다. 일부 예들에서, 소프트웨어 애플리케이션은 "애플리케이션", "앱" 또는 "프로그램"으로 지칭될 수 있다. 예시적인 애플리케이션에는 시스템 진단 애플리케이션, 시스템 관리 애플리케이션, 시스템 유지 관리 애플리케이션, 워드 처리 애플리케이션, 스프레드시트 애플리케이션, 메시징 애플리케이션, 미디어 스트리밍 애플리케이션, 소셜 네트워킹 애플리케이션 및 게임 애플리케이션이 포함되지만 이에 국한되지 않는다.
비일시적 메모리는 컴퓨팅 장치에서 사용하기 위해 임시 또는 영구적으로 프로그램(예: 명령어들의 시퀀스) 또는 데이터(예: 프로그램 상태 정보)를 저장하는 데 사용되는 물리적 장치일 수 있다. 비일시적 메모리는 휘발성 및/또는 비휘발성 주소 지정 가능 반도체 메모리일 수 있다. 비휘발성 메모리의 예로는, 플래시 메모리 및 ROM(read-only memory)/PROM(programmable read-only memory)/EPROM(erasable programmable read-only memory)/EEPROM(electronically erasable programmable read-only memory)(예: 일반적으로 부팅 프로그램과 같은 펌웨어에 사용됨)를 포함할 수 있지만, 이에 국한되지 않는다. 휘발성 메모리의 예에는 RAM(Random Access Memory), DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), PCM(Phase Change Memory) 및 디스크 또는 테이프가 포함되지만 이에 국한되지 않는다.
도 5는 스피치를 전사하기 위해 문맥적 편향을 사용하는 방법(500)에 대한 예시적인 동작들의 배열의 흐름도이다. 동작(502)에서, 방법(500)은 데이터 처리 하드웨어(610)(도 6)에서 발화(120)를 인코딩하는 오디오 데이터(125)를 수신하는 단계를 포함한다. 일부 예들에서, 데이터 처리 하드웨어(610)는 사용자 장치(110) 상에 상주한다. 다른 구현들에서, 데이터 처리 하드웨어(610)는 사용자 장치(111)와 통신하는 원격 서버(111)에 상주한다. 사용자 장치(110)는 사용자(115)에 의해 발화된 발화(120)를 캡처하고 발화(120)를 인코딩하는 오디오 데이터(125)를 생성하는 하나 이상의 마이크로폰을 포함할 수 있다.
동작(504)에서, 방법(500)은 데이터 처리 하드웨어(610)에 의해 음성 인식 모델(200)을 사용하여 음성 요소에 대한 음성 인식 점수(145)를 생성하기 위해 오디오 데이터(125)를 처리하는 단계를 포함한다. 음성 인식 점수(145)는 상이한 음성 요소가 발생했을 가능성을 나타낼 수 있다. 음성 요소들의 예는 단어 조각 또는 자소를 포함할 수 있다. 음성 인식 모델(200)은 단일 모델(예: 신경망)에 발음 모델, 음향 모델 및 언어 모델의 기능을 결합한 종단 간 모델을 포함하기 때문에, 음성 인식 모델(200)은 음향 특징(135), 또는 심지어 원시 오디오 데이터(125)를 수신할 수 있고, 응답으로 철자 특징(예를 들어, 자소, 단어 조각 또는 단어)의 가능성을 나타내는 출력 점수를 제공할 수 있다.
동작(506)에서, 방법(500)은 또한 데이터 처리 하드웨어(610)에 의해 발화(120)에 대한 문맥(122)을 나타내는 문맥 데이터에 기초하여 음성 요소들에 대한 문맥 점수(166)를 결정하는 단계를 포함한다. 음성 인식기(100)는 발화(120)의 문맥(122)에 대한 다양한 유형의 정보를 수신하는 문맥 분석 모듈(165)을 포함할 수 있다. 예를 들어, 문맥 분석 모듈(165)은 장치(110)의 위치, 장치(110)를 사용하여 사용자(115)에 의해 수행되는 작업, 장치(110)에서 열려 있거나 활성화된 애플리케이션 등에 관한 정보를 수신할 수 있다. 문맥 분석 모듈(165)은 또한 빔 검색 프로세스 동안 부분적 또는 예비 전사(186)를 포함하여 가장 최근에 인식된 자소, 단어 조각, 단어 또는 구와 같은 가장 최근의 음성 인식 결정을 나타내는 데이터를 수신할 수 있다. 순차적으로 발생하는 것으로 도시되었지만, 문맥 분석 모듈(165)은 문맥 점수(166)를 계산할 수 있는 한편, 음성 인식 모델(200)은 음성 인식 점수(145)를 계산하기 위해 오디오 특징(135)을 평가한다.
동작(508)에서, 방법(500)은 또한 음성 인식 점수(145) 및 문맥 점수(166)를 사용하여 데이터 처리 하드웨어(610)에 의해 발화(120)에 대한 하나 이상의 후보 전사를 결정하기 위해 빔 탐색 디코딩 프로세스를 실행하는 단계를 포함한다. 빔 탐색 프로세스는 음성 격자(175)를 통한 잠재적 경로를 평가하고 전사(185)를 결정할 수 있다. 격자(175)를 통한 각각의 경로는 상이한 후보 전사를 나타낼 수 있다. 여기서, 문맥 점수(166)는 일반적으로 음성 인식보다 현재 문맥에서 특정 사용자(115)와 더 관련이 있는 용어로 인식을 편향시킨다. 일부 구현들에서, 점수 결합기(170)는 음성 인식 스코어(145)를 문맥 점수(166)와 결합하여 음성 격자(175)에서 사용되는 결합 점수(172)를 생성한다. 중요하게도, 문맥 점수(166)의 편향 영향은 격자(175)의 프루닝 전 및 빔 탐색에서의 빔 프루닝 전에 음성 격자(175)에 적용된다. 그 결과, 문맥 점수(166)의 영향으로 인해 프루닝되었을 수 있는 관련 용어는 빔 검색 프로세스 및 관련 프루닝을 통해 유지된다.
동작(510)에서, 방법(500)은 또한 데이터 처리 하드웨어(610)에 의해 하나 이상의 후보 전사로부터 발화(120)에 대한 전사(185)를 선택하는 단계를 포함한다. 격자(175)를 통한 각각의 경로는 상이한 후보 전사를 나타낼 수 있다. 빔 프루닝(180)은 가능한 단어 또는 단어 조각에 대해 검색되는 격자(175)의 범위를 감소시킬 수 있다. 각 단어 조각의 확률이 계산되면 가장 가능성 있는 경로만 남을 때까지 가능성이 없는 검색 경로가 제거된다. 전사(185)가 결정되면, 전사(185)는 예를 들어, 사용자(115)에게 표시되고, 텍스트 필드에 입력되고, 검색 엔진에 쿼리로 전송되거나, 디지털 대화 도우미에 요청으로 전송되고, 음성 명령으로 해석되는 것과 같은 다양한 방식들로 사용될 수 있다.
도 6는 본 문서에 서술된 시스템들 및 방법들을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 디바이스(600)의 개략도이다. 컴퓨팅 디바이스(600)는 랩톱들, 데스크탑들, 워크스테이션들, 개인용 디지털 보조장치들, 서버들, 블레이드 서버들, 메인프레임들 및 기타 적절한 컴퓨터들과 같은 다양한 형태들의 디지털 컴퓨터들을 나타내도록 의도된다. 여기에 표시된 컴포넌트들, 이들의 연결들 및 관계들 및 기능들은 예시일 뿐이며, 이 이 문서에서 서술 및/또는 청구된 발명들의 구현들을 제한하려는 것은 아니다.
컴퓨팅 디바이스(600)는 프로세서(610), 메모리(620), 저장 장치(630), 메모리(620) 및 고속 확장 포트들(650)에 연결되는 고속 인터페이스/제어기(640) 및 저속 버스(670) 및 저장 장치(630)에 연결되는 저속 인터페이스/제어기(660)를 포함한다. 각각의 컴포넌트들(610, 620, 630, 640, 650, 660)은 다양한 버스들을 사용하여 상호 연결되며, 공통 마더 보드상에 또는 적절한 다른 방식으로 장착될 수 있다. 프로세서(610)는 메모리(620)에 또는 저장 장치(630)상에 저장된 명령어들을 포함하여 컴퓨팅 디바이스(600) 내에서 실행하기 위한 명령어들을 처리하여, 고속 인터페이스(640)에 연결된 디스플레이(680)와 같은 외부 입력/출력 디바이스 상에 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 표시한다. 다른 구현들에서, 다수의 프로세서들 및/또는 다수의 버스들이 다수의 메모리들 및 메모리의 유형들과 함께 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들(600)은 필요한 동작들의 일부들을 제공하는 각 디바이스(예를 들어, 서버 뱅크, 블레이드 서버들의 그룹, 또는 다중 프로세서 시스템)와 연결될 수 있다.
메모리(620)는 컴퓨팅 디바이스(600) 내에 비 일시적으로 정보를 저장한다. 메모리(620)는 컴퓨터 판독 가능 매체, 휘발성 메모리 유닛(들) 또는 비 휘발성 메모리 유닛(들)일 수 있다. 비 일시적 메모리(620)는 컴퓨팅 디바이스(600)에서 사용하기 위해 임시 또는 영구적으로 프로그램들(예를 들어, 명령들의 시퀀스) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는데 사용되는 물리적 디바이스들일 수 있다. 비 휘발성 메모리의 예들은, 플래시 메모리 및 ROM(read-only memory)/PROM(programmable read-only memory)/EPROM(erasable programmable read-only memory)/EEPROM(electronically erasable programmable read-only memory)(예를 들어, 일반적으로 부팅 프로그램들과 같은 펌웨어에 사용됨)를 포함하지만, 이에 제한되지 않는다. 휘발성 메모리의 예들은, RAM(Random Access Memory), DRAM (Dynamic Random Access Memory), SRAM(Static Random Access Memory), PCM(Phase Change Memory) 및 디스크 또는 테이프가 포함되지만 이에 제한되지는 않는다.
저장 디바이스(630)는 컴퓨팅 디바이스(600)에 대용량 저장 장치를 제공할 수 있다. 일부 구현들에서, 저장 디바이스(630)는 컴퓨터 판독 가능 매체이다. 다양한 다른 구현들에서, 저장 디바이스(630)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스 또는 테이프 디바이스, 플래시 메모리 또는 기타 유사한 솔리드 스테이트 메모리 디바이스, 또는 저장 영역 네트워크 또는 다른 궝들에서 디바이스들을 포함하는 디바이스들의 어레이일 수 있다. 추가 구현들에서, 컴퓨터 프로그램 제품은 정보 매체에 유형적으로 구현된다. 컴퓨터 프로그램 제품에는 실행시 위에서 설명한 것과 같은 하나 이상의 방법들을 수행하는 명령어들이 포함되어 있다. 정보 매체는, 메모리(620), 저장 디바이스(630) 또는 프로세서 (610)상의 메모리와 같은 컴퓨터 또는 기계 판독 가능 매체이다.
고속 제어기(640)는 컴퓨팅 디바이스(600)에 대한 대역폭 집약적인 동작들을 관리하는 반면, 저속 제어기(660)는 낮은 대역폭 집약적인 동작들을 관리한다. 이러한 업무 할당은 예시일 뿐이다. 일부 구현들에서, 고속 제어기(640)는, 메모리(620), 디스플레이(680)(예를 들어, 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드들(도시되지 않음)을 수용할 수 있는 고속 확장 포트들(650)에 결합된다. 일부 구현들에서, 저속 제어기(660)는 저장 디바이스(630) 및 저속 확장 포트(690)에 결합된다. 다양한 통신 포트들(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트(690)는, 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입력/출력 디바이스, 또는 스위치 또는 라우터와 같은 네트워킹 디바이스(예를 들어, 네트워크 어댑터를 통해)에 결합될 수 있다.
컴퓨팅 디바이스(600)는 도면에 도시된 바와 같이 다수의 상이한 형태들로 구현될 수 있다. 예를 들어, 표준 서버(600a)로서 또는 그러한 서버들(600a)의 그룹에서 여러 번, 랩톱 컴퓨터(600b) 또는 랙 서버 시스템(600c)의 일부로서 구현될 수 있다.
여기에 서술된 시스템들 및 기술들의 다양한 구현들은 디지털 전자 및/또는 광학 회로, 집적 회로, 특별히 설계된 ASIC(application specific integrated circuits), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합들로 실현될 수 있다. 이러한 다양한 구현들에는, 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 출력 디바이스로부터 데이터 및 명령어들을 수신하고 그리고 이들에 데이터 및 명령어들을 전송하도록 결합된 특수 또는 범용일 수 있는 적어도 하나의 프로그래밍 가능 프로세서를 포함하는 프로그래밍 가능 시스템상에서 실행 가능하고 그리고/또는 해석 가능한 하나 이상의 컴퓨터 프로그램들에서의 구현을 포함할 수 있다.
이러한 컴퓨터 프로그램들(프로그램들, 소프트웨어, 소프트웨어 애플리케이션들 또는 코드라고도 함)에는 프로그래밍 가능한 프로세서에 대한 기계 명령어들이 포함되어 있으며, 그리고 고급 절차 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/기계에서 구현될 수 있다. 본 명세서에서 사용되는 용어들 "기계 판독 가능 매체" 및 "컴퓨터 판독 가능 매체"는, 기계 판독 가능 신호로 기계 명령어들을 수신하는 기계 판독 가능 매체를 포함하여 프로그래밍 가능 프로세서에 기계 명령어들 및/또는 데이터를 제공하는데 사용되는 임의의 컴퓨터 프로그램 제품, 비 일시적 컴퓨터 판독가능 매체, 장치 및/또는 디바이스(예를 들어, 자기 디스크들, 광 디스크들, 메모리, 프로그래밍가능한 논리 디바이스(PLD)들)를 말한다. 용어 "기계 판독 가능 신호"는 기계 명령어들 및/또는 데이터를 프로그래밍 가능 프로세서에 제공하는데 사용되는 모든 신호를 말한다.
본 명세서에 서술된 프로세스들 및 논리 흐름들은 데이터 처리 하드웨어라고도하는 하나 이상의 프로그래밍 가능 프로세서에 의해 수행될 수 있으며, 하나 이상의 컴퓨터 프로그램을 실행하여 입력 데이터를 조작하고 출력을 생성함으로써 기능을 수행할 수 있다. 프로세스들 및 논리 흐름들은, 특수 목적의 논리 회로, 예를 들어, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)에 의해 또한 수행될 수 있다. 컴퓨터 프로그램의 실행에 적합한 프로세서들은, 예를 들어, 범용 및 특수 목적의 마이크로 프로세서들과 모든 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로 프로세서는 읽기 전용 메모리 나 랜덤 액세스 메모리 또는 둘 다에서 명령어들 및 데이터를 수신한다. 컴퓨터의 필수 요소들은 명령어들을 수행하기 위한 프로세서와 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치를 포함하거나, 또는 예를 들어 자기, 광 자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 이들에 데이터를 전송하거나 둘 모두를 수행하기 위해 하나 이상의 대용량 저장 장치에 작동 가능하게 결합된다. 그러나, 컴퓨터에는 이러한 장치가 필요하지 않다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는, 예를 들어, EPROM, EEPROM 및 플래시 메모리 장치와 같은 반도체 메모리 디바이스들; 자기 디스크들, 예를 들어, 내부 하드 디스크 또는 이동식 디스크; 광 자기 디스크들; 및 CD ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태의 비 휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 발명의 하나 이상의 양태들은, 정보를 사용자에게 디스플레이하기 위한 CRT(음극선 관), LCD(액정 디스플레이) 모니터 또는 터치 스크린과 같은 디스플레이 장치, 및 선택적으로 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스, 예를 들어, 마우스 또는 트랙볼을 갖는 컴퓨터에서 구현될 수 있다. 사용자와의 상호 작용을 제공하기 위해 다른 종류의 장치들도 사용할 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 예를 들어 시각적 피드백, 청각적 피드백 또는 촉각적 피드백과 같은 모든 형태의 감각 피드백일 수 있다. 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함한 모든 형태로 수신될 수 있다. 또한, 컴퓨터는 사용자가 사용하는 장치와 문서들을 주고 받음으로써, 예를 들어, 웹 브라우저에서 받은 요청에 대한 응답으로 사용자 클라이언트 디바이스의 웹 브라우저에 웹 페이지를 전송함으로써 사용자와 상호 작용할 수 있다.
많은 구현들이 서술되었다. 그럼에도 불구하고, 본 발명의 사상 및 범위를 벗어나지 않고 다양한 변형들이 이루어질 수 있음을 이해할 것이다. 따라서, 다른 구현들은 다음 청구항들의 범위 내에 있다.

Claims (36)

  1. 방법(500)으로서,
    데이터 처리 하드웨어(610)에서, 발화(utterance)(120)를 인코딩하는 오디오 데이터(125)를 수신하는 단계와;
    상기 데이터 처리 하드웨어(610)에 의해, 음성 인식 모델(220)을 사용하여, 음성 요소들에 대한 음성 인식 점수들(145)을 생성하기 위해 상기 오디오 데이터(125)를 처리하는 단계와;
    상기 데이터 처리 하드웨어(610)에 의해, 상기 발화(120)에 대한 문맥(context)(122)을 나타내는 문맥 데이터에 기초하여 상기 음성 요소들에 대한 문맥 점수들(166)을 결정하는 단계와;
    상기 데이터 처리 하드웨어(610)에 의해, 상기 음성 인식 점수들(145) 및 상기 문맥 점수들(166)을 사용하여, 상기 발화(120)에 대한 하나 이상의 후보 전사(transcription)를 결정하기 위해 빔 탐색 디코딩 프로세스(180)를 실행하는 단계와; 그리고
    상기 데이터 처리 하드웨어(610)에 의해, 상기 하나 이상의 후보 전사로부터 상기 발화(120)에 대한 전사(185)를 선택하는 단계를 포함하는 것을 특징으로 하는
    방법(500).
  2. 제1항에 있어서,
    상기 빔 탐색 디코딩 프로세스(180)의 실행 동안, 상기 문맥 점수(166)는 평가로부터 하나 이상의 후보 전사 중 하나를 프루닝(pruning)하기 전에 상기 하나 이상의 후보 전사의 가능성을 조정하도록 구성되는 것을 특징을 하는
    방법(500).
  3. 제1항 또는 제2항에 있어서,
    상기 빔 탐색 디코딩 프로세스(180)를 실행하는 단계는, 상기 발화(120)에 대한 하나 이상의 후보 전사를 결정하기 위해 음성 인식 격자(175)를 통해 경로들을 프루닝하기 위해 상기 문맥 점수들(166)을 사용하는 단계를 포함하는 것을 특징으로 하는
    방법(500).
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 데이터 처리 하드웨어(610)에 의해, 상기 문맥 데이터에 기초하여 상기 발화(120)에 대한 특정 문맥(122)을 식별하는 단계를 더 포함하고,
    상기 음성 요소들에 대한 문맥 점수들(166)을 결정하는 단계는 상기 식별된 특정 문맥(122)에 기초하는 것을 특징으로 하는
    방법(500).
  5. 제4항에 있어서,
    상기 음성 요소들에 대한 문맥 점수들(166)을 결정하는 단계는, 문맥 유한 상태 변환기(FST; finite-state transducer)(160)를 사용하여 상기 음성 요소들에 대한 문맥 점수들(166)을 결정하고, 상기 문맥 FST(160)는 상기 특정 문맥(122)에 대응하는 것을 특징으로 하는
    방법(500).
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 발화(120)를 인코딩하는 오디오 데이터(125)를 수신하기 전에,
    상기 데이터 처리 하드웨어(610)에 의해, 상기 발화(120)를 말한 사용자(115)의 개인화된 데이터 수집(150)에서 각각이 상이한 세트의 단어들 또는 구들을 나타내는 복수의 문맥 FST(160)들을 생성하는 단계 - 상기 복수의 문맥 FST(160)들 내의 각 문맥 FST(160)는 상이한 특정 문맥(122)에 대응함 - 와; 그리고
    상기 데이터 처리 하드웨어(610)에 의해, 상기 데이터 처리 하드웨어(610)와 통신하는 메모리 하드웨어(620)에 복수의 문맥 FST(160)들을 저장하는 단계를 더 포함하는 것을 특징으로 하는
    방법(500).
  7. 제6항에 있어서,
    상기 개인화된 데이터 수집(150)은 상기 사용자(115)에 대한 연락처 목록을 포함하는 것을 특징으로 하는
    방법(500).
  8. 제6항 또는 제7항에 있어서,
    상기 개인화된 데이터 수집(150)은 상기 사용자(115)를 위한 미디어 라이브러리를 포함하는 것을 특징으로 하는
    방법(500).
  9. 제6항 내지 제8항 중 어느 한 항에 있어서,
    상기 개인화된 데이터 수집(150)은 상기 사용자(115)와 연관된 사용자 장치(110)에 설치된 애플리케이션들의 목록을 포함하는 것을 특징으로 하는
    방법(500).
  10. 제6항 내지 제9항 중 어느 한 항에 있어서,
    상기 복수의 문맥 FST들(160) 내의 적어도 하나의 문맥 FST(160) 각각에 대해,
    상기 데이터 처리 하드웨어(610)에 의해, 대응하는 문맥 FST(160)의 상이한 특정 문맥(122)에 각각 대응하는 하나 이상의 접두사(prefix)의 세트를 포함하는 대응하는 접두사 FST(163)를 생성하는 단계와; 그리고
    상기 데이터 처리 하드웨어(610)에 의해, 복수의 문맥 FST들(160) 내의 적어도 하나의 문맥 FST(160)에 대해 생성된 상기 대응하는 접두사 FST(163)를 저장하는 단계를 더 포함하는 것을 특징으로 하는
    방법(500).
  11. 제10항에 있어서,
    상기 데이터 처리 하드웨어(610)에 의해, 상기 발화(120)에 대한 예비 전사(186)(185)가 상기 대응하는 접두사 FST(163)의 하나 이상의 접두사 중 하나를 포함한다고 결정하는 단계와; 그리고
    상기 데이터 처리 하드웨어(610)에 의해, 상기 예비 전사(186)에 포함된 하나 이상의 접두사 중 하나를 포함하는 접두사 FST(163)에 대응하는 상기 문맥 FST(160)를 선택적으로 활성화하는 단계를 더 포함하고,
    상기 음성 요소들에 대한 문맥 점수들(166)을 결정하는 단계는 상기 선택적으로 활성화된 문맥 FST(160)에 기초하는 것을 특징으로 하는
    방법(500).
  12. 제1항 내지 제11항 중 어느 한 항에 있어서,
    상기 데이터 처리 하드웨어(610)는:
    상기 발화(120)를 말한 사용자(115)와 연관된 사용자 장치(110)에 상주하고; 그리고
    상기 음성 인식 모델(220)을 실행하는 것을 특징으로 하는
    방법(500).
  13. 제1항 내지 제12항 중 어느 한 항에 있어서,
    상기 음성 인식 모델(220)은 종단 간 음성 인식 모델(end-to-end speech recognition model)을 포함하는 것을 특징으로 하는
    방법(500).
  14. 제13항에 있어서,
    상기 종단 간 음성 인식 모델은 순환 신경망 변환기(RNN-T; recurrent neural network-transducer)를 포함하는 것을 특징으로 하는
    방법(500).
  15. 제1항 내지 제14항 중 어느 한 항에 있어서,
    상기 데이터 처리 하드웨어(610)에 의해, 상기 발화(120)에 대한 예비 전사(186)는 상기 발화(120)에 대한 문맥(122)에 대응하는 접두사 요소를 나타내는 단어를 포함함을 결정하는 단계를 더 포함하고,
    상기 음성 요소들에 대한 문맥 점수들(166)을 결정하는 단계는, 상기 발화(120)에 대한 예비 전사(186)가 상기 발화(120)에 대한 문맥(122)에 대응하는 접두사 요소를 나타내는 단어를 포함함을 결정하는 것에 기초하는 것을 특징으로 하는
    방법(500).
  16. 제1항 내지 제15항 중 어느 한 항에 있어서,
    상기 문맥(122)에 기초하여 상기 음성 요소들에 대한 문맥 점수들을 결정하는 단계는, 하위 단어 단위들을 나타내는 요소들을 사용하여 문맥 용어들을 나타내는 문맥 FST(160)를 사용함으로써 상기 문맥 점수들(166)을 결정하는 단계를 포함하는 것을 특징으로 하는
    방법(500).
  17. 제16항에 있어서,
    상기 문맥 FST(160)는,
    문맥 용어의 하위 단어 단위들 사이의 각각의 전환을 편향(bias)하도록 구성된 전환 가중치; 및
    상기 전환 가중치의 편향 효과를 취소하도록 구성된 오프셋 가중치들을 갖는 백오프 아크들을 포함하는 것을 특징으로 하는
    방법(500).
  18. 제1항 내지 제17항 중 어느 한 항에 있어서,
    상기 음성 요소는 단어 조각들(wordpieces) 또는 자소들(graphemes)을 포함하는 것을 특징으로 하는
    방법(500).
  19. 시스템(100)으로서,
    데이터 처리 하드웨어(610); 및
    상기 데이터 처리 하드웨어(610)와 통신하는 메모리 하드웨어(620)를 포함하고,
    상기 메모리 하드웨어(620)는 명령어들을 저장하고, 상기 명령어들은 상기 데이터 처리 하드웨어(610) 상에서 실행될 때 상기 데이터 처리 하드웨어(610)로 하여금 동작들을 수행하게 하며, 동작들은:
    발화(120)를 인코딩하는 오디오 데이터(125)를 수신하는 단계와;
    음성 인식 모델(220)을 사용하여, 음성 요소들에 대한 음성 인식 점수들(145)을 생성하기 위해 상기 오디오 데이터(125)를 처리하는 단계와;
    상기 발화(120)에 대한 문맥(122)을 나타내는 문맥 데이터에 기초하여 상기 음성 요소들에 대한 문맥 점수들(166)을 결정하는 단계와;
    상기 음성 인식 점수들(145) 및 상기 문맥 점수들(166)을 사용하여, 상기 발화(120)에 대한 하나 이상의 후보 전사를 결정하기 위해 빔 탐색 디코딩 프로세스(180)를 실행하는 단계와; 그리고
    상기 하나 이상의 후보 전사로부터 상기 발화(120)에 대한 전사(185)를 선택하는 단계를 포함하는 것을 특징으로 하는
    시스템(100).
  20. 제19항에 있어서,
    상기 빔 탐색 디코딩 프로세스(180)의 실행 동안, 상기 문맥 점수(166)는 평가로부터 하나 이상의 후보 전사 중 하나를 프루닝하기 전에 상기 하나 이상의 후보 전사의 가능성을 조정하도록 구성되는 것을 특징을 하는
    시스템(100).
  21. 제19항 또는 제20항에 있어서,
    상기 빔 탐색 디코딩 프로세스(180)를 실행하는 단계는, 상기 발화(120)에 대한 하나 이상의 후보 전사를 결정하기 위해 음성 인식 격자(175)를 통해 경로들을 프루닝하기 위해 상기 문맥 점수들(166)을 사용하는 단계를 포함하는 것을 특징으로 하는
    시스템(100).
  22. 제19항 내지 제21항 중 어느 한 항에 있어서,
    상기 동작들은:
    상기 문맥 데이터에 기초하여 상기 발화(120)에 대한 특정 문맥(122)을 식별하는 단계를 더 포함하고,
    상기 음성 요소들에 대한 문맥 점수들(166)을 결정하는 단계는 상기 식별된 특정 문맥(122)에 기초하는 것을 특징으로 하는
    시스템(100).
  23. 제22항에 있어서,
    상기 음성 요소들에 대한 문맥 점수들(166)을 결정하는 단계는, 문맥 유한 상태 변환기(FST)(160)를 사용하여 상기 음성 요소들에 대한 문맥 점수들(166)을 결정하고, 상기 문맥 FST(160)는 상기 식별된 특정 문맥(122)에 대응하는 것을 특징으로 하는
    시스템(100).
  24. 제19항 내지 제23항 중 어느 한 항에 있어서,
    상기 동작들은:
    상기 발화(120)를 인코딩하는 오디오 데이터(125)를 수신하기 전에,
    상기 발화(120)를 말한 사용자(115)의 개인화된 데이터 수집(150)에서 각각이 상이한 세트의 단어들 또는 구들을 나타내는 복수의 문맥 FST(160)들을 생성하는 단계 - 상기 복수의 문맥 FST(160)들 내의 각 문맥 FST(160)는 상이한 특정 문맥(122)에 대응함 - 와; 그리고
    상기 데이터 처리 하드웨어(610)와 통신하는 메모리 하드웨어(620)에 복수의 문맥 FST(160)들을 저장하는 단계를 더 포함하는 것을 특징으로 하는
    시스템(100).
  25. 제24항에 있어서,
    상기 개인화된 데이터 수집(150)은 상기 사용자(115)에 대한 연락처 목록을 포함하는 것을 특징으로 하는
    시스템(100).
  26. 제24항 또는 제25항에 있어서,
    상기 개인화된 데이터 수집(150)은 상기 사용자(115)를 위한 미디어 라이브러리를 포함하는 것을 특징으로 하는
    시스템(100).
  27. 제24항 내지 제26항 중 어느 한 항에 있어서,
    상기 개인화된 데이터 수집(150)은 상기 사용자(115)와 연관된 사용자 장치(110)에 설치된 애플리케이션들의 목록을 포함하는 것을 특징으로 하는
    시스템(100).
  28. 제24항 내지 제27항 중 어느 한 항에 있어서,
    상기 동작들은:
    상기 복수의 문맥 FST들(160) 내의 적어도 하나의 문맥 FST(160) 각각에 대해,
    대응하는 문맥 FST(160)의 상이한 특정 문맥(122)에 각각 대응하는 하나 이상의 접두사의 세트를 포함하는 대응하는 접두사 FST(163)를 생성하는 단계와; 그리고
    복수의 문맥 FST들(160) 내의 적어도 하나의 문맥 FST(160)에 대해 생성된 상기 대응하는 접두사 FST(163)를 저장하는 단계를 더 포함하는 것을 특징으로 하는
    시스템(100).
  29. 제28항에 있어서,
    상기 발화(120)에 대한 예비 전사(186)가 상기 대응하는 접두사 FST(163)의 하나 이상의 접두사 중 하나를 포함한다고 결정하는 단계와; 그리고
    상기 예비 전사(186)에 포함된 하나 이상의 접두사 중 하나를 포함하는 접두사 FST(163)에 대응하는 상기 문맥 FST(160)를 선택적으로 활성화하는 단계를 더 포함하고,
    상기 음성 요소들에 대한 문맥 점수들(166)을 결정하는 단계는 상기 선택적으로 활성화된 문맥 FST(160)에 기초하는 것을 특징으로 하는
    시스템(100).
  30. 제19항 내지 제29항 중 어느 한 항에 있어서,
    상기 데이터 처리 하드웨어(610)는:
    상기 발화(120)를 말한 사용자(115)와 연관된 사용자 장치(110)에 상주하고; 그리고
    상기 음성 인식 모델(220)을 실행하는 것을 특징으로 하는
    시스템(100).
  31. 제19항 내지 제30항 중 어느 한 항에 있어서,
    상기 음성 인식 모델(220)은 종단 간 음성 인식 모델을 포함하는 것을 특징으로 하는
    시스템(100).
  32. 제31항에 있어서,
    상기 종단 간 음성 인식 모델은 순환 신경망 변환기(RNN-T)를 포함하는 것을 특징으로 하는
    시스템(100).
  33. 제19항 내지 제32항 중 어느 한 항에 있어서,
    상기 동작들은:
    상기 발화(120)에 대한 예비 전사(186)는 상기 발화(120)에 대한 문맥(122)에 대응하는 접두사 요소를 나타내는 단어를 포함함을 결정하는 단계를 더 포함하고,
    상기 음성 요소들에 대한 문맥 점수들(166)을 결정하는 단계는, 상기 발화(120)에 대한 예비 전사(186)가 상기 발화(120)에 대한 문맥(122)에 대응하는 접두사 요소를 나타내는 단어를 포함함을 결정하는 것에 기초하는 것을 특징으로 하는
    시스템(100).
  34. 제19항 내지 제33항 중 어느 한 항에 있어서,
    상기 문맥(122)에 기초하여 상기 음성 요소들에 대한 문맥 점수들을 결정하는 단계는, 하위 단어 단위들을 나타내는 요소들을 사용하여 문맥 용어들을 나타내는 문맥 FST(160)를 사용함으로써 상기 문맥 점수들(166)을 결정하는 단계를 포함하는 것을 특징으로 하는
    시스템(100).
  35. 제34항에 있어서,
    상기 문맥 FST(160)는,
    문맥 용어의 하위 단어 단위들 사이의 각각의 전환을 편향하도록 구성된 전환 가중치; 및
    상기 전환 가중치의 편향 효과를 취소하도록 구성된 오프셋 가중치들을 갖는 백오프 아크들을 포함하는 것을 특징으로 하는
    시스템(100).
  36. 제19항 내지 제35항 중 어느 한 항에 있어서,
    상기 음성 요소는 단어 조각들 또는 자소들을 포함하는 것을 특징으로 하는
    시스템(100).
KR1020217040648A 2019-05-10 2020-03-24 음성 인식을 위한 종단 간 모델과 함께 컨텍스트 정보 사용 KR20220008309A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962846192P 2019-05-10 2019-05-10
US62/846,192 2019-05-10
PCT/US2020/024404 WO2020231522A1 (en) 2019-05-10 2020-03-24 Using context information with end-to-end models for speech recognition

Publications (1)

Publication Number Publication Date
KR20220008309A true KR20220008309A (ko) 2022-01-20

Family

ID=70286001

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217040648A KR20220008309A (ko) 2019-05-10 2020-03-24 음성 인식을 위한 종단 간 모델과 함께 컨텍스트 정보 사용

Country Status (6)

Country Link
US (1) US11545142B2 (ko)
EP (1) EP3966808A1 (ko)
JP (1) JP7417634B2 (ko)
KR (1) KR20220008309A (ko)
CN (1) CN113874935A (ko)
WO (1) WO2020231522A1 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109243428B (zh) * 2018-10-15 2019-11-26 百度在线网络技术(北京)有限公司 一种建立语音识别模型的方法、语音识别方法及系统
US11430433B2 (en) * 2019-05-05 2022-08-30 Microsoft Technology Licensing, Llc Meeting-adapted language model for speech recognition
US11282500B2 (en) * 2019-07-19 2022-03-22 Cisco Technology, Inc. Generating and training new wake words
CN110648658B (zh) * 2019-09-06 2022-04-08 北京达佳互联信息技术有限公司 一种语音识别模型的生成方法、装置及电子设备
EP4073789B1 (en) * 2020-01-17 2023-11-08 Google LLC Alphanumeric sequence biasing for automatic speech recognition
US20210343277A1 (en) * 2020-04-29 2021-11-04 Samsung Electronics Co., Ltd. System and method for out-of-vocabulary phrase support in automatic speech recognition
US11715461B2 (en) * 2020-10-21 2023-08-01 Huawei Technologies Co., Ltd. Transformer-based automatic speech recognition system incorporating time-reduction layer
WO2022087180A1 (en) 2020-10-21 2022-04-28 Google Llc Using speech recognition to improve cross-language speech synthesis
CN113129870B (zh) * 2021-03-23 2022-03-25 北京百度网讯科技有限公司 语音识别模型的训练方法、装置、设备和存储介质
WO2022256026A1 (en) * 2021-06-04 2022-12-08 Google Llc Systems and methods for generating phonetic spelling variations
CN113516968B (zh) * 2021-06-07 2022-05-20 北京邮电大学 一种端到端长时语音识别方法
CN113393833B (zh) * 2021-06-16 2024-04-02 中国科学技术大学 音视频唤醒方法、系统、设备及存储介质
US11893983B2 (en) * 2021-06-23 2024-02-06 International Business Machines Corporation Adding words to a prefix tree for improving speech recognition
CN113793597A (zh) * 2021-09-15 2021-12-14 云知声智能科技股份有限公司 一种语音识别方法、装置、电子设备和存储介质
CN118076997A (zh) * 2021-09-30 2024-05-24 谷歌有限责任公司 用于罕见词语音辨识的大规模语言模型数据选择
GB2607131B (en) * 2021-11-11 2023-11-08 Intelligent Voice Ltd Self-learning end-to-end automatic speech recognition
US11908454B2 (en) 2021-12-01 2024-02-20 International Business Machines Corporation Integrating text inputs for training and adapting neural network transducer ASR models
US20230197064A1 (en) * 2021-12-17 2023-06-22 Snap Inc. Speech to entity
CN114818738A (zh) * 2022-03-01 2022-07-29 达而观信息科技(上海)有限公司 一种客服热线用户意图轨迹识别的方法及系统
CN114495114B (zh) * 2022-04-18 2022-08-05 华南理工大学 基于ctc解码器的文本序列识别模型校准方法
CN114765025A (zh) * 2022-04-25 2022-07-19 脸萌有限公司 语音识别模型的生成方法、识别方法、装置、介质及设备
US20230360646A1 (en) * 2022-05-05 2023-11-09 Nuance Communications, Inc. End-to-end automatic speech recognition system for both conversational and command-and-control speech
CN114944148B (zh) * 2022-07-09 2023-08-22 昆明理工大学 融合外部语言知识的流式越南语语音识别方法
WO2024091427A1 (en) * 2022-10-26 2024-05-02 Google Llc Contextual biasing with text injection
CN117708568A (zh) * 2024-02-02 2024-03-15 智慧眼科技股份有限公司 大语言模型的特征提取方法、装置、计算机设备及介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6574597B1 (en) * 1998-05-08 2003-06-03 At&T Corp. Fully expanded context-dependent networks for speech recognition
US7308404B2 (en) * 2001-09-28 2007-12-11 Sri International Method and apparatus for speech recognition using a dynamic vocabulary
KR101683083B1 (ko) * 2011-09-30 2016-12-07 애플 인크. 가상 비서에서 커맨드 처리를 용이하게 하기 위한 컨텍스트 정보의 이용
US9449598B1 (en) * 2013-09-26 2016-09-20 Amazon Technologies, Inc. Speech recognition with combined grammar and statistical language models
US10540957B2 (en) * 2014-12-15 2020-01-21 Baidu Usa Llc Systems and methods for speech transcription
US10049668B2 (en) * 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10304444B2 (en) * 2016-03-23 2019-05-28 Amazon Technologies, Inc. Fine-grained natural language understanding
KR102295161B1 (ko) * 2016-06-01 2021-08-27 메사추세츠 인스티튜트 오브 테크놀로지 저전력 자동 음성 인식 장치
US9934777B1 (en) * 2016-07-01 2018-04-03 Amazon Technologies, Inc. Customized speech processing language models
US20180293221A1 (en) * 2017-02-14 2018-10-11 Microsoft Technology Licensing, Llc Speech parsing with intelligent assistant
US20180330718A1 (en) * 2017-05-11 2018-11-15 Mitsubishi Electric Research Laboratories, Inc. System and Method for End-to-End speech recognition

Also Published As

Publication number Publication date
US20200357388A1 (en) 2020-11-12
US11545142B2 (en) 2023-01-03
JP2022531615A (ja) 2022-07-07
JP7417634B2 (ja) 2024-01-18
CN113874935A (zh) 2021-12-31
WO2020231522A1 (en) 2020-11-19
EP3966808A1 (en) 2022-03-16

Similar Documents

Publication Publication Date Title
US11545142B2 (en) Using context information with end-to-end models for speech recognition
Zhao et al. Shallow-Fusion End-to-End Contextual Biasing.
JP7234415B2 (ja) 音声認識のためのコンテキストバイアス
US10140973B1 (en) Text-to-speech processing using previously speech processed data
KR102390940B1 (ko) 음성 인식을 위한 컨텍스트 바이어싱
KR102375115B1 (ko) 엔드-투-엔드 모델들에서 교차-언어 음성 인식을 위한 음소-기반 컨텍스트화
KR20230086737A (ko) 단순화된 스트리밍 및 비스트리밍 스피치 인식을 위한 캐스케이드 인코더들
EP4375882A2 (en) Proper noun recognition in end-to-end speech recognition
US20230343328A1 (en) Efficient streaming non-recurrent on-device end-to-end model
JP2023175029A (ja) アテンションベースのジョイント音響およびテキストのオンデバイス・エンド・ツー・エンドモデル
US20230096821A1 (en) Large-Scale Language Model Data Selection for Rare-Word Speech Recognition
KR102637025B1 (ko) 자동 음성 인식을 위한 다언어 리스코어링 모델들
US20240029720A1 (en) Context-aware Neural Confidence Estimation for Rare Word Speech Recognition
KR20230156795A (ko) 단어 분할 규칙화

Legal Events

Date Code Title Description
A201 Request for examination