KR20220090586A - 오디오-비주얼 매칭을 사용한 자동 음성 인식 가설 재점수화 - Google Patents

오디오-비주얼 매칭을 사용한 자동 음성 인식 가설 재점수화 Download PDF

Info

Publication number
KR20220090586A
KR20220090586A KR1020227020415A KR20227020415A KR20220090586A KR 20220090586 A KR20220090586 A KR 20220090586A KR 1020227020415 A KR1020227020415 A KR 1020227020415A KR 20227020415 A KR20227020415 A KR 20227020415A KR 20220090586 A KR20220090586 A KR 20220090586A
Authority
KR
South Korea
Prior art keywords
utterance
candidate
user
transcriptions
candidate transcriptions
Prior art date
Application number
KR1020227020415A
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 KR20220090586A publication Critical patent/KR20220090586A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/083Recognition networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/02Methods for producing synthetic speech; Speech synthesisers
    • 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/01Assessment or evaluation of speech recognition 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/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/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/24Speech recognition using non-acoustical features
    • G10L15/25Speech recognition using non-acoustical features using position of the lips, movement of the lips or face analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • G10L25/57Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for processing of video signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

방법(400)은 사용자가 말한 발화(101)에 대응하는 오디오 데이터(112)를 수신하는 단계, 상기 사용자가 발화를 말하는 동안 상기 사용자의 입술의 움직임을 나타내는 비디오 데이터(114)를 수신하는 단계, 및 상기 오디오 데이터에 기초하여 상기 발화에 대한 다수의 후보 전사(135)를 획득하는 단계를 포함한다. 다수의 후보 전사의 각 후보 전사에 대해, 방법은 상기 대응하는 후보 전사의 합성된 음성 표현(145)을 생성하는 단계 및 합성된 음성 표현이 상기 사용자(10)가 상기 발화(101)를 말하는 동안 상기 사용자의 입술의 움직임과 일치할 가능성을 나타내는 일치 점수(155)를 결정하는 단계를 포함한다. 또한 방법은 상기 발화에 대한 상기 다수의 후보 전사에 대해 결정된 일치 점수에 기초하여, 상기 발화에 대한 다수의 후보 전사 중 하나를 음성 인식 출력(175)으로서 선택하는 단계를 포함한다.

Description

오디오-비주얼 매칭을 사용한 자동 음성 인식 가설 재점수화
본 개시는 오디오-비주얼 매칭을 사용하여 자동 음성 인식(ASR) 가설을 재점수화하는 것에 관한 것이다.
자동 음성 인식(ASR)은 모바일 디바이스 및 다른 디바이스에서 일반적으로 사용되는 중요한 기술이다. 일반적으로 자동 음성 인식은 사람이 말한 내용을 정확하게 전사하려고 시도한다. 시끄러운 환경에서, 또는 녹음된 발화의 오디오 품질이 좋지 않은 경우, 정확한 ASR 결과를 얻는 것이 어려울 수 있다. 스피커의 비디오 데이터를 사용할 수 있는 경우, 비디오 데이터를 활용하여 ASR 결과를 개선할 수 있다. 예를 들어, 화자의 비디오 데이터는 화자가 말하는 동안 입술의 움직임을 제공할 수 있으며, 이는 차례로 ASR 결과 프로세싱을 돕기 위해 발화의 오디오 데이터와 결합될 수 있다.
본 개시의 일 양태는 오디오-비주얼 매칭을 사용하여 자동 음성 인식(ASR) 가설을 재점수화하기 위한 방법을 제공한다. 방법은 데이터 프로세싱 하드웨어에서, 사용자가 말한 발화에 대응하는 오디오 데이터 및 사용자가 발화를 말하는 동안 사용자의 입술의 움직임을 나타내는 비디오 데이터를 수신하는 단계를 포함한다. 상기 방법은 상기 데이터 프로세싱 하드웨어에 의해, 상기 오디오 데이터에 기초하여 상기 발화에 대한 다수의 후보 전사를 획득하는 단계를 포함한다. 상기 발화에 대한 상기 다수의 후보 전사 중 각 후보 전사에 대해: 상기 방법은 상기 데이터 프로세싱 하드웨어에 의해, 상기 대응하는 후보 전사의 합성된 음성 표현을 생성하는 단계; 및 상기 데이터 프로세싱 하드웨어에 의해, 상기 대응하는 후보 전사의 합성된 음성 표현이 상기 사용자가 상기 발화를 말하는 동안 상기 사용자의 입술의 움직임과 일치할 가능성을 나타내는 일치 점수를 결정하는 단계를 포함한다. 또한 방법은 상기 데이터 프로세싱 하드웨어에 의해, 상기 발화에 대한 상기 다수의 후보 전사에 대해 결정된 일치 점수에 기초하여, 상기 발화에 대한 다수의 후보 전사 중 하나를 음성 인식 출력으로서 선택하는 단계를 포함한다.
본 개시의 구현예는 다음 구성들 중 하나 이상을 포함할 수 있다. 일부 구현예에서, 일치 점수를 결정하는 단계는 상기 대응하는 후보 전사의 합성된 음성 표현 및 상기 사용자의 입술의 움직임을 나타내는 비디오 데이터를 피처 입력으로서 일치 점수 모델에 제공하는 단계 및 상기 일치 점수 모델로부터, 상기 대응하는 후보 전사의 합성된 음성 표현이 상기 사용자의 입술의 움직임과 일치하는 정도에 기초하여 일치 점수를 피처 출력으로서 결정하는 단계를 포함한다. 이러한 구현예에서, 일치 점수 모델은 포지티브 트레이닝 예시 및 네거티브 트레이닝 예시를 포함하는 복수의 트레이닝 예시에 대해 트레이닝된다. 포지티브 트레이닝 예시는 음성의 발화를 나타내는 오디오 데이터 및 상기 음성의 발화와 일치하는 화자의 입술의 움직임을 나타내는 비디오 데이터를 포함하고, 네거티브 트레이닝 예시는 음성의 발화를 나타내는 오디오 데이터 및 음성의 발화와 일치하지 않는 화자의 입술의 움직임을 나타내는 비디오 데이터를 포함한다.
일부 예시에서, 상기 발화에 대한 다수의 후보 전사 중 하나를 음성 인식 출력으로서 선택하는 단계는 발화에 대한 다수의 후보 전사로부터, 가장 높은 일치 점수와 연관된 후보 전사를 상기 발화에 대한 음성 인식 출력으로서 선택하는 단계를 포함한다.
일부 구현예에서, 발화에 대한 다수의 후보 전사를 획득하는 단계는 음성 인식기 모듈을 사용하여, 상기 오디오 데이터에 기초하여 상기 발화에 대한 후보 전사의 초기 세트를 생성하는 단계를 포함하며, 상기 후보 전사의 초기 세트에서 각 후보 전사는 상기 후보 전사가 정확할 가능성을 나타내는 대응 가능성 점수와 연관된다. 구현예는 상기 가능성 점수에 기초하여, 상기 후보 전사의 초기 세트에서 후보 전사에 순위를 매기는 단계, 및 가장 높은 가능성 점수와 연관된 상기 후보 전사의 초기 세트에서 N-후보 전사로서 상기 발화에 대한 다수의 후보 전사를 결정하는 단계를 더 포함하며, 상기 식별된 다수의 후보는 연관된 가능성 점수에 따라 순위가 매겨진다. 이들 구현예에서, 상기 방법은 상기 발화에 대한 다수의 전사 중 하나를 선택하기 전에, 상기 데이터 프로세싱 하드웨어에 의해, 상기 발화에 대한 다수의 후보 전사에 대해 결정된 일치 점수에 기초하여 상기 발화에 대한 다수의 후보 전사의 순위를 다시 매기는 단계를 더 포함한다.
일부 예에서, 발화에 대한 다수의 후보 전사를 획득하는 단계는 음성 인식기 모듈을 사용하여, 상기 오디오 데이터에 기초하여 상기 발화에 대한 후보 전사의 초기 세트를 생성하는 단계를 포함하며, 상기 후보 전사의 초기 세트에서 각 후보 전사는 상기 후보 전사가 정확할 가능성을 나타내는 대응 가능성 점수와 연관된다. 일부 구현예에서, 상기 방법은 가능성 임계값을 만족하는 가능성 점수와 연관된 상기 후보 전사의 초기 세트에서 둘 이상의 후보 전사를 식별하는 단계, 및 상기 가능성 임계값을 만족하는 가능성 점수와 연관된 상기 후보 전사의 초기 세트에서 식별된 2개 이상의 후보 전사로서 상기 발화에 대한 다수의 후보 전사를 결정하는 단계를 포함한다.
일부 구현예에서, 발화에 대한 다수의 후보 전사는 동일한 언어와 연관된다. 다른 예에서, 상기 발화에 대한 다수의 후보 전사 중 적어도 하나는 다른 다수의 후보 전사와 다른 언어와 연관된다.
일부 예시에서, 상기 사용자(10)가 말한 발화에 대응하는 오디오 데이터를 수신하는 단계는 사용자와 연관된 클라이언트 디바이스로부터 상기 오디오 데이터를 수신하는 단계를 포함하며, 상기 클라이언트 디바이스는 발화에 대응하는 오디오 데이터를 캡처하도록 구성된 하나 이상의 오디오 캡처 디바이스와 통신한다. 이 예에서, 데이터 프로세싱 하드웨어는 클라이언트 디바이스에 상주한다. 다른 예에서, 클라이언트 디바이스는 데이터 프로세싱 하드웨어로부터 원격이고, 네트워크를 통해 데이터 프로세싱 하드웨어와 통신한다.
일부 구현예에서, 상기 사용자가 발화를 말하는 동안 상기 사용자의 입술의 움직임을 나타내는 비디오 데이터를 수신하는 단계는 사용자와 연관된 클라이언트 디바이스로부터 비디오 데이터를 수신하는 단계를 포함한다. 이러한 구현예에서, 클라이언트 디바이스는 사용자가 발화를 말하고 있는 동안 사용자의 입술의 움직임을 나타내는 비디오 데이터를 기록하도록 구성된 하나 이상의 비디오 캡처 디바이스를 포함한다.
본 개시의 일 양태는 오디오-비주얼 매칭을 사용하여 자동 음성 인식(ASR) 가설을 재점수화하기 위한 시스템 제공한다. 시스템은 데이터 프로세싱 하드웨어와 상기 데이터 프로세싱 하드웨어와 통신하는 메모리 하드웨어를 포함한다. 메모리 하드웨어는 데이터 프로세싱 하드웨어에서 실행될 때 상기 데이터 프로세싱 하드웨어로 하여금 동작들을 수행하게 하는 명령어들 저장하며, 상기 동작들은 사용자가 말한 발화에 대응하는 오디오 데이터 및 사용자가 발화를 말하는 동안 사용자의 입술의 움직임을 나타내는 비디오 데이터를 수신하는 동작을 포함한다. 동작들은 상기 오디오 데이터에 기초하여 상기 발화에 대한 다수의 후보 전사를 획득하는 동작을 포함한다. 상기 발화에 대한 상기 다수의 후보 전사 중 각 후보 전사에 대해: 상기 동작들은 상기 대응하는 후보 전사의 합성된 음성 표현을 생성하는 동작 및 상기 대응하는 후보 전사의 합성된 음성 표현이 상기 사용자가 상기 발화를 말하는 동안 상기 사용자의 입술의 움직임과 일치할 가능성을 나타내는 일치 점수를 결정하는 동작을 포함한다. 동작들은 상기 발화에 대한 상기 다수의 후보 전사에 대해 결정된 일치 점수에 기초하여, 상기 발화에 대한 다수의 후보 전사 중 하나를 음성 인식 출력으로서 선택하는 동작을 더 포함한다.
본 개시의 구현예는 다음 구성들 중 하나 이상을 포함할 수 있다. 일부 구현예에서, 일치 점수를 결정하는 동작은 상기 대응하는 후보 전사의 합성된 음성 표현 및 상기 사용자의 입술의 움직임을 나타내는 비디오 데이터를 피처 입력으로서 일치 점수 모델에 제공하는 동작 및 상기 일치 점수 모델로부터, 상기 대응하는 후보 전사의 합성된 음성 표현이 상기 사용자의 입술의 움직임과 일치하는 정도에 기초하여 일치 점수를 피처 출력으로서 결정하는 동작을 포함한다. 이러한 구현예에서, 일치 점수 모델은 포지티브 트레이닝 예시 및 네거티브 트레이닝 예시를 포함하는 복수의 트레이닝 예시에 대해 트레이닝된다. 포지티브 트레이닝 예시는 음성의 발화를 나타내는 오디오 데이터 및 상기 음성의 발화와 일치하는 화자의 입술의 움직임을 나타내는 비디오 데이터를 포함하고; 그리고 네거티브 트레이닝 예시는 음성의 발화를 나타내는 오디오 데이터 및 음성의 발화와 일치하지 않는 화자의 입술의 움직임을 나타내는 비디오 데이터를 포함한다.
일부 예시에서, 상기 발화에 대한 다수의 후보 전사 중 하나를 음성 인식 출력으로서 선택하는 동작은 발화에 대한 다수의 후보 전사로부터, 가장 높은 일치 점수와 연관된 후보 전사를 상기 발화에 대한 음성 인식 출력으로서 선택하는 동작을 포함한다.
일부 구현예에서, 발화에 대한 다수의 후보 전사를 획득하는 동작은 음성 인식기 모듈을 사용하여, 상기 오디오 데이터에 기초하여 상기 발화에 대한 후보 전사의 초기 세트를 생성하는 동작을 포함하며, 상기 후보 전사의 초기 세트에서 각 후보 전사는 상기 후보 전사가 정확할 가능성을 나타내는 대응 가능성 점수와 연관된다. 이러한 실시예에서, 상기 동작들은 상기 가능성 점수에 기초하여, 상기 후보 전사의 초기 세트에서 후보 전사에 순위를 매기는 동작, 및 가장 높은 가능성 점수와 연관된 상기 후보 전사의 초기 세트에서 N-후보 전사로서 상기 발화에 대한 다수의 후보 전사를 결정하는 동작을 더 포함하며, 상기 식별된 다수의 후보는 연관된 가능성 점수에 따라 순위가 매겨진다. 이들 구현예에서, 상기 동작은 상기 발화에 대한 다수의 전사 중 하나를 선택하기 전에, 상기 데이터 프로세싱 하드웨어에 의해, 상기 발화에 대한 다수의 후보 전사에 대해 결정된 일치 점수에 기초하여 상기 발화에 대한 다수의 후보 전사의 순위를 다시 매기는 동작을 더 포함한다.
일부 예에서, 발화에 대한 다수의 후보 전사를 획득하는 동작은 음성 인식기 모듈을 사용하여, 상기 오디오 데이터에 기초하여 상기 발화에 대한 후보 전사의 초기 세트를 생성하는 동작을 포함하며, 상기 후보 전사의 초기 세트에서 각 후보 전사는 상기 후보 전사가 정확할 가능성을 나타내는 대응 가능성 점수와 연관된다. 이러한 실시예에서, 상기 동작들은 가능성 임계값을 만족하는 가능성 점수와 연관된 상기 후보 전사의 초기 세트에서 둘 이상의 후보 전사를 식별하는 동작, 및 상기 가능성 임계값을 만족하는 가능성 점수와 연관된 상기 후보 전사의 초기 세트에서 식별된 2개 이상의 후보 전사로서 상기 발화에 대한 다수의 후보 전사를 결정하는 동작을 포함한다.
일부 구현예에서, 발화에 대한 다수의 후보 전사는 동일한 언어와 연관된다. 다른 예에서, 상기 발화에 대한 다수의 후보 전사 중 적어도 하나는 다른 다수의 후보 전사와 다른 언어와 연관된다.
일부 예시에서, 상기 사용자(10)가 말한 발화에 대응하는 오디오 데이터를 수신하는 동작은 사용자와 연관된 클라이언트 디바이스로부터 상기 오디오 데이터를 수신하는 동작을 포함하며, 상기 클라이언트 디바이스는 발화에 대응하는 오디오 데이터를 캡처하도록 구성된 하나 이상의 오디오 캡처 디바이스와 통신한다. 이 예에서, 데이터 프로세싱 하드웨어는 클라이언트 디바이스에 상주한다. 다른 예에서, 클라이언트 디바이스는 데이터 프로세싱 하드웨어로부터 원격이고, 네트워크를 통해 데이터 프로세싱 하드웨어와 통신한다.
일부 구현예에서, 상기 사용자가 발화를 말하는 동안 상기 사용자의 입술의 움직임을 나타내는 비디오 데이터를 수신하는 동작은 사용자와 연관된 클라이언트 디바이스로부터 비디오 데이터를 수신하는 동작을 포함한다. 이러한 구현예에서, 클라이언트 디바이스는 사용자가 발화를 말하고 있는 동안 사용자의 입술의 움직임을 나타내는 비디오 데이터를 기록하도록 구성된 하나 이상의 비디오 캡처 디바이스를 포함한다.
본 개시의 하나 이상의 구현예의 세부 내용이 첨부 도면과 아래의 설명에서 기술된다. 다른 양태, 구성, 객체 및 이점은 아래의 설명, 도면 및 청구항으로부터 명백해질 것이다.
도 1은 오디오 데이터와 비주얼 데이터 모두를 사용하는 자동 음성 인식을 위한 예시적 시스템의 개략도이다.
도 2a 및 도 2b는 단어 격자의 예를 나타내는 도면의 개략도이다.
도 3은 예시적 모델 트레이너의 개략도이다.
도 4는 자동 음성 인식을 개선하는 방법에 대한 예시적 동작 구성의 흐름도이다.
도 5는 본 명세서에 기술된 시스템 및 방법을 구현하는데 사용될 수 있는 예시적 컴퓨팅 디바이스의 개략도이다.
다양한 도면들에서 기호들은 동일한 엘리먼트를 표시한다.
본 개시는 사용자가 말한 발화와 관련하여 자동 음성 인식(ASR)을 개선하는 컴퓨터로 구현되는 방법을 제공한다. 발화는, 예를 들어, 스마트폰, 스마트 스피커 또는 스마트 디스플레이와 같은 사용자 디바이스 상에서 디지털 어시스턴트에게 말하는 사용자와 관련될 수 있다. 발화의 오디오 데이터는 발화에 대한 다수의 후보 전사(예: "전사 가설" 또는 "ASR 결과 가설이라고도 함)를 생성하는데 사용되며, 이에 의해 다수의 후보 전사의 합성된 음성 표현의 생성을 가능하게 한다(예: 텍스트-음성 변환 시스템 사용). 발화를 말하는 동안 사용자의 얼굴 및/또는 입술의 비디오 데이터는 각각의 합성된 음성 표현이 비디오 데이터와 얼마나 잘 일치하는지에 기초하여(즉, 각각의 합성된 음성 표현이 비디오 데이터에서 사용자의 얼굴 및/또는 입술의 모션/움직임과 얼마나 잘 일치하는지에 기초하여) 합성된 음성 표현 각각의 점수를 매기거나 순위를 매기는데 사용될 수 있다. 이러한 방식으로, 음성 인식 출력은 비디오 데이터와 가장 잘 일치하는 합성된 음성 표현에 대응하는 후보 전사에 기초하여 선택될 수 있다.
이 방법의 한 가지 기술적 효과(오디오 데이터에만 의존하는 방법과 비교하여)는 음성 인식 출력의 선택을 개선하는 것이다. 다시 말해서, 본 방법론은 정확한 음성 인식 출력(즉, 사용자 발화의 정확한 전사)이 선택될 가능성을 더 높인다. 효과적으로, 비디오 데이터는 오디오 기반 자동 음성 인식 시스템의 출력을 검증/확인/향상하기 위한 추가 데이터 소스로 사용된다. 따라서, 발화를 말하는 사용자의 비디오 데이터가 사용 가능할 때, 이 비디오 데이터는 다수의 후보 전사 중 어느 것이 가장 정확할 것인지를 결정하는데 사용될 수 있으며, 이에 따라 음성 인식 시스템의 정확도를 향상시킬 수 있다. 본 방법론은 오디오 기반 자동 음성 인식 시스템을 개선하는 방법의 기술적 문제를 해결한다. 이것은 비디오 데이터를 사용하여 오디오 데이터만을 사용하여 생성된 옵션에 점수를 매기거나 순위를 매김으로써 달성된다.
본 방법론의 또 다른 기술적 효과는 발화의 언어 식별이 개선된다는 것이다. 특히, 발화의 언어가 알려지지 않은 경우, 다수의 후보 전사가 다수의 언어로 생성될 수 있다. 이 경우, 선택된 음성 인식 출력에 기초하여 발화의 언어가 식별될 수 있다. 비디오 데이터는 가장 잘 일치하는 합성 음성 표현을 결정하는데 사용되었기 때문에, 연관된 후보 전사가 올바른 언어로 표시될 가능성이 더 높다.
일부 경우에, 오디오 데이터 분석이 클라우드(즉, 사용자 디바이스로부터 원격)에서 수행되고, 후속 비디오 데이터 일치가 사용자 디바이스 자체에서 수행되는 것으로 예상된다. 이 구성의 기술적 효과 중 하나는 비디오 데이터를 원격 클라우드 서버로 전송할 필요 없이 사용자 디바이스에 유지될 수 있기 때문에 대역폭 요구 사항이 감소한다는 것이다. 비디오 데이터를 클라우드로 전송하려면, 먼저 압축을 통해 전송해야 할 가능성이 크다. 따라서, 사용자 디바이스 자체에서 비디오 매칭을 수행하는 것의 또 다른 기술적 효과는 비압축(최고 품질) 비디오 데이터를 사용하여 비디오 데이터 매칭을 수행할 수 있다는 것이다. 압축되지 않은 비디오 데이터를 사용하면 합성된 음성 표현과 비디오 데이터 간의 일치/불일치를 더 쉽게 인식할 수 있다. 따라서 개선된 점수/순위가 예상되어 올바른 음성 인식 출력이 선택될 가능성이 훨씬 더 높아진다.
일부 예에서, 합성된 음성 표현과 비디오 데이터 사이의 일치 정도는 오디오-비주얼 샘플의 대규모 집합에 대해 트레이닝된 시스템(예를 들어, 심층 신경망)을 사용하여 측정되는 것으로 예상된다. 일 예에서, 트레이닝 예시/샘플은 음성의 발화를 나타내는 오디오 데이터 및 상기 음성의 발화와 일치하는 화자의 입술의 움직임을 나타내는 비디오 데이터를 포함하는 포지티브 트레이닝 예시/샘플, 그리고 음성의 발화를 나타내는 오디오 데이터 및 음성의 발화와 일치하지 않는 화자의 입술의 움직임을 나타내는 비디오 데이터를 포함하는 네거티브 트레이닝 예시/샘플 둘 모두를 포함한다. 이러한 트레이닝 데이터는 시스템이 합성된 음성 표현과 비디오 데이터 간의 일치 및 불일치를 모두 인식하도록 트레이닝되어 시스템의 정확도를 향상시키는 것을 보장한다.
도 1은 발화(101)에 대응하는 오디오 데이터(112) 및 사용자(10)가 발화(101)를 말하는 사용자(10)의 입술의 움직임을 나타내는 비디오 데이터(114)를 사용하여 사용자(10)가 말한 발화(101)에 대한 자동 음성 인식 시스템(100)의 일 예를 나타내는 블록도이다. 시스템(100)은 클라이언트 디바이스(110), 컴퓨팅 시스템(120) 및 네트워크(118)를 포함한다. 이 예에서, 컴퓨팅 시스템(120)은 클라이언트 디바이스(110)로부터 오디오 데이터(112) 및 비디오 데이터(114)를 수신하고, 컴퓨팅 시스템(120)은 오디오 데이터(112)에 기초하여 발화(101)에 대한 다수의 후보 전사(135, 135a-n)를 획득한다. 본 명세서에서 사용되는 바와 같이, "후보 전사" 및 "전사 가설"이라는 용어는 상호교환적으로 사용될 수 있다. 아래에 더 자세히 설명되는 바와 같이, 각 후보 전사(135)에 대해, 컴퓨팅 시스템(120)은 대응하는 후보 전사(135)의 합성된 음성 표현(145)을 생성하고 비디오 데이터(114)를 사용하여 대응하는 후보 전사(135)의 합성된 음성 표현(145)이 발화(101)를 말하는 동안 사용자(10)의 입술의 움직임과 일치할 가능성을 나타내는 일치 점수(155)를 결정하도록 구성된다. 그 후, 컴퓨팅 시스템(120)은 발화에 대한 상기 다수의 후보 전사(135)에 대해 결정된 일치 점수(155)에 기초하여, 상기 발화에 대한 다수의 후보 전사(135) 중 하나를 음성 인식 출력(175)으로서 선택할 수 있다. 도 1은 데이터의 흐름을 나타내는 단계 (A) 내지 (H)를 도시한다.
클라이언트 디바이스(110)는 예를 들어 데스크톱 컴퓨터, 랩톱 컴퓨터, 스마트폰, 스마트 스피커, 스마트 디스플레이, 태블릿 컴퓨터, 음악 플레이어, 전자책 리더기 또는 네비게이션 시스템일 수 있다. 클라이언트 디바이스(110)는 사용자(10)가 말한 발화(101)을 기록하도록 구성된 하나 이상의 오디오 캡처 디바이스(예: 마이크(들))(103) 및 사용자(10)가 발화(101)를 말하는 동안 사용자(10)의 입술의 움직임을 나타내는 이미지/비디오 데이터(114)를 캡처하도록 구성된 하나 이상의 비디오 이미지/비디오 캡처 디바이스(예: 카메라(들))(105)를 포함한다. 일부 예에서, 마이크로폰(103) 또는 카메라(105)는 클라이언트 디바이스(110)와 별개이고, 클라이언트 디바이스(110)와 통신하여 기록된 발화(101) 또는 캡처된 이미지/비디오 데이터(114)를 클라이언트 디바이스(110)에 제공한다. 컴퓨팅 시스템(120)에 의해 수행되는 기능은 개별 컴퓨터 시스템에 의해 수행될 수 있거나 다수의 컴퓨터 시스템에 걸쳐 분산될 수 있다. 네트워크(118)는 유선 또는 무선 또는 이들의 조합일 수 있고, 사설 네트워크 및/또는 인터넷과 같은 공용 네트워크를 포함할 수 있다.
명백해지는 바와 같이, 사용자(10)가 말하고 있는 동안 사용자(10)의 입술의 움직임을 나타내는 비디오 데이터(114)는 오디오 데이터(112)에만 기초하여 발화(101)에 대해 획득된 다수의 후보 전사(135)의 점수를 다시 매기고 순위를 재지정함으로써 음성 인식 정확도를 개선하는데 사용될 수 있다. 예를 들어, 한 세트의 후보 전사(135)가 발화(101)에 대해 획득된 후, n-최상의 후보 전사(135, 135a-n) 세트에 대해 추가 프로세싱이 수행될 수 있으며, 여기서 n은 정수(예를 들어, 3, 5 또는 10개의 가장 가능성 있는 전사)이다. 따라서, 음성 인식기 모듈(130)이 오디오 데이터에만 기초할 가능성이 가장 높다고 표시하는 후보 전사(135)를 수락하는 것보다, 비디오 데이터(114)는 n-최상의 후보 전사(135) 세트의 점수를 다시 매기고 순위를 재지정하기 위해 활용될 수 있다.
예를 들어, 음성 인식기 모듈(130)은 자연스러운 발화를 모델링하기에 충분히 넓은 언어 모델을 사용할 수 있지만, "I say" 및 "Ice Age"와 같이 음향적으로 혼동될 수 있는 문장 사이를 명확하게 할 수 없을 수 있다. 그러나, 후보 전사(135)에 대한 일치 점수(155)를 결정하기 위해 사용자(10) 입술의 움직임을 나타내는 비디오 데이터를 후보 전사(135)의 합성된 음성 표현(145)과 비교함으로써, "I say"에 대한 일치 점수(155)보다 더 높은 일치 점수(155)를 포함하는 문장 "Ice Age"는 사용자(10)가 "I say"가 아니라 "Ice Age"를 발화했을 가능성이 더 높다는 것을 나타낼 수 있다.
n-최상의 후보 전사(135) 각각은 대응하는 후보 전사(135)의 합성된 음성 표현(145)으로서 제공될 수 있다. 예를 들어, 대응하는 후보 전사(135)의 각각의 합성된 음성 표현(145)이 후보 전사(135)가 획득되는 발화(101)를 말하는 동안 사용자(10)의 입술의 움직임을 나타내는 비디오 데이터(114)와 얼마나 잘 일치하는지를 결정하기 위해 n-최상의 후보 전사(135) 각각에 대한 일치 점수(155)가 분석된다. 각각의 대응하는 후보 전사(135)에 대한 일치 점수(155)는, 예를 들어 대응하는 후보 전사(135)의 합성된 음성 표현(145)이 사용자(10)가 발화(101)를 말하는 동안 사용자(10)의 입술의 움직임과 일치할 가능성에 기초하여, 각각의 후보 전사가 정확할 가능성의 정도를 나타낼 수 있다. 후보 전사(135)가 낮은 일치 점수(155)를 갖는다면(예를 들어, 일치 점수(155)가 일치 점수 임계값보다 작음), 후보 전사(135)는 발화(101)에 대한 올바른 전사가 아닐 가능성이 크다. 반면에, 후보 전사(135)가 높은 일치 점수(155)를 갖는다면(예를 들어, 일치 점수(155)가 일치 점수 임계값 이상인 경우), 후보 전사(135)가 정확할 가능성이 더 높다. 따라서, 비디오 데이터(114) 및 후보 전사(135)의 합성된 음성 표현(145)에 기초한 일치 점수(155)는 오디오 데이터(112)에만 기초하여 음성 인식기 모듈(130)에 의해 획득된 n-최상의 후보 전사(135)의 순위를 다시 매기는데 사용될 수 있다.
도 1의 예에서, (A) 단계에서 사용자(10)는 발화(101)를 말하고, 클라이언트 디바이스(110)의 마이크로폰(103)은 발화(101)를 기록한다. 예를 들어, 발화(101)는 "kite"라는 용어를 말하는 사용자(10)를 포함할 수 있다. 동시에, 카메라(105)는 사용자(10)가 발화(101)를 말하는 동안 사용자(10)의 입술의 움직임을 나타내는 비디오 데이터(114)를 캡처한다. 그 후, 클라이언트 디바이스(110)는 마이크로폰(103)에 의해 기록된 발화(101)에 대응하는 오디오 데이터(112) 및 카메라(105)에 의해 캡처된 비디오 데이터(114)를 네트워크(118)를 통해 컴퓨팅 시스템(120)으로 전송한다.
단계 (B) 동안, 컴퓨팅 시스템(120)은 오디오 데이터(112)를 수신하고 오디오 데이터(112)에 기초하여 발화(101)에 대한 다수의 후보 전사(135)를 획득한다. 예를 들어, 컴퓨팅 시스템(120)은 오디오 데이터(112)에 기초하여 발화(101)에 대해 가능할 수 있는 다수의 후보 전사(135)를 나타내는 단어 격자(200)를 생성하기 위한 음성 인식기 모듈(130)(예를 들어, 자동 음성 인식(ASR) 모듈)을 포함할 수 있다.
도 2a는 도 1의 음성 인식 모듈(130)에 의해 제공될 수 있는 단어 격자(200, 200a)의 일 예이다. 단어 격자(200a)는 발화(101)에 대한 상이한 후보 전사(135)를 형성할 수 있는 단어의 다수의 가능한 조합을 나타낸다.
단어 격자(200a)는 단어들 사이의 가능한 경계에 대응하는 하나 이상의 노드(202a-g)를 포함한다. 단어 격자(200a)는 단어 격자(200a)로부터 기인하는 전사 가설(예를 들어, 후보 전사(135))에서 가능한 단어에 대한 다수의 에지(204a-1)를 포함한다. 또한, 에지(204a-1) 각각은 해당 에지가 대응 노드로부터 정확한 에지인 하나 이상의 가중치 또는 확률을 가질 수 있다. 가중치는 음성 인식기 모듈(130)에 의해 결정되고, 예를 들어 음성 데이터와 해당 에지에 대한 단어 간의 일치에 대한 신뢰도 및 단어가 문법적으로 및/또는 어휘적으로 단어 격자(200a)의 다른 단어와 얼마나 잘 맞는지에 기초할 수 있다.
예를 들어, 처음에, 단어 격자(200a)를 통한 가장 가능성 있는 경로(예를 들어, 가장 가능성 있는 후보 전사(135))는 "we're coming about 11:30"라는 텍스트를 갖는 에지(204c, 204e, 204i, 204k)를 포함할 수 있다. 두 번째로 좋은 경로(예를 들어, 두 번째로 좋은 후보 전사)는 "deer hunting scouts 7:30"이라는 텍스트를 갖는 에지(204d, 204h, 204j, 304l)를 포함할 수 있다.
노드의 각 쌍은 다양한 후보 전사(135)의 대체 단어에 대응하는 하나 이상의 경로를 가질 수 있다. 예를 들어, 노드(202a)에서 시작하여 노드(202c)에서 끝나는 노드 쌍 사이의 초기 가장 가능성 있는 경로는 "we're" 에지(204c)이다. 이 경로는 에지(24a-b) "we are" 및 에지(204d) "deer"를 포함하는 대체 경로를 포함한다.
도 2b는 도 1의 음성 인식 모듈(130)에 의해 제공될 수 있는 계층적 단어 격자(200, 200b)의 일 예이다. 단어 격자(200b)는 발화(101)에 대한 다양한 후보 전사(135)를 구성하는 단어를 나타내는 노드(252a-1)를 포함한다. 노드(252a-1) 사이의 에지는 가능한 후보 전사가 다음을 포함함을 보여준다. (1) 노드(252c, 252e, 252i, 252k) "we’re coming about 11:30"; (2) 노드(252a, 252b, 252e, 252i, 252k) "we are coming about 11:30"; (3) 노드(252a, 252b, 252f, 252g, 252i, 252k) "we are come at about 11:30"; (4) 노드(252d, 252f, 252g, 252i, 252k) "deer come at about 11:30" (5) 노드(252d, 252h, 252j, 252k) "deer hunting scouts 11:30"; 및 (6) 노드(252d, 252h, 252j, 252l) "deer hunting scouts 7:30".
다시, 노드(252a-1) 사이의 에지는 음성 인식 및 결과 텍스트의 문법/어휘 분석에 대한 신뢰도에 기초하여 연관된 가중치 또는 확률을 가질 수 있다. 이 예에서 "we’re coming about 11:30"가 현재 최상의 가설일 수 있고 "deer hunting scouts 7:30"은 다음으로 가장 좋은 가설일 수 있다. 단어 및 그 대체물을 함께 그룹화하는 하나 이상의 디비전(254a-d)이 단어 격자(200b)에서 만들어질 수 있다. 예를 들어, 디비전(254a)은 "we're"라는 단어와 "we are" 및 "deer"를 대체하는 단어를 포함한다. 디비전(254b)은 단어 "coming"와 "come at"와 "hunting"의 대체어를 포함한다. 디비전(254c)은 "about"이라는 단어와 대체 "scouts"를 포함하고 디비전(254d)은 "11:30"이라는 단어와 대체 "7:30"을 포함한다.
다시 도 1을 참조하면, 음성 인식기 모듈(130)은 음성 모델 및 언어 모델을 사용하여 단어 격자(200)를 생성하거나 그렇지 않으면 오디오 데이터(112)에 기초하여 발화(101)에 대한 다수의 후보 전사(135)를 식별할 수 있다. 음성 인식기 모듈(130)은 또한, 예를 들어 후보 전사(135)에 대한 가능성 점수 및/또는 순위를 제공함으로써, 음성 인식기 모듈(130)이 후보 전사(135) 중 어느 것이 가장 정확하다고 생각하는지를 나타낼 수 있다.
단계 (C) 동안, 컴퓨팅 시스템(120)은 단어 격자(200)에서 수신된 후보 전사의 세트 내에서 최고 순위 후보 전사의 세트(135)를 식별한다. 예를 들어, 음성 인식기 모듈(130)로부터의 가능성 점수 또는 순위 정보를 사용하여, 컴퓨팅 시스템(120)은 가장 높은 가능성을 갖는 n개의 후보 전사(135)를 선택할 수 있으며, 여기서 n은 정수이다. 예시된 예에서, 상위 5개 후보 전사(예를 들어, 가장 정확할 가능성이 있는 것으로 표시된 5개)가 최고 순위 후보 전사(135, 135a-n)의 세트로 선택된다. 도시된 예에서, 가장 높은 순위의 후보 전사(135) 세트는 가장 높은 순위에서 가장 낮은 순위로 순위가 매겨진 단어 "write", "bite", "sight", "night", 및 "kite"를 포함한다. 특히, "kite"의 후보 전사(135)는 이것이 기록된 발화(101)에서 사용자(10)가 실제로 말한 단어임에도 불구하고 마지막으로 순위가 매겨진다. 다시 말해서, 음성 인식기 모듈(130)에서 출력된 가장 높은 순위의 후보 전사(135)가 음성 인식 결과로 선택되면, 단어 "write"가 단어 "kite"에 비해 잘못 선택될 것이다.
일부 예에서, 음성 인식기 모듈(130)은 오디오 데이터(112)에 기초하여 발화(101)에 대한 후보 전사(135)의 초기 세트를 생성하고, 이에 의해 초기 세트의 각 후보 전사(135)는 후보 전사(135)가 맞을 가능성을 나타내는 대응 가능성 점수와 연관된다. 그 후, 음성 인식기 모듈(130)은 가능성 점수에 기초하여 초기 세트에서 후보 전사(135)의 순위를 매기고(예를 들어, 가장 가능성이 높은 것에서 가장 낮은 것으로), 단계(C)는 가장 높은 가능성 점수와 연관된 후보 전사의 초기 세트에서 N-후보 전사(135)로서 발화에 대한 다수의 후보 전사(135)를 결정한다. 여기에서, 식별된 다수의 후보 전사(135a-n)는 연관된 가능성 점수에 따라 순위가 매겨진다.
추가적인 예에서, 음성 인식기 모듈(130)이 후보 전사(135)의 초기 세트를 생성한 후, 음성 인식기 모듈(130)은 가능성 임계값을 만족하는 가능성 점수와 연관된 초기 세트에서 둘 이상의 후보 전사(135)를 식별한다. 여기서, 단계 (C)는 가능성 임계값을 만족하는 가능성 점수와 연관된 초기 세트에서 식별된 둘 이상의 후보 전사(135)로서 발화에 대한 다수의 후보 전사(135a-n)를 결정한다. 이들 예에서, 낮은 가능성 점수와 연관된 후보 전사(135)는 고려에서 제거된다.
단계(D) 동안, 컴퓨팅 시스템(120)은 각각의 후보 전사(135)를 TTS(text-to-speech) 모듈(140)(예를 들어, 음성 합성기 또는 음성 합성 모듈)에 제공한다. 단계(C)에서 식별된 각각의 후보 전사(135a-n)에 대해, TTS 모듈(140)은 대응하는 후보 전사(135a-n)의 합성된 음성 표현(145, 145a-n)을 생성하도록 구성된다. 예를 들어, TTS 모듈(140)은 각각의 후보 전사(135)로부터의 텍스트를 대응하는 합성 음성 표현(145)으로 변환할 수 있다.
단계 (E)에서, 컴퓨팅 시스템(120)은 사용자(10)의 입술의 움직임을 나타내는 비디오 데이터(114) 및 각 후보 전사(135)에 대한 TTS 모듈(140)로부터 출력된 합성된 음성 표현(145)을 일치 점수 결정기(150)에 대한 피처 입력으로서 제공한다. 차례로, 일치 점수 결정기(150)는 피처 출력으로서 후보 전사(135a-n)에 대한 일치 점수(155, 155a-n)를 결정하도록 구성된다. 일치 점수 결정기(150)는 일치 점수(155)를 병렬로 결정할 수 있고, 각 일치 점수(155)를 개별적으로 또는 이들의 조합으로 결정할 수 있다.
일치 점수(155)를 결정하기 전에, 일치 점수 결정기(150)는 각각의 합성된 음성 표현(145)을 비디오 데이터(114)와 시간 정렬하기 위해 각각의 합성된 음성 표현(145) 및 비디오 데이터(114)를 초기에 프로세싱할 수 있다. 즉, 일치 점수 결정기(150)는 발화(101)를 말하는 동안 사용자(10)의 입술의 움직임을 포함하는 비디오 데이터(114)의 프레임을 식별 및 마킹하고 각각의 합성된 음성 표현(145)을 식별되고 마킹된 프레임을 사용하여 비디오 데이터(114)와 시간 정렬하기 위해 임의의 기법을 적용할 수 있다.
도시된 예에서, 일치 점수 결정기(150)는 대응하는 후보 전사(135)의 합성된 음성 표현(145)이 발화(101)를 말하는 사용자(10)의 입술의 움직임과 일치하는 정도에 기초하여 대응하는 후보 전사(135)에 대한 일치 점수(155)를 예측하도록 트레이닝된 일치 점수 모델(152)(도 15)을 포함한다. 본질적으로, 일치 점수 모델(152)은 입술의 움직임을 나타내는 비디오 데이터(114)와 일치하는 합성된 음성 표현(145)과 입술의 움직임을 나타내는 비디오 데이터(114)와 일치하지 않는 합성된 음성 표현(145) 사이를 식별하도록 트레이닝된다.
일부 예에서, 일치 점수 결정기(150)로부터 출력된 일치 점수(155)(즉, 일치 점수 모델(152)를 사용하여)는 이진 값을 포함하며, 여기서 "1"은 비디오 데이터(114)에 의해 표현된 사용자(10)의 입술의 움직임과 일치하는 합성된 음성 표현(145)을 나타내며, "0"은 비디오 데이터(114)에 의해 표현되는 사용자(10)의 입술의 움직임과 일치하지 않는 합성된 음성 표현을 나타낸다. 추가적인 예에서, 일치 점수(155)는 대응하는 후보 전사(135)의 합성된 음성 표현(145)이 입술의 움직임과 일치하는 정도를 나타내는, 예를 들어 0에서 1까지의 수치 값이다. 예를 들어, 1에 가까운 값을 갖는 일치 점수(155)는 0에 가까운 값을 갖는 일치 점수(155)보다 입술의 움직임과 일치하는 합성된 음성 표현(145)을 더 잘 나타낸다. 일부 시나리오에서, 일치 점수 임계값을 만족하는(예를 들어, 초과하는) 값을 갖는 일치 점수(155)는 발화(101)를 말하는 사용자(10)의 입술의 움직임과 일치하는 합성된 음성 표현(145)을 표시한다. 이러한 시나리오에서, 초기 수치 값이 일치 점수 임계값을 만족하는지 여부에 기초하여 일치 점수(155)를 나타내는 이진 값이 일치 점수 결정기(150)로부터 출력될 수 있다.
주어진 후보 전사(135)에 대한 합성된 음성 표현(145)이 비디오 데이터(114)에서 사용자(10)의 입술의 움직임과 얼마나 잘 일치하는지를 표시함으로써, 각 일치 점수(155)는 단계(C)에서 식별된 다수의 후보 전사(135)의 재-점수화를 표현한다. 사용자(10)의 입술의 움직임을 나타내는 비디오 데이터(114)가 후보 전사(135)의 합성된 음성 표현(145)과 일치하는 정도는 예를 들어 합성된 음성 표현(145)에서 음성 피처의 시퀀스가 비디오 데이터(114)에서 사용자(10)의 입술 위치 및 모양의 시퀀스와 완전히 또는 부분적으로 일치하는지 여부에 기초할 수 있다. 예를 들어, 주어진 시간 인스턴스에서, 모델(152)은 합성된 음성 표현(145)이 모음을 발음하는 동안 사용자(10)의 입술 위치/모양이 사용자의 입을 벌리고 있음을 나타낼 때 일치를 식별할 것이다. 유사하게, 다른 시간 인스턴스에서, 합성된 음성 표현(145)이 "B" 자음을 발음하는 동안 사용자(10)의 입술 위치가 사용자의 입을 벌리고 있음을 나타낼 때 일치 점수 모델(152)은 일치를 식별하지 않을 것이다.
도 3은 일치 점수 모델(152)을 생성하기 위한 예시적 모델 트레이너(300)를 도시한다. 도시된 예에서, 모델 트레이너(300)는 포지티브 트레이닝 예시(302a) 및 네거티브 트레이닝 예시(302b)를 포함하는 복수의 트레이닝 예시(302)에 대해 트레이닝된다. 각각의 포지티브 트레이닝 예시(302a)는 음성의 발화를 나타내는 트레이닝 오디오 데이터(112T) 및 음성의 발화와 일치하는(예를 들어, 동기화되는) 화자의 입술의 움직임을 나타내는 트레이닝 비디오 데이터(114T)를 포함한다. 즉, 모델 트레이너(300)는 일치 점수 결정기(150)가 합성된 음성 표현과 비디오 데이터(114)에서 입술의 모션/움직임 간의 일치/동기화를 나타내는 일치 점수(155)를 출력해야 하는 예를 일치 점수 결정기(150)에 가르치기 위해 일치 스코어 모델(152)에 포지티브 트레이닝 예시(302a)를 공급한다.
대조적으로, 각각의 네거티브 트레이닝 예시(302b)는 음성의 발화를 나타내는 트레이닝 오디오 데이터(112T) 및 음성의 발화와 일치하지 않는(예를 들어, 동기화되지 않은) 화자의 입술의 움직임을 나타내는 트레이닝 비디오 데이터(114T)를 포함한다. 즉, 모델 트레이너(300)는 일치 스코어 결정기(150)가 합성된 음성 표현과 비디오 데이터(114)에서 입술의 모션/움직임 사이의 일치 및 동기화가 없음을 나타내는 일치 점수(155)를 출력해야 하는 예시를 일치 점수 결정기(150)에 가르치기 위해 일치 점수 모델(152)에 네거티브 트레이닝 예시(302b)를 공급한다.
일치 점수 모델(152)을 생성하기 위해 포지티브 트레이닝 예시(302a) 및 네거티브 트레이닝 예시(302b)에 대해 모델 트레이너(300)를 트레이닝함으로써, 일치 점수 결정기(150)는 비디오 데이터(114)에 의해 표현되는 입술의 모션/움직임과 일치/동기화되는 합성된 음성 표현과 비디오 데이터(114)에 의해 표현되는 입술의 모션/움직임과 일치/동기화되지 않는 합성된 음성 표현 사이를 구분하도록 트레이닝된다. 따라서, 일치 점수 결정기(150)는 대응하는 후보 전사(135)의 합성된 음성 표현(145)이 비디오 데이터(114)에 의해 표현된 입술의 움직임과 일치하는 정도를 나타내는 일치 점수(155)를 생성하기 위해 트레이닝된 일치 점수 모델(152)을 사용할 수 있다.
일부 예에서, 트레이닝 오디오 데이터(112T)는 음성(101)의 인간 생성 발화를 포함한다. 다른 예에서, 트레이닝 오디오 데이터(112T)는 합성된 발화(145)(예를 들어, TTS 모듈(140)에 의해 생성됨)을 포함한다. 또 다른 예에서, 트레이닝 오디오 데이터(112T)는 합성된 발화들(145) 및 인간 생성 발화들(101) 모두를 포함한다.
일부 구성에서, 모델 트레이너(300)는 트레이닝 예시(302)를 트레이닝 및 평가 세트(예를 들어, 90% 트레이닝 및 10% 평가)로 분리하도록 구성된다. 이러한 세트를 사용하여, 모델 트레이너(300)는 평가 세트에 대한 일치 점수 모델(152)의 성능이 감소하는 것을 멈출 때까지 트레이닝 예시(302)로 일치 점수 모델(152)을 트레이닝한다. 평가 세트에서 성능이 감소하는 것을 멈추면, 일치 점수 모델(152)은 일치 점수 모델(152)이 일치 점수 결정기(150)로 하여금 일치 점수(155)를 출력하게 하는 모델링에 대해 준비되며, 일치 점수는 각각 대응하는 후보 전사의 합성된 음성 표현(145)이 사용자가 발화(101)를 말하는 동안 사용자(10)의 입술의 움직임과 일치할 가능성을 나타낸다.
다시 도 1을 참조하면, 다수의 후보 전사(135)에 대한 일치 점수(155, 155a-n)는 "Write"에 대해 0.4, "Bite"에 대해 0.7, "Sight"에 대해 0.3, "Night"에 대해 0.4 및 "Kite"에 대해 0.9를 포함한다. 여기서, "Kite"의 후보 전사(135)는 가장 높은 일치 점수(155)를 포함하며, 실제로 사용자(10)가 발화(101)에서 실제로 말한 단어이다. 단계(F)에서, 재-랭커(160)는 일치 점수 결정기(150)로부터 다수의 후보 전사(135)에 대한 일치 점수(155)를 수신하고, 일치 점수(155)에 기초하여 다수의 후보 전사(135)의 재-순위화 결과(165)를 출력한다. 도시된 예에서, 다수의 후보 전사(135)는 최고 일치 점수(155)에서 최저 일치 점수(155)로 재순위화된다. 따라서, 컴퓨팅 시스템(120)은 (예를 들어, 재-랭커(160)를 통해) 오디오 데이터(112)에만 기초하여 음성 인식기 모듈(130)에 의해 표시된 초기/원래 순위와 상이한 새로운 순위와 연관된 순위 재지정 결과(165)를 생성한다.
일부 예에서, 동일한 일치 점수(155)를 갖는 둘 이상의 후보 전사(135) 사이의 동점의 경우, 단계(C)에서 식별된 더 높은 순위와 관련된 후보 전사(135)는 순위 재지정 결과(165)에서 재-랭커(160)에 의해 더 높게 순위가 매겨질 수 있다. 즉, 재-랭커(160)는 음성 인식기 모듈(130)에 의해 생성된 다수의 후보 전사(135)와 연관된 음성 인식 피처를 고려할 수 있다. 음성 인식 피처는 언어 모델 확률, 순위 내의 포지션, 토큰의 수 또는 음성 인식기 모듈(130)로부터의 신뢰도 점수와 같은 주어진 후보 전사에 대해 음성 인식기(130)에서 언어 모델에 의해 생성된 정보를 포함할 수 있다. 동점인 경우, 재-랭커(160)는 시맨틱 피처 및/또는 음성 인식 피처를 추가적으로 고려할 수 있다. 시맨틱 피처는 예를 들어, 문법에 후보 전사를 일치시키는 것과 같은 패턴 매칭 분석에 대한 정보를 나타낼 수 있다. 예를 들어, 후보 전사가 인기 있는 음성 액션 패턴과 일치하는 경우 올바른 인식 가능성이 더 높다. 많은 음성 쿼리는 "Jim Carey의 영화 보여줘" 또는 "웹 사이트 열어"와 같은 명령이다.
단계 (G)에서, 컴퓨팅 시스템(120)은 재순위화된 결과(165)를 수신하고, 발화(101)에 대한 다수의 후보 전사(135) 중에서, 가장 높은 일치 점수(145)와 연관된 후보 전사(135)를 발화(101)에 대한 음성 인식 출력(175)으로서 선택한다. 도시된 예에서, 단어 "Kite"에 대한 후보 전사(135)는 "0.9"와 동일한 최고 일치 점수를 포함하고, 따라서 발화(101)에 대한 음성 인식 출력(175)으로서 선택된다.
단계(H) 동안, 컴퓨팅 시스템(120)은 네트워크(118)를 통해 클라이언트 디바이스(110)에 음성 인식 출력(175)을 제공한다. 그 다음, 클라이언트 디바이스(110)는 클라이언트 디바이스(110)의 화면 상에 음성 인식 출력(175)을 디스플레이할 수 있고 및/또는 액션/명령을 수행하기 위해 음성 인식 출력(175)을 사용할 수 있다. 예를 들어, 클라이언트 디바이스(110)는 음성 인식 출력(175)을 검색 쿼리로 제출하거나 출력(175)을 다른 방식으로 사용할 수 있다. 추가적인 예에서, 컴퓨팅 시스템(120)은 음성 인식 출력(175)과 관련된 액션/명령을 수행하기 위해 다른 시스템에 직접 음성 인식 출력(175)을 제공한다. 예를 들어, 컴퓨팅 시스템(120)은 음성 인식 출력(175)을 사용하여 검색 쿼리를 수행하기 위해 검색 엔진에 음성 인식 출력(175)을 제공할 수 있다.
후보 전사(135)는 도 1에 단순함을 위해 개별 단어로 도시되지만, 다수의 후보 전사(135) 및 그로부터 생성된 합성 음성 표현(145)은 하나 이상의 구, 하나 이상의 문장 또는 심지어 회의나 강의에서 녹음된 더 긴 형태의 발화 중 발화(101)에 포함된 다수의 단어를 포함할 수 있음을 이해해야 한다. 예를 들어, 오디오 데이터(112) 및 비디오 데이터(114)는 사용자가 말한 전체 쿼리를 나타낼 수 있고, 후보 전사(135) 각각은 오디오 데이터(112) 전체에 대한 각각의 후보 전사일 수 있다.
컴퓨팅 시스템(120)은 데이터 프로세싱 하드웨어(예를 들어, 프로세서)(510)(도 5) 및 상기 데이터 프로세싱 하드웨어와 통신하고 명령어를 저장하는 메모리 하드웨어(520)(도 5)를 포함하며, 상기 명령어는 상기 데이터 프로세싱 하드웨어에서 실행될 때 상기 데이터 프로세싱 하드웨어로 하여금 동작들을 수행하게 한다. 예를 들어, 데이터 프로세싱 하드웨어(510)는 음성 인식기 모듈(130), TTS 모듈(140), 일치 점수 결정기(150) 및 재-랭커(160)를 실행할 수 있다. 일부 구현예에서, 컴퓨팅 시스템(120)의 전체 기능은 클라이언트 디바이스(110) 상에 온-디바이스로 상주한다. 유리하게는, 클라이언트 디바이스(110)가 네트워크(118)를 통해 오디오 및 비디오 데이터(112, 114)를 송신하고 결과 음성 인식 출력(175)을 수신하기를 기다릴 필요가 없기 때문에 레이턴시가 개선될 수 있다.
일부 구현에서, 도 1에 설명된 컴퓨팅 시스템(120)의 기능은 클라이언트 디바이스(110)와 컴퓨팅 시스템(120) 사이에 분할되어, 클라이언트 디바이스(110)에서 일부 동작이 수행되고 컴퓨팅 시스템(120)에서 다른 동작이 원격으로 수행된다. 예를 들어, 오디오 데이터 분석은 클라이언트 디바이스(110)가 음성 인식기 모듈(130)에 오디오 데이터(112)를 제공하여 발화(101)에 대한 다수의 후보 전사 후보(135)를 획득하도록 컴퓨팅 시스템(120)(예를 들어, 클라우드 컴퓨팅 환경)에서 수행될 수 있고, TTS 모듈(140)은 발화(101)에 대한 다수의 후보 전사 후보(135)의 각 후보 전사(135)에 대해 대응하는 합성된 음성 표현(145)을 생성할 수 있다. 사용자(10)가 발화(101)를 말할 때 사용자(10)의 입술의 움직임을 나타내는 비디오 데이터(114)를 제공하는 대신, 클라이언트 디바이스(110)는 온-디바이스로 일치 점수 결정기(150)를 실행할 수 있다. 따라서, 컴퓨팅 시스템(120)은 다수의 후보 전사(135)에 대한 합성된 음성 표현(145)을 네트워크(118)를 통해 클라이언트 디바이스(110)에 전송할 수 있으며, 이에 의해 클라이언트 디바이스(110)는 비디오 데이터(114)를 획득하고 컴퓨팅 시스템으로부터 수신된 다수의 후보 전사(135) 중 각 후보 전사(135)에 대한 일치 점수(155)를 결정하도록 구성된다. 위에서 상세히 기술된 바와 같이, 각 일치 점수(155)는 대응하는 후보 전사(135)의 합성된 음성 표현(145)이 사용자(10)가 발화(101)를 말하는 동안 상기 사용자(10)의 입술의 움직임과 일치할 가능성을 나타낸다. 그 다음, 클라이언트 디바이스(110)는 온-디바이스로 결정된 일치 점수에 기초하여 음성 인식 출력(175)으로서 다수의 후보 전사(135) 중 하나(예를 들어, 가장 높은 일치 점수(155)와 연관된 것)를 선택할 수 있다.
이러한 구성으로, 네트워크(118)를 통해 원격 컴퓨팅 시스템(120)으로 비디오 데이터(114)를 전송할 필요 없이 비디오 데이터(114)가 클라이언트 디바이스(110)에 유지되기 때문에 대역폭 요구사항이 감소된다. 또한, 비디오 데이터(114)가 네트워크(118)를 통해 전송된 경우, 비디오 데이터(114)는 전송 전에 클라이언트 디바이스(110)에 의해 압축될 필요가 있을 것이고, 그에 따라 비디오 데이터(114)의 품질을 감소시킬 것이다. 따라서, 비디오 데이터(114)를 유지하고 비디오 데이터 매칭을 온-디바이스에서 수행하는 것의 또 다른 이점은 비디오 데이터 매칭이 비압축(최고 품질) 비디오 데이터(114)를 사용할 수 있다는 점이다. 즉, 압축되지 않은 비디오 데이터를 사용하면 합성된 음성 표현(145)과 비디오 데이터(114) 간의 일치/불일치를 더 쉽게 인식할 수 있다.
발화(101)에 대한 음성 인식기 모듈(130)에 의해 출력된 다수의 후보 전사(135) 각각은 동일한 언어와 연관될 수 있다. 일부 예에서, 상기 발화(101)에 대한 다수의 후보 전사(135) 중 적어도 하나는 다른 후보 전사(135)와 다른 언어와 연관된다. 예를 들어, 컴퓨팅 시스템(120)은 발화(101a)의 언어를 선험적으로 알지 못할 수 있고, 음성 인식기 모듈(130)에 의존하여 2개 이상의 상이한 언어 간에 분할된 다수의 후보 전사(135)를 출력하기 위해 상이한 언어 모델을 사용할 수 있다. 이 시나리오에서, 발화(101)의 정확한 언어와 연관된 후보 전사(135)는 대응하는 합성된 음성 표현(145)을 발화(101)를 말하는 동안 사용자(10)의 입술의 움직임을 나타내는 비디오 데이터(114)와 비교함으로써 식별/선택된다. 즉, 가장 높은 일치 점수(155)와 연관된 후보 전사(135)의 언어는 올바른 언어를 식별하기 위해 음성 인식 출력(175)으로서 선택될 수 있다. 비디오 데이터(114)는 가장 잘 일치하는 합성 음성 표현(145)을 결정하는데 사용되었기 때문에, 연관된 후보 전사(135)가 올바른 언어로 표시될 가능성이 더 높다.
본 명세서에서 논의된 특정 구현예들이 사용자에 관한 개인 정보(예를 들어, 다른 전자 통신으로부터 추출된 사용자 데이터, 사용자의 소셜 네트워크에 관한 정보, 사용자의 위치, 사용자의 시간, 사용자의 생체 정보 및 사용자의 활동 및 인구통계적 정보, 사용자들 간의 관계 등)를 수집하거나 사용하는 상황들에서, 사용자에게 정보가 수집될지 여부, 개인정보가 저장될지 여부, 개인 정보가 사용될지 여부 및 사용자에 관한 정보가 어떻게 수집되고 저장되고 사용될지를 제어하기 위한 하나 이상의 기회들이 제공된다. 즉, 본 명세서에서 논의된 시스템 및 방법은 관련된 사용자로부터 명시적 허가를 수신함에 따라서만 사용자 개인 정보를 수집하고 저장 및/또는 사용한다.
예를 들면, 프로그램 또는 구성이 그 특정한 사용자 또는 프로그램 또는 구성과 관련된 다른 사용자에 관한 사용자 정보를 수집할지 여부에 관한 제어권이 사용자에게 제공된다. 개인정보가 수집될 각 사용자에게 그 사용자에 관한 정보 수집에 대해 제어하게 하고, 정보가 수집될지 여부에 관한 그리고 정보의 어떤 부분이 수집될지 허가 또는 인가를 제공하기 위한 하나 이상의 옵션들이 제시된다. 예를 들면, 통신 네트워크를 통해 사용자들에게 하나 이상의 상기 제어 옵션들이 제공될 수 있다. 추가로, 특정 데이터는 그것이 저장되거나 사용되기 전에 하나 이상의 다양한 방식들로 취급되어, 개인적으로 식별가능한 정보는 제거된다. 일 예시로서, 사용자의 신원은 개인적으로 식별가능한 정보가 결정될 수 없도록 취급될 수 있다. 다른 예시로서, 사용자의 지리적 위치는 넓은 지역으로 일반화되어 사용자의 특정한 위치가 결정될 수 없도록 한다.
도 4는 오디오-비주얼 매칭을 사용한 후보 전사를 재점수화하기 위한 방법(400)에 대한 예시적 동작 구성의 흐름도이다. 동작(402)에서, 방법(400)은 데이터 프로세싱 하드웨어(510)에서, 사용자(10)가 말한 발화(101)에 대응하는 오디오 데이터(112) 및 사용자(10)가 발화(101)를 말하는 동안 사용자(10)의 입술의 움직임을 나타내는 비디오 데이터(114)를 수신하는 단계를 포함한다. 동작(404)에서, 방법(400)은 데이터 프로세싱 하드웨어(510)에 의해, 오디오 데이터(112)에 기초하여 발화(101)에 대한 다수의 후보 전사(135)를 획득하는 단계를 포함한다. 동작(406)에서, 각각의 후보 전사(135)에 대해, 방법(400)은 데이터 프로세싱 하드웨어(510)에 의해, 대응하는 후보 전사(135)의 합성된 음성 표현(145)을 생성하는 단계를 포함한다. 동작(408)에서, 각 후보 전사(135)에 대해, 방법은 데이터 프로세싱 하드웨어에 의해, 상기 대응하는 후보 전사(135)의 합성된 음성 표현(145)이 상기 사용자(10)가 상기 발화(101)를 말하는 동안 상기 사용자의 입술의 움직임과 일치할 가능성을 나타내는 일치 점수(155)를 결정하는 단계를 포함한다. 동작(410)에서, 방법(400)은 데이터 프로세싱 하드웨어(510)에 의해, 상기 발화(101)에 대한 상기 다수의 후보 전사(135)에 대해 결정된 일치 점수(155)에 기초하여, 상기 발화(101)에 대한 다수의 후보 전사(135) 중 하나를 음성 인식 출력(175)으로서 선택하는 단계를 포함한다.
소프트웨어 애플리케이션(즉, 소프트웨어 리소스)은 컴퓨팅 디바이스가 작업을 수행하게 하는 컴퓨터 소프트웨어를 지칭할 수 있다. 일부 예에서, 소프트웨어 애플리케이션은 "애플리케이션", "앱" 또는 "프로그램"으로 지칭될 수 있다. 예시적 애플리케이션은 시스템 진단 애플리케이션, 시스템 관리 애플리케이션, 시스템 유지보수 애플리케이션, 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 메시징 애플리케이션, 미디어 스트리밍 애플리케이션, 소셜 네트워킹 애플리케이션 및 게임 애플리케이션을 포함하지만 이에 한정되지는 않는다.
비일시적 메모리는 컴퓨팅 디바이스에 의해 사용하기 위해 일시적 또는 영구적으로 프로그램(예를 들어, 명령어 시퀀스) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는데 사용되는 물리적 디바이스일 수 있다. 비일시적 메모리는 휘발성 및/또는 비휘발성 주소 지정가능 반도체 메모리일 수 있다. 비휘발성 메모리의 예는 플래시 메모리 및 읽기 전용 메모리(ROM)/프로그래밍 가능한 읽기 전용 메모리(PROM)/지울 수 있는 프로그램 가능한 읽기 전용 메모리(EPROM)/전자적으로 지울 수 있는 프로그래밍 가능한 읽기 전용 메모리(EEPROM)(예: 일반적으로 부팅 프로그램과 같은 펌웨어에 사용됨)를 포함하지만, 이에 한정되지 않는다. 휘발성 메모리의 예는 RAM(Random Access Memory), DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), PCM(Phase Change Memory), 디스크 또는 테이프 등을 포함하지만, 이에 한정되지 않는다.
도 5는 본 문서에 기술된 시스템 및 방법을 구현하는데 사용될 수 있는 예시적 컴퓨팅 디바이스(500)의 개략도이다. 컴퓨팅 디바이스(500)는 랩톱, 데스크톱, 워크 스테이션, 개인 휴대 정보 단말기, 서버, 블레이드 서버, 메인 프레임 및 다른 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터들을 나타내기 위한 것이다. 여기에 도시된 컴포넌트들, 그들의 연결 및 관계, 및 그들의 기능은 단지 예시적인 것을 의미하며, 본 명세서에 기술된 및/또는 청구된 발명의 구현을 제한하는 것을 의미하지는 않는다.
컴퓨팅 디바이스(500)는 프로세서(510), 메모리(520), 저장 디바이스(530), 메모리(520) 및 고속 확장 포트(550)에 연결되는 고속 인터페이스/제어기(540) 및 저속 버스(570) 및 저장 디바이스(530)에 연결되는 저속 인터페이스/제어기(560)를 포함한다. 컴포넌트들(510, 520, 530, 540, 550 및 560) 각각은 다양한 버스들을 사용하여 상호 연결되고, 공통 마더 보드 상에 또는 적절한 다른 방식으로 장착될 수 있다. 프로세서(510)는 메모리(520) 또는 저장 디바이스(530)에 저장된 명령어들을 포함하는, 컴퓨팅 디바이스(500) 내에서 실행하기 위한 명령어들을 프로세싱하여, 고속 인터페이스(540)에 연결된 디스플레이(580)와 같은 외부 입/출력 디바이스상에 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 디스플레이할 수 있다. 다른 구현예에서, 다수의 프로세서들 및/또는 다수의 버스들이 다수의 메모리들 및 다수의 유형의 메모리와 함께, 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들(500)은 필요한 동작의 부분들을 제공하는 각 디바이스와 연결될 수 있다(예를 들어, 서버 뱅크, 블레이드 서버 그룹 또는 멀티 프로세서 시스템).
메모리(520)는 컴퓨팅 디바이스(500) 내에 비일시적으로 정보를 저장한다. 메모리(520)는 컴퓨터 판독가능 매체, 휘발성 메모리 유닛(들), 비휘발성 메모리 유닛(들)일 수 있다. 비일시적 메모리(520)는 컴퓨팅 디바이스(500)에 의해 사용하기 위해 일시적 또는 영구적으로 프로그램(예를 들어, 명령어 시퀀스) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는데 사용되는 물리적 디바이스일 수 있다. 비휘발성 메모리의 예는 플래시 메모리 및 읽기 전용 메모리(ROM)/프로그래밍 가능한 읽기 전용 메모리(PROM)/지울 수 있는 프로그램 가능한 읽기 전용 메모리(EPROM)/전자적으로 지울 수 있는 프로그래밍 가능한 읽기 전용 메모리(EEPROM)(예: 일반적으로 부팅 프로그램과 같은 펌웨어에 사용됨)를 포함하지만, 이에 한정되지 않는다. 휘발성 메모리의 예는 RAM(Random Access Memory), DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), PCM(Phase Change Memory), 디스크 또는 테이프 등을 포함하지만, 이에 한정되지 않는다.
저장 디바이스(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 circuits), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 구현될 수 있다. 이들 다양한 구현예들은 적어도 하나의 프로그래머블 프로세서를 포함하는 프로그래머블 시스템 상에서 실행가능하고 및/또는 인터프리트가능한 하나 이상의 컴퓨터 프로그램들에서의 구현예를 포함할 수 있고, 이는 전용 또는 범용일 수 있고, 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스으로부터 데이터 및 명령어들을 수신하고 그에 데이터 및 명령어들을 전송하기 위해 연결될 수 있다.
이들 컴퓨터 프로그램들(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드로도 알려짐)은 프로그래머블 프로세서에 대한 기계 명령어들을 포함하며, 하이레벨 절차어 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/기계어에서 구현될 수 있다. 본 명세서에서 사용된 바와 같이, 용어 "기계 판독가능 매체", "컴퓨터 판독가능 매체"는 기계 판독가능 신호로서 기계 명령어들을 수신하는 기계 판독가능 매체를 포함하여, 기계 명령어들 및/또는 데이터를 프로그래머블 프로세서에 제공하는데 사용되는 임의의 컴퓨터 프로그램 물, 장치 및/또는 디바이스 예를 들어, 자기 디스크, 광학 디스크, 메모리, 비일시적 컴퓨터 판독가능 매체, 프로그래머블 로직 디바이스(PLD)를 지칭한다. 용어 "기계 판독가능 신호"는 기계 명령어들 및/또는 데이터를 프로그래머블 프로세서에 제공하는데 사용되는 임의의 신호를 지칭한다.
본 명세서에 기술된 프로세스들 및 논리 흐름들은 입력 데이터를 동작하고 출력을 생성함으로써 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는 데이터 프로세싱 하드웨어로도 지칭되는 하나 이상의 프로그래머블 프로세서들에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들은 또한 FPGA 또는 ASIC와 같은 특수 목적 논리 회로에 의해 수행될 수 있다. 컴퓨터 프로그램의 실행에 적절한 프로세서들은, 예시로서, 범용 및 전용 마이크로프로세서들과 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 읽기-전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 엘리먼트들은 명령어들을 수행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대형 저장 디바이스들 예를 들면, 자기적, 자기-광학 디스크들 또는 광학적 디스크들 또한 포함하거나 또는 그로부터 데이터를 수신하거나 그에 데이터를 전송하기 위해 동작적으로 결합될 수 있다. 그러나, 컴퓨터는 상기 디바이스들을 반드시 가져야하는 것은 아니다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독가능 매체는 예를 들어, EPROM, EEPROM 및 플래시 메모리 디바이스들과 같은 반도체 메모리 디바이스들; 예를 들어, 내부 하드 디스크들 또는 이동식 디스크들과 같은 자기 디스크들; 및 CD-ROM 및 DVD-ROM 디스크들을 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보충되거나 그 안에 통합될 수 있다.
사용자와의 인터렉션을 제공하기 위해, 본 개시의 하나 이상의 양태는 사용자에게 정보를 디스플레이하기 위해 예를 들어, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터 또는 터치 스크린과 같은 디스플레이 디바이스 및 선택적으로 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스 예를 들어, 마우스 또는 트랙볼을 갖는 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스들도 사용자와의 인터렉션을 제공하는데 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각적 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 추가로, 컴퓨터는 사용자에 의해 사용되는 디바이스에 문서를 송수신함으로써 예를 들어, 웹브라우저로부터 수신된 요청에 응답하여, 사용자의 사용자 디바이스상의 웹브라우저에 웹페이지를 전송함으로써 사용자와 인터렉션할 수 있다.
다수의 구현예들이 기술되었다. 그럼에도 불구하고, 다양한 수정들이 본 발명의 정신과 범위로부터 벗어나지 않고 이루어질 수 있다는 것이 이해될 것이다. 따라서, 다른 구현예들도 다음의 청구항들의 범위 내에 있다.

Claims (26)

  1. 방법(400)으로서,
    데이터 프로세싱 하드웨어(510)에서, 사용자가 말한 발화(101)에 대응하는 오디오 데이터(112)를 수신하는 단계;
    상기 데이터 프로세싱 하드웨어(510)에서, 상기 사용자(10)가 발화(101)를 말하는 동안 상기 사용자의 입술의 움직임을 나타내는 비디오 데이터(114)를 수신하는 단계;
    상기 데이터 프로세싱 하드웨어(510)에 의해, 상기 오디오 데이터(112)에 기초하여 상기 발화(101)에 대한 다수의 후보 전사(135)를 획득하는 단계;
    상기 발화(101)에 대한 상기 다수의 후보 전사(135) 중 각 후보 전사(135)에 대해:
    상기 데이터 프로세싱 하드웨어(510)에 의해, 상기 대응하는 후보 전사(135)의 합성된 음성 표현(145)을 생성하는 단계; 및
    상기 데이터 프로세싱 하드웨어(510)에 의해, 상기 대응하는 후보 전사(135)의 합성된 음성 표현(145)이 상기 사용자(10)가 상기 발화(101)를 말하는 동안 상기 사용자의 입술의 움직임과 일치할 가능성을 나타내는 일치 점수(155)를 결정하는 단계; 및
    상기 데이터 프로세싱 하드웨어(510)에 의해, 상기 발화(101)에 대한 상기 다수의 후보 전사(135)에 대해 결정된 일치 점수(155)에 기초하여, 상기 발화(101)에 대한 다수의 후보 전사(135) 중 하나를 음성 인식 출력(175)으로서 선택하는 단계를 포함하는, 방법.
  2. 청구항 1에 있어서, 상기 일치 점수(155)를 결정하는 단계는:
    상기 대응하는 후보 전사(135)의 합성된 음성 표현(145) 및 상기 사용자의 입술의 움직임을 나타내는 비디오 데이터(114)를 피처 입력으로서 일치 점수 모델(152)에 제공하는 단계; 및
    상기 일치 점수 모델(152)로부터, 상기 대응하는 후보 전사(135)의 합성된 음성 표현(145)이 상기 사용자(10)의 입술의 움직임과 일치하는 정도에 기초하여 일치 점수(155)를 피처 출력으로서 결정하는 단계를 포함하는, 방법.
  3. 청구항 2에 있어서, 상기 일치 점수 모델(152)은 복수의 트레이닝 예시(302)에 대해 트레이닝되며, 상기 복수의 트레이닝 예시는:
    음성의 발화를 나타내는 오디오 데이터(112T) 및 상기 음성의 발화와 일치하는 화자의 입술의 움직임을 나타내는 비디오 데이터(114T)를 포함하는 포지티브 트레이닝 예시(302a); 및
    음성의 발화를 나타내는 오디오 데이터(112T) 및 음성의 발화(101)와 일치하지 않는 화자의 입술의 움직임을 나타내는 비디오 데이터(114T)를 포함하는 네거티브 트레이닝 예시(302b)를 포함하는, 방법.
  4. 청구항 1 내지 3 중 어느 한 항에 있어서, 상기 발화(101)에 대한 다수의 후보 전사(135) 중 하나를 음성 인식 출력(175)으로서 선택하는 단계는 발화(101)에 대한 다수의 후보 전사(135)로부터, 가장 높은 일치 점수(155)와 연관된 후보 전사(135)를 상기 발화(101)에 대한 음성 인식 출력(175)으로서 선택하는 단계를 포함하는, 방법.
  5. 청구항 1 내지 4 중 어느 한 항에 있어서, 상기 발화(101)에 대한 다수의 후보 전사(135)를 획득하는 단계는:
    음성 인식기 모듈(130)을 사용하여, 상기 오디오 데이터(112)에 기초하여 상기 발화(101)에 대한 후보 전사(135)의 초기 세트를 생성하는 단계, 상기 후보 전사(135)의 초기 세트에서 각 후보 전사(135)는 상기 후보 전사(135)가 정확할 가능성을 나타내는 대응 가능성 점수와 연관되며;
    상기 가능성 점수에 기초하여, 상기 후보 전사(135)의 초기 세트에서 후보 전사(135)에 순위를 매기는 단계; 및
    가장 높은 가능성 점수와 연관된 상기 후보 전사(135)의 초기 세트에서 N-후보 전사(135)로서 상기 발화(101)에 대한 다수의 후보 전사(135)를 결정하는 단계를 포함하며, 상기 식별된 다수의 후보는 연관된 가능성 점수에 따라 순위가 매겨지는, 방법.
  6. 청구항 5에 있어서, 상기 발화(101)에 대한 다수의 전사 중 하나를 선택하기 전에, 상기 데이터 프로세싱 하드웨어(510)에 의해, 상기 발화(101)에 대한 다수의 후보 전사(135)에 대해 결정된 일치 점수(155)에 기초하여 상기 발화(101)에 대한 다수의 후보 전사(135)의 순위를 다시 매기는 단계를 더 포함하는, 방법.
  7. 청구항 1 내지 6 중 어느 한 항에 있어서, 상기 발화(101)에 대한 다수의 후보 전사(135)를 획득하는 단계는:
    음성 인식기 모듈(130)을 사용하여, 상기 오디오 데이터(112)에 기초하여 상기 발화(101)에 대한 후보 전사(135)의 초기 세트를 생성하는 단계, 상기 후보 전사(135)의 초기 세트에서 각 후보 전사(135)는 상기 후보 전사(135)가 정확할 가능성을 나타내는 대응 가능성 점수와 연관되며;
    가능성 임계값을 만족하는 가능성 점수와 연관된 상기 후보 전사(135)의 초기 세트에서 둘 이상의 후보 전사(135)를 식별하는 단계; 및
    상기 가능성 임계값을 만족하는 가능성 점수와 연관된 상기 후보 전사(135)의 초기 세트에서 식별된 2개 이상의 후보 전사(135)로서 상기 발화(101)에 대한 다수의 후보 전사(135)를 결정하는 단계를 포함하는, 방법.
  8. 청구항 1 내지 7 중 어느 한 항에 있어서, 상기 발화(101)에 대한 다수의 후보 전사(135) 각각은 동일한 언어와 연관되는, 방법.
  9. 청구항 1 내지 8 중 어느 한 항에 있어서, 상기 발화(101)에 대한 다수의 후보 전사(135) 중 적어도 하나는 다른 다수의 후보 전사(135)와 다른 언어와 연관되는, 방법.
  10. 청구항 1 내지 9 중 어느 한 항에 있어서, 상기 사용자(10)가 말한 발화(101)에 대응하는 오디오 데이터(112)를 수신하는 단계는 사용자(10)와 연관된 클라이언트 디바이스(110)로부터 상기 오디오 데이터(112)를 수신하는 단계를 포함하며, 상기 클라이언트 디바이스(110)는 발화(101)에 대응하는 오디오 데이터(112)를 캡처하도록 구성된 하나 이상의 오디오 캡처 디바이스(103)와 통신하는, 방법.
  11. 청구항 10에 있어서, 상기 데이터 프로세싱 하드웨어(510)는 상기 클라이언트 디바이스(110)에 상주하는, 방법.
  12. 청구항 10 또는 11에 있어서, 상기 클라이언트 디바이스(110)는 데이터 프로세싱 하드웨어(510)로부터 원격이고, 네트워크(118)를 통해 데이터 프로세싱 하드웨어(510)와 통신하는, 방법.
  13. 청구항 10 내지 12 중 어느 한 항에 있어서, 상기 사용자(10)가 발화(101)를 말하는 동안 상기 사용자의 입술의 움직임을 나타내는 비디오 데이터(114)를 수신하는 단계는 상기 사용자(10)와 연관된 클라이언트 디바이스(110)로부터 상기 비디오 데이터(114)를 수신하는 단계를 포함하며, 상기 클라이언트 디바이스(110)는 상기 사용자(10)가 발화(101)를 말하는 동안 상기 사용자의 입술의 움직임을 나타내는 비디오 데이터(114)를 기록하도록 구성된 하나 이상의 비디오 캡처 디바이스(105)를 포함하는, 방법.
  14. 시스템(100)으로서,
    데이터 프로세싱 하드웨어(510); 및
    상기 데이터 프로세싱 하드웨어(510)와 통신하는 메모리 하드웨어(520)를 포함하며, 상기 메모리 하드웨어(520)는 상기 데이터 프로세싱 하드웨어(510)에 의해 실행될 때 상기 데이터 프로세싱 하드웨어(510)로 하여금 동작들을 수행하게 하는 명령어들을 저장하며, 상기 동작들은:
    사용자가 말한 발화(101)에 대응하는 오디오 데이터(112)를 수신하는 동작;
    상기 사용자(10)가 발화(101)를 말하는 동안 상기 사용자의 입술의 움직임을 나타내는 비디오 데이터(114)를 수신하는 동작;
    상기 오디오 데이터(112)에 기초하여 상기 발화(101)에 대한 다수의 후보 전사(135)를 획득하는 동작;
    상기 발화(101)에 대한 상기 다수의 후보 전사(135) 중 각 후보 전사(135)에 대해:
    상기 대응하는 후보 전사(135)의 합성된 음성 표현(145)을 생성하는 동작; 및
    상기 대응하는 후보 전사(135)의 합성된 음성 표현(145)이 상기 사용자(10)가 상기 발화(101)를 말하는 동안 상기 사용자의 입술의 움직임과 일치할 가능성을 나타내는 일치 점수(155)를 결정하는 동작; 및
    상기 발화(101)에 대한 상기 다수의 후보 전사(135)에 대해 결정된 일치 점수(155)에 기초하여, 상기 발화(101)에 대한 다수의 후보 전사(135) 중 하나를 음성 인식 출력(175)으로서 선택하는 동작을 포함하는, 시스템.
  15. 청구항 14에 있어서, 상기 일치 점수(155)를 결정하는 동작은:
    상기 대응하는 후보 전사(135)의 합성된 음성 표현(145) 및 상기 사용자의 입술의 움직임을 나타내는 비디오 데이터(114)를 피처 입력으로서 일치 점수 모델(152)에 제공하는 동작; 및
    상기 일치 점수 모델(152)로부터, 상기 대응하는 후보 전사(135)의 합성된 음성 표현(145)이 상기 사용자의 입술의 움직임과 일치하는 정도에 기초하여 일치 점수(155)를 피처 출력으로서 결정하는 동작을 포함하는, 시스템.
  16. 청구항 15에 있어서, 상기 일치 점수 모델(152)은 복수의 트레이닝 예시(302)에 대해 트레이닝되며, 상기 복수의 트레이닝 예시는:
    음성의 발화를 나타내는 오디오 데이터(112T) 및 상기 음성의 발화와 일치하는 화자의 입술의 움직임을 나타내는 비디오 데이터(114T)를 포함하는 포지티브 트레이닝 예시(302a); 및
    음성의 발화를 나타내는 오디오 데이터(112T) 및 음성의 발화와 일치하지 않는 화자의 입술의 움직임을 나타내는 비디오 데이터(114T)를 포함하는 네거티브 트레이닝 예시(302b)를 포함하는, 시스템.
  17. 청구항 14 내지 16 중 어느 한 항에 있어서, 상기 발화(101)에 대한 다수의 후보 전사(135) 중 하나를 음성 인식 출력(175)으로서 선택하는 동작은 발화(101)에 대한 다수의 후보 전사(135)로부터, 가장 높은 일치 점수(155)와 연관된 후보 전사(135)를 상기 발화(101)에 대한 음성 인식 출력(175)으로서 선택하는 동작을 포함하는, 시스템.
  18. 청구항 14 내지 17 중 어느 한 항에 있어서, 상기 발화(101)에 대한 다수의 후보 전사(135)를 획득하는 동작은:
    음성 인식기 모듈(130)을 사용하여, 상기 오디오 데이터(112)에 기초하여 상기 발화(101)에 대한 후보 전사(135)의 초기 세트를 생성하는 동작, 상기 후보 전사(135)의 초기 세트에서 각 후보 전사(135)는 상기 후보 전사(135)가 정확할 가능성을 나타내는 대응 가능성 점수와 연관되며;
    상기 가능성 점수에 기초하여, 상기 후보 전사(135)의 초기 세트에서 후보 전사(135)에 순위를 매기는 동작; 및
    가장 높은 가능성 점수와 연관된 상기 후보 전사(135)의 초기 세트에서 N-후보 전사(135)로서 상기 발화(101)에 대한 다수의 후보 전사(135)를 결정하는 동작을 포함하며, 상기 식별된 다수의 후보는 연관된 가능성 점수에 따라 순위가 매겨지는, 시스템.
  19. 청구항 18에 있어서, 상기 발화(101)에 대한 다수의 전사 중 하나를 선택하기 전에, 상기 발화(101)에 대한 다수의 후보 전사(135)에 대해 결정된 일치 점수(155)에 기초하여 상기 발화(101)에 대한 다수의 후보 전사(135)의 순위를 다시 매기는 동작을 더 포함하는, 시스템.
  20. 청구항 14 내지 19 중 어느 한 항에 있어서, 상기 발화(101)에 대한 다수의 후보 전사(135)를 획득하는 동작은:
    음성 인식기 모듈(130)을 사용하여, 상기 오디오 데이터(112)에 기초하여 상기 발화(101)에 대한 후보 전사(135)의 초기 세트를 생성하는 동작, 상기 후보 전사(135)의 초기 세트에서 각 후보 전사(135)는 상기 후보 전사(135)가 정확할 가능성을 나타내는 대응 가능성 점수와 연관되며;
    가능성 임계값을 만족하는 가능성 점수와 연관된 상기 후보 전사(135)의 초기 세트에서 둘 이상의 후보 전사(135)를 식별하는 동작; 및
    상기 가능성 임계값을 만족하는 가능성 점수와 연관된 상기 후보 전사(135)의 초기 세트에서 식별된 2개 이상의 후보 전사(135)로서 상기 발화(101)에 대한 다수의 후보 전사(135)를 결정하는 동작을 포함하는, 시스템.
  21. 청구항 14 내지 20 중 어느 한 항에 있어서, 상기 발화(101)에 대한 다수의 후보 전사(135) 각각은 동일한 언어와 연관되는, 시스템.
  22. 청구항 14 내지 21 중 어느 한 항에 있어서, 상기 발화(101)에 대한 다수의 후보 전사(135) 중 적어도 하나는 다른 다수의 후보 전사(135)와 다른 언어와 연관되는, 시스템.
  23. 청구항 14 내지 22 중 어느 한 항에 있어서, 상기 사용자(10)가 말한 발화(101)에 대응하는 오디오 데이터(112)를 수신하는 동작은 사용자(10)와 연관된 클라이언트 디바이스(110)로부터 상기 오디오 데이터(112)를 수신하는 동작을 포함하며, 상기 클라이언트 디바이스(110)는 발화(101)에 대응하는 오디오 데이터(112)를 캡처하도록 구성된 하나 이상의 오디오 캡처 디바이스(103)와 통신하는, 시스템.
  24. 청구항 23에 있어서, 상기 데이터 프로세싱 하드웨어(510)는 상기 클라이언트 디바이스(110)에 상주하는, 시스템.
  25. 청구항 23 또는 24에 있어서, 상기 클라이언트 디바이스(110)는 데이터 프로세싱 하드웨어(510)로부터 원격이고, 네트워크(118)를 통해 데이터 프로세싱 하드웨어(510)와 통신하는, 시스템.
  26. 청구항 23 내지 25 중 어느 한 항에 있어서, 상기 사용자(10)가 발화(101)를 말하는 동안 상기 사용자의 입술의 움직임을 나타내는 비디오 데이터(114)를 수신하는 동작은 상기 사용자(10)와 연관된 클라이언트 디바이스(110)로부터 상기 비디오 데이터(114)를 수신하는 동작을 포함하며, 상기 클라이언트 디바이스(110)는 상기 사용자(10)가 발화(101)를 말하는 동안 상기 사용자의 입술의 움직임을 나타내는 비디오 데이터(114)를 기록하도록 구성된 하나 이상의 비디오 캡처 디바이스(103)를 포함하는, 시스템.
KR1020227020415A 2019-11-18 2019-11-18 오디오-비주얼 매칭을 사용한 자동 음성 인식 가설 재점수화 KR20220090586A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2019/061967 WO2021101500A1 (en) 2019-11-18 2019-11-18 Rescoring automatic speech recognition hypotheses using audio-visual matching

Publications (1)

Publication Number Publication Date
KR20220090586A true KR20220090586A (ko) 2022-06-29

Family

ID=68848446

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227020415A KR20220090586A (ko) 2019-11-18 2019-11-18 오디오-비주얼 매칭을 사용한 자동 음성 인식 가설 재점수화

Country Status (6)

Country Link
US (1) US20220392439A1 (ko)
EP (1) EP4052254A1 (ko)
JP (1) JP7265094B2 (ko)
KR (1) KR20220090586A (ko)
CN (1) CN114730563A (ko)
WO (1) WO2021101500A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111225237B (zh) * 2020-04-23 2020-08-21 腾讯科技(深圳)有限公司 一种视频的音画匹配方法、相关装置以及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7761296B1 (en) * 1999-04-02 2010-07-20 International Business Machines Corporation System and method for rescoring N-best hypotheses of an automatic speech recognition system
US6219640B1 (en) * 1999-08-06 2001-04-17 International Business Machines Corporation Methods and apparatus for audio-visual speaker recognition and utterance verification
US7203648B1 (en) * 2000-11-03 2007-04-10 At&T Corp. Method for sending multi-media messages with customized audio
US6975991B2 (en) * 2001-01-31 2005-12-13 International Business Machines Corporation Wearable display system with indicators of speakers
US8009966B2 (en) * 2002-11-01 2011-08-30 Synchro Arts Limited Methods and apparatus for use in sound replacement with automatic synchronization to images
US8635066B2 (en) 2010-04-14 2014-01-21 T-Mobile Usa, Inc. Camera-assisted noise cancellation and speech recognition
US10332515B2 (en) * 2017-03-14 2019-06-25 Google Llc Query endpointing based on lip detection
WO2019161196A2 (en) 2018-02-15 2019-08-22 DMAI, Inc. System and method for disambiguating a source of sound based on detected lip movement
US10573312B1 (en) * 2018-12-04 2020-02-25 Sorenson Ip Holdings, Llc Transcription generation from multiple speech recognition systems

Also Published As

Publication number Publication date
CN114730563A (zh) 2022-07-08
JP2022546640A (ja) 2022-11-04
EP4052254A1 (en) 2022-09-07
JP7265094B2 (ja) 2023-04-25
WO2021101500A1 (en) 2021-05-27
US20220392439A1 (en) 2022-12-08

Similar Documents

Publication Publication Date Title
US10235994B2 (en) Modular deep learning model
KR101780760B1 (ko) 가변길이 문맥을 이용한 음성인식
US9442910B2 (en) Method and system for adding punctuation to voice files
US11797772B2 (en) Word lattice augmentation for automatic speech recognition
KR102390940B1 (ko) 음성 인식을 위한 컨텍스트 바이어싱
US8494853B1 (en) Methods and systems for providing speech recognition systems based on speech recordings logs
US9202466B2 (en) Spoken dialog system using prominence
WO2021045828A1 (en) Transcription revision interface for speech recognition system
US20140350934A1 (en) Systems and Methods for Voice Identification
CN105654940B (zh) 一种语音合成方法和装置
US10152298B1 (en) Confidence estimation based on frequency
US11151996B2 (en) Vocal recognition using generally available speech-to-text systems and user-defined vocal training
JP2013148697A (ja) 情報処理装置、大語彙連続音声認識方法及びプログラム
KR20240053639A (ko) 제한된 스펙트럼 클러스터링을 사용한 화자-턴 기반 온라인 화자 구분
EP4078572A1 (en) Proper noun recognition in end-to-end speech recognition
Moyal et al. Phonetic search methods for large speech databases
KR20230158608A (ko) 종단 간 자동 음성 인식 신뢰도 및 삭제 추정을 위한 멀티태스크 학습
JP7265094B2 (ja) 音声映像マッチングを使用した自動音声認識仮説の再スコアリング
WO2023200946A1 (en) Personalizable probabilistic models
Audhkhasi et al. Empirical link between hypothesis diversity and fusion performance in an ensemble of automatic speech recognition systems.
US20230186898A1 (en) Lattice Speech Corrections
US20240013782A1 (en) History-Based ASR Mistake Corrections
WO2023200923A1 (en) Comparison scoring for hypothesis ranking
KR20230156795A (ko) 단어 분할 규칙화
Khadse To Study And Analyze The Use Of Speech Recognition Systems And Its Benefits Across Various Demographics