KR102268087B1 - 음성 인식 시스템 - Google Patents

음성 인식 시스템 Download PDF

Info

Publication number
KR102268087B1
KR102268087B1 KR1020207024503A KR20207024503A KR102268087B1 KR 102268087 B1 KR102268087 B1 KR 102268087B1 KR 1020207024503 A KR1020207024503 A KR 1020207024503A KR 20207024503 A KR20207024503 A KR 20207024503A KR 102268087 B1 KR102268087 B1 KR 102268087B1
Authority
KR
South Korea
Prior art keywords
speech input
input
contexts
user
speech
Prior art date
Application number
KR1020207024503A
Other languages
English (en)
Other versions
KR20200103876A (ko
Inventor
페타 알레식
페드로 제이. 모레노 멘기바
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20200103876A publication Critical patent/KR20200103876A/ko
Application granted granted Critical
Publication of KR102268087B1 publication Critical patent/KR102268087B1/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/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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/632Query formulation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/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/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/197Probabilistic grammars, e.g. word n-grams
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/081Search algorithms, e.g. Baum-Welch or Viterbi
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

컴퓨터 저장 매체 상에 인코딩된 컴퓨터 프로그램들을 포함하여, 음성 인식을 위한 방법들, 시스템들, 및 장치. 일 양태에서, 방법은 음성 입력을 수신하는 단계; 상기 음성 입력에 대한 전사를 결정하는 단계, 상기 음성 입력에 대한 상기 전사를 결정하는 단계는, 상기 음성 입력의 복수의 세그먼트들에 대하여: 상기 음성 입력의 제1 세그먼트에 대한 제1 후보 전사를 획득하는 단계; 상기 제1 후보 전사와 연관된 하나 이상의 컨텍스트들을 결정하는 단계; 상기 하나 이상의 컨텍스트들 중 각각에 대한 각각의 가중치를 조정하는 단계; 및 상기 조정된 가중치들에 부분적으로 기초하여 상기 음성 입력의 제2 세그먼트에 대한 제2 후보 전사를 결정하는 단계를 포함하며; 및 출력을 위해 상기 음성 입력의 상기 복수의 세그먼트들의 상기 전사를 제공하는 단계를 포함한다.

Description

음성 인식 시스템{VOICE RECOGNITION SYSTEM}
본 명세서는 음성 인식에 관한 것이다.
종래의 음성 인식 시스템들은 사용자로부터의 음성 입력을 텍스트 출력으로 변환하는 것을 목표로 한다. 텍스트 출력은 예를 들어, 검색 쿼리, 명령, 단어 처리 입력 등을 포함하여, 다양한 목적들로 사용될 수 있다. 전형적인 음성 검색 시스템에서, 음성 인터페이스는 사용자의 음성 입력을 수신하고 음성 인식 엔진에 음성 입력을 제공한다. 음성 인식 엔진은 음성 입력을 텍스트 검색 쿼리로 변환한다. 음성 검색 시스템은 그 후 하나 이상의 검색 결과들을 획득하기 위해 검색 엔진에 텍스트 검색 쿼리를 제출한다.
일반적으로, 본 명세서에 게시된 발명의 혁신적 양태는 방법들로 구현될 수 있으며, 상기 방법들은: 음성 입력을 표현하는 데이터를 수신하는 단계; 상기 음성 입력에 대한 전사를 결정하는 단계, 상기 음성 입력에 대한 상기 전사를 결정하는 단계는, 상기 음성 입력의 복수의 세그먼트들에 대하여: 상기 음성 입력의 제1 세그먼트에 대한 제1 후보 전사를 획득하는 단계; 상기 제1 후보 전사와 연관된 하나 이상의 컨텍스트들을 결정하는 단계; 상기 하나 이상의 컨텍스트들 중 각각에 대한 각각의 가중치를 조정하는 단계; 및 상기 조정된 가중치들에 부분적으로 기초하여 상기 음성 입력의 제2 세그먼트에 대한 제2 후보 전사를 결정하는 단계를 포함하며; 및 출력을 위해 상기 음성 입력의 상기 복수의 세그먼트들의 상기 전사를 제공하는 단계를 포함한다. 본 명세서에 기술된 방법은 컴퓨터로 구현되는 방법으로 구현될 수 있다. 이 양태의 다른 실시예들은, 각각이 상기 방법들의 액션들을 수행하도록 구성된, 하나 이상의 컴퓨터 저장 디바이스들 상에 기록된 대응하는 컴퓨터 프로그램들, 컴퓨터 시스템들, 및 장치를 포함한다. 특정한 동작들 또는 액션들을 수행하도록 구성될 하나 이상의 컴퓨터들의 시스템은 상기 시스템이 동작 중에 시스템으로 하여금 동작들 또는 액션들을 수행하게 하는 소프트웨어, 펌웨어, 하드웨어, 또는 그들의 조합을 시스템 상에 설치했음을 의미한다. 특정한 동작들 또는 액션들을 수행하도록 구성될 하나 이상의 컴퓨터 프로그램들은, 상기 하나 이상의 프로그램들이 명령어들을 포함하며, 상기 명령어들은 데이터 처리 장치에 의해 실행시, 장치로 하여금 동작들 또는 액션들을 수행하게 함을 의미한다.
본 명세서에 기술된 발명의 다른 혁신적 양태는 하나 이상의 컴퓨터들에 의해 실행 가능한 명령어들을 포함하는 소프트웨어가 저장된 컴퓨터 판독가능 매체로 구현 가능하며, 상기 명령어들은 실행시, 상기 하나 이상의 컴퓨터들로 하여금 동작들을 수행하게 하며, 상기 동작들은: 음성 입력을 인코딩한 데이터를 수신하는 동작; 상기 음성 입력에 대한 전사를 결정하는 동작, 상기 음성 입력에 대한 상기 전사를 결정하는 동작은, 상기 음성 입력의 복수의 세그먼트들에 대하여: 상기 음성 입력의 제1 세그먼트에 대한 제1 후보 전사를 획득하는 동작; 상기 제1 후보 전사와 연관된 하나 이상의 컨텍스트들을 결정하는 동작; 상기 하나 이상의 컨텍스트들 중 각각에 대한 각각의 가중치를 조정하는 동작; 및 상기 조정된 가중치들에 부분적으로 기초하여 상기 음성 입력의 제2 세그먼트에 대한 제2 후보 전사를 결정하는 동작을 포함하며; 및 출력을 위해 상기 음성 입력의 상기 복수의 세그먼트들의 상기 전사를 제공하는 동작을 포함한다.
전술한 실시예들 및 다른 실시예들은 각각 선택적으로 다음 구성들 중 하나 이상을, 단독으로 또는 임의의 조합으로, 포함한다. 예를 들어, 일 실시예는 다음의 모든 구성들을 조합하여 포함한다. 상기 방법은 상기 음성 입력의 제1 세그먼트에 대한 제1 후보 전사를 획득하는 단계를 포함하며 제1 후보 전사를 획득하는 단계는: 상기 음성 입력의 상기 제1 세그먼트가 안정성 기준을 만족시킴을 결정하는 단계; 및 상기 음성 입력의 상기 제1 세그먼트가 안정성 기준을 만족시킴을 결정함에 응답하여, 상기 음성 입력의 상기 제1 세그먼트에 대한 상기 제1 후보 전사를 획득하는 단계를 포함한다. 상기 안정성 기준은 상기 음성 입력의 상기 제1 세그먼트의 하나 이상의 의미론적 특징들(semantic characteristic)을 포함한다. 상기 안정성 기준은 상기 음성 입력의 상기 제1 세그먼트 이후에 시간 지연을 포함한다. 상기 음성 입력의 상기 제1 세그먼트 이후에 상기 음성 입력의 상기 제2 세그먼트가 발생한다. 상기 하나 이상의 컨텍스트들은 사용자 디바이스로부터 수신된다. 상기 하나 이상의 컨텍스트들은 사용자의 지리적 위치, 사용자의 검색 이력, 사용자의 관심들, 또는 사용자의 활동(activity)을 포함한다. 상기 방법은 복수의 컨텍스트들에 대한 복수의 스코어들을 저장하는 단계; 및 상기 하나 이상의 컨텍스트들 중 각각에 대한 각각의 가중치를 조정함에 응답하여, 하나 이상의 컨텍스트들에 대해 조정된 스코어들을 업데이트하는 단계를 포함한다. 상기 방법은 쿼리로써 상기 출력을, 예를 들어 검색 엔진에 제공하는 단계를 더 포함하며 - 상기 검색 엔진은 그 후 상기 검색 쿼리에 응답하여, 사용자 디바이스에 하나 이상의 검색 결과들을 제공할 수 있다. 상기 제1 후보 전사는 단어, 서브-단어, 또는 단어들 그룹을 포함한다.
본 명세서에 기술된 발명의 특정한 실시예들은 다음의 이점들 중 하나 이상을 실현하도록 구현될 수 있다. 종래의 음성 인식 시스템과 비교하여, 음성 인식 시스템은 음성 입력의 세그먼트에 기초하여 보다 정확한 텍스트 검색 쿼리들을 제공할 수 있다. 시스템은 음성 입력의 세그먼트에 기초하여 컨텍스트들에 대한 가중치들을 조정하고, 조정된 가중치들에 부분적으로 기초하여 음성 입력의 다음 세그먼트의 전사를 결정하기 때문에, 시스템은 동적으로 인식 성능을 개선할 수 있다. 따라서, 시스템은 음성 인식의 정확성을 향상시킬 수 있다. 이러한 향상된 정확성은 사용자가 음성 인식 시스템에 의한 처리를 위해 음성 입력을 제공하는 프로세스를 반복해야 할 가능성을 감소시키며, 그로 인해 음성 인식 시스템이 다른 음성 입력들을 핸들링 할 수 있도록 한다.
본 명세서 발명의 하나 이상의 실시예들의 세부 사항들은 첨부된 도면들 및 이하의 기술(description)에서 설명된다. 발명의 다른 구성들, 양태들 및 이점들은 상세한 설명, 도면들 및 청구항들로부터 명백해질 것이다. 양태들 및 구현예들은 결합될 수 있고, 일 양태 또는 일 구현예의 컨텍스트에서 기술된 구성들은 다른 양태들 또는 다른 구현예들의 컨텍스트에서 구현될 수 있다는 것을 이해할 것이다.
도 1은 예시적 음성 인식 시스템의 개요를 제공하는 다이어그램이다.
도 2는 예시적 컨텍스트들을 도시하는 다이어그램이다.
도 3은 안정성 기준(stability criteria)이 만족됨을 결정하기 위한 예시적 프로세스를 도시하는 다이어그램이다.
도 4는 음성 입력의 전사를 제공하기 위한 예시적 방법의 흐름도이다.
도 5는 음성 입력에 대한 전사를 결정하기 위한 예시적 방법의 흐름도이다.
다양한 도면들 내의 동일한 참조 부호들은 동일한 요소들을 표시한다.
도 1은 예시적 음성 인식 시스템(100)의 개요를 제공하는 다이어그램이다. 음성 인식 시스템(100)은, 사용자 디바이스(120)로부터, 사용자(10)로부터의 음성 입력(110)을 수신하고, 음성 입력(110)의 전사를 결정하고, 음성 입력(110)의 전사를 출력으로써 제공하도록 프로그래밍된 하나 이상의 컴퓨터들을 포함한다. 도 1의 예시에서, 출력은 검색 쿼리(150)에 응답한 검색 결과들(170)를 획득하기 위해 검색 엔진(160)에 제공되는 검색 쿼리(150)일 수 있다. 하나 이상의 검색 결과들(170)이 그 후 사용자 디바이스(120)에 제공된다. 음성 인식 시스템(100)은, 예를 들어 서버를 포함하는 하나 이상의 컴퓨터들 또는 사용자 디바이스 상에서, 구현될 수 있다.
음성 인식 시스템(100)은 하나 이상의 네트워크들(180) 상에서 사용자 디바이스(120)와 통신하는 음성 인식 엔진(140)을 포함한다. 하나 이상의 네트워크들(180)은 무선 셀룰러 네트워크들, WLAN(wireless local area network) 또는 Wi-Fi 네트워크들, 유선 이더넷 네트워크들, 다른 유선 네트워크들, 또는 이들의 임의의 적절한 조합, 을 포함하는 컴퓨터 네트워크들 또는 폰일 수 있다. 하나 이상의 프로세서들 및 컴퓨터 판독가능 매체를 포함하는 사용자 디바이스(120)는 모바일 폰, 스마트폰, 태블릿 컴퓨터, 뮤직 플레이어, 전자 북 리더, 랩탑 또는 데스크탑 컴퓨터, PDA, 또는 다른 핸드헬드 또는 모바일 디바이스를 포함하지만 이에 제한되지 않는 임의의 적절한 유형의 컴퓨팅 디바이스일 수 있다.
사용자 디바이스(120)는 사용자(10)로부터 음성 입력(110)을 수신하도록 구성된다. 사용자 디바이스(120)는, 예를 들어 음향-전기 변환기 또는 센서(예를 들어, 마이크로폰)를 포함하거나 그것에 결합될 수 있다. 사용자(10)가 음성 입력(110)을 입력함에 응답하여, 음성 입력은 음성 인식 엔진(140)에 제출될 수 있다. (일반적으로 이것은 음성 입력을 표현하거나 인코딩하는 데이터를 음성 인식 엔진(140)에 제출함으로써 행해질 수 있다. 음성 인식 엔진(140)은 수신된 데이터로부터 음성 입력을 추출하기 위해 데이터를 처리할 수 있다.
음성 인식 엔진(140)은 순차적으로 음성 입력을 인식할 수 있다, 예를 들어, 음성 입력(110)의 제1 부분(111)이 인식될 수 있고 그 후 음성 입력(110)의 제2 부분(112)이 인식될 수 있다. 음성 입력(110)의 하나 이상의 부분들은 특정한 안정성 기준에 기초하여 음성 입력(110)의 개별 세그먼트로써 인식될 수 있다. 한 부분은 단어, 서브-단어, 또는 단어들 그룹을 포함할 수 있다. 일부 구현예들에서, 음성 입력(110)의 하나 이상의 세그먼트들은 이하에서 보다 상세히 기술되는 바와 같이 하나 이상의 컨텍스트들을 조정하는데 사용될 수 있는 중간 인식 결과들을 제공할 수 있다.
검색 쿼리의 예시가 일러스트레이션을 위해 내내 사용되었지만, 음성 입력(110)은 음성 기반 명령어들, 검색 엔진 쿼리 용어들, 구술(dictation), 대화 시스템들, 또는 전사된 음성을 사용하거나 액션을 수행하기 위해 전사된 음성을 사용하여 소프트웨어 애플리케이션을 호출하는 임의의 다른 입력을 포함하는 임의의 유형의 음성 통신을 표현할 수 있다.
음성 인식 엔진(140)은 음성 입력(110)을 수신하고 처리하도록 구성된 음성 인식 시스템(100)의 소프트웨어 컴포넌트일 수 있다. 도 1에 도시된 예시 시스템에서, 음성 인식 엔진(140)은 음성 입력(110)을 검색 엔진(160)에 제공되는 텍스트 검색 쿼리(150)로 변환한다. 음성 인식 엔진(140)은 음성 디코더(142), 컨텍스트 모듈(144), 및 컨텍스트 조정 모듈(146)을 포함한다. 음성 디코더(142), 컨텍스트 모듈(144), 및 컨텍스트 조정 모듈(146)은 음성 인식 시스템(100)의 소프트웨어 컴포넌트들일 수 있다.
음성 인식 엔진(140)이 음성 입력(110)을 수신하면, 음성 디코더(142)는 음성 입력(110)에 대한 전사를 결정한다. 음성 디코더(142)는 그 후 출력으로써, 예를 들어, 검색 엔진(160)에 제공될 검색 쿼리(150)로써 음성 입력(110)에 대한 전사를 제공할 수 있다.
음성 디코더(142)는 음성 입력(110)에 대한 후보 전사들을 생성하기 위해 언어 모델을 사용한다. 언어 모델은 단어들 또는 단어들의 시퀀스들과 연관된 확률 값들을 포함한다. 예를 들어, 언어 모델은 N-그램 모델일 수 있다. 중간 인식 결과들은 음성 디코더(142)가 음성 입력을 처리함에 따라 결정될 수 있다. 중간 인식 결과들 각각은 음성 입력(110)의 전사의 안정적인 세그먼트에 대응한다. 전사의 안정한 세그먼트를 결정하기 위한 안정성 기준은 도 3과 관련하여 이하에서 보다 상세히 기술된다.
음성 디코더(142)는 각각의 안정한 세그먼트를 컨텍스트 조정 모듈(146)에 제공한다. 컨텍스트 조정 모듈(146)은 컨텍스트 모듈(144)로부터 관련 컨텍스트들을 식별한다. 식별된 각각의 컨텍스트는 가중치와 연관될 수 있다. 각 컨텍스트에 대한 기본 가중치는, 예를 들어, 컨텍스트들의 인기도, 컨텍스트들의 시간 근접성 (즉, 특정한 컨텍스트가 최근에 활발히 사용되는지 여부), 또는 컨텍스트들의 최근 또는 글로벌 사용에 기초하여, 다양한 기준에 따라 초기에 특정될 수 있다. 기본 가중치는 사용자 입력이 특정한 컨텍스트들과 연관될 가능성에 기초하여 초기 편향(bias)을 생성할 수 있다. 컨텍스트 조정 모듈(146)이 관련 컨텍스트들을 식별하면, 컨텍스트 조정 모듈(146)은 음성 디코더(142)에 의해 제공된 하나 이상의 안정한 세그먼트들에 기초하여 컨텍스트들에 대한 가중치들을 조정한다. 가중치들은 음성 입력들의 전사들이 특정한 컨텍스트들과 연관된 정도를 표시하기 위해 조정될 수 있다.
컨텍스트 모듈(144)은 컨텍스트들(148) 및 컨텍스트들(148)과 연관된 가중치들을 저장한다. 컨텍스트 모듈(144)은 컴퓨팅 디바이스로 하여금 사용자 디바이스(120)로부터 하나 이상의 컨텍스트들(148)을 수신하게 하도록 구성된 음성 인식 엔진(140)의 소프트웨어 컴포넌트일 수 있다. 음성 인식 엔진(140)은 수신된 컨텍스트들(148)을 컨텍스트 모듈(144)에 저장하도록 구성될 수 있다. 일부 경우들에서, 컨텍스트 모듈(144)은 사용자(10)에 대해 커스터마이징된 하나 이상의 컨텍스트들(148)을 생성하도록 구성될 수 있다. 음성 인식 엔진(140)은 생성된 컨텍스트들(148)을 컨텍스트 모듈(144)에 저장하도록 구성될 수 있다.
컨텍스트들(148)은, 예를 들어, (1) 반복된 음성 입력들 간의 시간 간격, 사용자 디바이스의 스크린 근처의 전면 카메라로부터의 눈 움직임을 반영하는 시선 추적 정보와 같은 사용자 활동들을 기술하는 데이터, (2) 사용된 모바일 애플리케이션의 유형, 사용자의 위치, 사용된 디바이스의 유형, 또는 현재 시간과 같이 음성 입력이 발생된 상황들을 기술하는 데이터; (3) 검색 엔진에 제출된 이전의 음성 검색 쿼리; (4) 명령, 요청 또는 검색 엔진에 대한 검색 쿼리와 같은 음성 인식 엔진에 제출된 음성 입력의 유형을 기술하는 데이터, 및 (5) 엔티티들, 예를 들어, 특정한 카테고리들의 멤버들, 장소 이름들 등을 포함할 수 있다. 컨텍스트들은, 예를 들어, 이전의 검색 쿼리들, 사용자 정보, 엔티티 데이터베이스들 등으로부터 형성될 수 있다.
도 2는 예시적 컨텍스트들을 도시하는 다이어그램이다. 음성 인식 엔진은, 예를 들어 컨텍스트 모듈, 예를 들어 컨텍스트 모듈(144), 에 "tennis players"와 연관된 컨텍스트(210) 및 "basketball players"와 연관된 컨텍스트(220)를 저장하도록 구성된다. 컨텍스트(210)는 특정한 테니스 선수에 대응하는 엔티티들, 예를 들어, "Roger Federer", "Rafael Nadal" 및 "Novak Djokovic", 을 포함한다. 컨텍스트(220)는 특정한 농구 선수에 대응하는 엔티티들, 예를 들어, "Bederer", "Rafael Madall", "Novak Jocovich", 를 포함한다.
컨텍스트 모듈(144)은 컨텍스트들(210, 220)에 대한 가중치들을 저장하도록 구성될 수 있다. 가중치들은 음성 입력들의 하나 이상의 전사들이 컨텍스트들(210, 220)과 연관되는 정도를 표시할 수 있다. 컨텍스트 조정 모듈(146)이 컨텍스트들(210, 220)을 식별하는 경우, 컨텍스트 조정 모듈은 컨텍스트들(210, 220)과 연관된 가중치들을 또한 식별한다.
음성 디코더(142)가 음성 입력(110)의 제1 세그먼트(111)에 대한 제1 후보 전사 "how many wins does tennis player" 획득한 경우, 음성 디코더(142)는 제1 세그먼트(111)에 대한 제1 후보 전사를 컨텍스트 조정 모듈(146)에 제공한다. 컨텍스트 조정 모듈(146)은 컨텍스트들(210, 220)이 컨텍스트 모듈(144)로부터 관된된 컨텍스트들임을 식별하고, 컨택스트들(210, 220)과 연관된 가중치들을 식별한다. 그 후, 컨텍스트 조정 모듈(146)은 음성 입력(110)의 제1 세그먼트(111)에 대한 제1 후보 전사에 기초하여 컨텍스트들(210, 220)에 대한 각각의 가중치들을 조정하도록 구성된다. 특히, 컨텍스트 조정 모듈(146)은 음성 입력(110)의 후속 세그먼트들을 인식하는데 사용하기 위해 컨텍스트들(210, 220)에 대한 각각의 가중치들을 조정할 수 있다.
각각의 컨텍스트들에 대한 기본 가중치들은, 예를 들어 테니스와 비교하여 농구와 관련된 음성 입력들의 이력적 인기로 인해, 더 높은 초기 가중치를 갖는 농구의 컨텍스트쪽으로 음성 인식을 초기에 편향시켰을 수 있다. 그러나, 중간 인식 결과에 기초하여 조정되면, 음성 인식은 테니스의 컨텍스트쪽으로 편향될 수 있다. 이 예시에서, 음성 입력(110)의 제1 후보 전사 "how many wins does tennis player"는 "tennis player"라는 용어를 포함한다. 제1 후보 전사의 용어 "tennis player"에 기초하여, 컨텍스트 조정 모듈(146)은 컨텍스트들 중 하나 이상에 대한 가중치를 조정하도록 구성된다. 예를 들어, 컨텍스트 조정 모듈(146)은 컨텍스트(210)에 대한 가중치를, 예를 들어 "10"에서 "90"으로 증가시킬 수 있거나, 컨텍스트(220)의 가중치를, 예를 들어 "90"에서 "10"으로 감소시킬 수 있거나, 또는 가중치들의 증가 및 감소의 조합을 수행할 수 있다.
음성 디코더(142)는 조정된 가중치들에 부분적으로 기초하여 음성 입력(110)의 제2 세그먼트(112)에 대한 제2 후보 전사를 결정하도록 구성될 수 있다. 컨텍스트들에 대한 각각의 가중치들을 조정함에 응답하여, 음성 인식 엔진(140)은 컨텍스트 모듈(144) 내의 컨텍스트들(210, 220)에 대한 조정된 가중치들을 업데이트하도록 구성될 수 있다. 상기 예시에서, 음성 입력(110)의 제2 세그먼트(112)에 대한 제2 후보 전사를 결정하기 위해, 음성 디코더(142)는 조정된 가중치들에 기초하여 컨텍스트(220)보다 컨텍스트(210)에 더 많은 가중치를 부여할 수 있다. 컨텍스트(210)에 대한 가중치들에 기초하여, 음성 디코더(142)는 음성 입력(110)의 제2 세그먼트(112)에 대한 제2 후보 전사로써 "Roger Federer"를 결정할 수 있다.
대조적으로, 컨텍스트 조정 모듈(146)이 제1 세그먼트(111)에 대한 제1 후보 전사에 기초하여 컨텍스트들(210, 220)에 대한 가중치들을 조정하지 않으면, 음성 디코더(142)는 컨텍스트 모듈(144)에 저장된 컨텍스트들(210, 220)에 대한 기본 가중치들을 에 기초하여 제2 세그먼트(112)에 대한 제2 후보 전사를 결정할 수있다. 컨텍스트(210)가 컨텍스트(210)보다 더 가중된 경우, 음성 디코더는 "Roger Bederer"와 같은 농구 선수들의 이름들을 제2 세그먼트(112)에 대한 제2 후보 전사로 결정할 수 있다. 따라서, 음성 디코더(142)는 잘못된 인식 결과를 제공할 수 있다.
음성 디코더(142)가 음성 입력(110)의 전체 전사를 획득한 후, 음성 디코더(142)는 출력을 위해 음성 입력(110)의 전사를 제공할 수 있다. 출력은 사용자 디바이스에 직접 제공되거나 추가 처리에 사용될 수 있다. 예를 들어, 도 1에서, 출력 인식은 텍스트 검색 쿼리(150)로써 사용된다. 예를 들어, 음성 디코더(142)가 음성 입력(110)의 제2 세그먼트(112)에 대한 제2 후보 전사로써 "Roger Federer"를 결정하는 경우, 음성 디코더(142)는 검색 엔진(160)에 전체 전사 "how many wins does tennis player Roger Federer have?"를 검색 쿼리(150)로써 출력할 수 있다.
검색 엔진(160)은 검색 쿼리(150)를 사용하여 검색을 수행한다. 검색 엔진(160)은 음성 인식 시스템(100)에 결합된 웹 검색 엔진을 포함할 수 있다. 검색 엔진(160)은 검색 쿼리(150)에 응답하는 하나 이상의 검색 결과들(170)을 결정할 수 있다. 검색 엔진(160)은 검색 결과들(170)을 사용자 디바이스(120)에 제공한다. 사용자 디바이스(120)는 검색 결과들(170)를 사용자(10)에게 제시하기 위해 디스플레이 인터페이스를 포함할 수 있다. 일부 경우들에서, 사용자 디바이스(120)는 검색 결과들(170)을 사용자(10)에게 제시하기 위해 오디오 인터페이스를 포함할 수 있다.
도 3은 주어진 세그먼트에 대해 안정성 기준을 만족한다고 결정하기 위한 예시적 프로세스를 도시하는 다이어그램이다. 음성 디코더(142)는 음성 입력(110)의 일부가 안정성 기준을 만족한다고 결정하도록 구성된다.
음성 디코더(142)가 음성 입력(310)의 일부(311)를 수신하는 경우, 음성 디코더(142)는 음성 입력(310)의 일부(311)가 안정성 기준을 만족시키는지 여부를 결정하도록 구성될 수 있다. 안정성 기준은 추가 음성 인식에 의해 상기 일부가 변경될 개연성이 있는지 여부를 표시한다.
안정성 기준은 하나 이상의 의미론적 특징들을 포함할 수 있다. 음성 입력의 일부 다음에 단어 또는 단어들이 뒤따르는 것이 의미론적으로 예상되는 경우, 음성 디코더(142)는 상기 일부가 안정성 기준을 만족시키지 못한다고 결정할 수 있다. 예를 들어, 음성 디코더(142)가 음성 입력(310)의 일부(311)를 수신할 때, 음성 디코더(142)는 일부(311) 다음에 단어 또는 단어들이 뒤따르는 것이 의미론적으로 예상됨을 결정할 수 있다. 음성 디코더(142)는 그 후 일부(311)가 안정성 기준을 만족시키지 못한다고 결정한다. 일부 구현예들에서, 음성 디코더(142)가 음성 입력의 일부로써 "mine"을 수신하는 경우, 음성 디코더(142)는 일부인 "mine" 다음에 단어 또는 단어들이 뒤따르는 것이 의미론적으로 예상되지 않는다고 결정할 수 있다. 음성 디코더(142)는 그 후 상기 일부인 "mine"이 세그먼트에 대한 안정성 기준을 만족시킴을 결정할 수 있다. 음성 디코더(142)는 컨텍스트들에 대한 가중치들을 조정하기 위해 컨텍스트 조정 모듈(146)에 세그먼트를 제공할 수 있다.
일부 다음에 다른 서브-단어 또는 서브-단어들이 뒤따름이 의미론적으로 예상되는 경우 음성 디코더(142)는 상기 일부가 안정성 기준을 만족하지 않는다고 또한 결정할 수 있다. 예를 들어, 상기 일부(312) 다음에 "play-er", "play-ground" 및 "play-off"와 같은 서브-단어 또는 서브-단어들이 의미론적으로 뒤따를 수 있으므로, 음성 디코더(142)가 음성 입력(310)의 상기 일부(312)로써 "play"를 수신하면, 음성 디코더(142)는 상기 일부(312) 다음에 서브-단어 또는 서브-단어들이 뒤따름이 의미론적으로 예상된다고 결정할 수 있다. 음성 디코더(142)는 그 후 상기 일부(311)가 안정성 기준을 만족시키지 않는다고 결정한다. 일부 구현예들에서, 음성 디코더(142)가 음성 입력의 일부로써 "player"를 수신하는 경우, 음성 디코더(142)는 상기 일부 "player" 다음에 단어 또는 단어들이 뒤따름이 의미론적으로 예상되지 않는다고 결정할 수 있다. 음성 디코더(142)는 그 후 상기 일부 "player"가 세그먼트에 대한 안정성 기준을 만족시킨다고 결정할 수 있다. 음성 디코더(152)는 컨텍스트들에 대한 가중치들을 조정하기 위하여 컨텍스트 조정 모듈(146)에 세그먼트를 제공할 수 있다.
일부 구현예들에서, 안정성 기준은 음성 입력(310)의 일부 이후에 발생하는 시간 지연을 포함할 수 있다. 음성 입력(310)의 일부 이후에 시간 지연이 임계 지연 값을 만족하는 지속 기간을 갖는 경우, 음성 디코더(142)는 음성 입력(310)의 일부가 안정성 기준을 만족시킨다고 결정할 수 있다. 음성 디코더(142)가 음성 입력(310)의 일부를 수신하는 경우, 음성 디코더(142)는 일부가 수신되는 순간부터 음성 입력(310)의 다음 일부가 수신되는 순간까지의 시간 지연을 측정할 수 있다. 시간 지연이 임계 지연 값을 초과하면, 음성 디코더(142)는 상기 일부가 안정성 기준을 만족시킨다고 결정할 수 있다.
도 4는 수신된 음성 입력에 대한 전사를 결정하기 위한 예시적 방법(400)의 흐름도이다. 편의상, 방법(400)은 방법(400)을 수행하는 시스템과 관련하여 기술될 것이다.
시스템은 제1 세그먼트로써 음성 입력의 일부를 결정하기 위하여 수신된 음성 입력을 그것이 발화된 순서로 처리한다(410). 시스템은 음성 입력의 제1 세그먼트에 대한 제1 후보 전사를 획득한다(420). 제1 세그먼트에 대한 제1 후보 전사를 얻기 위해, 시스템은 음성 입력의 제1 세그먼트가 안정성 기준을 만족시키는지 여부를 결정할 수 있다. 음성 입력의 제1 세그먼트가 안정성 기준을 만족하면, 시스템은 제1 세그먼트에 대한 제1 후보 전사를 획득할 수 있다. 음성 입력의 제1 세그먼트가 안정성 기준을 만족하지 못하면, 시스템은 제1 후보 전사를 획득하지 못할 수 있다. 그 후, 시스템은 음성 입력의 하나 이상의 일부들을 수신하고 음성 입력의 새로운 제1 세그먼트를 인식하여 음성 입력의 새로운 제1 세그먼트가 안정성 기준을 만족시키는지 여부를 결정할 수 있다. 도 3에서 기술한 바와 같이, 시스템은 음성 입력의 제1 세그먼트가 안정성 기준을 만족시킨다고 결정하기 위해 프로세스(300)를 사용할 수 있다.
시스템은 컨텍스트들의 집합으로부터 제1 세그먼트와 관련된 하나 이상의 컨텍스트들을 결정한다(430). 제1 세그먼트와 관련된 특정한 컨텍스트들이 제1 세그먼트에 의해 제공된 컨텍스트에 기초하여 결정될 수 있다. 예를 들어, 제1 세그먼트의 특정한 키워드는 특정한 컨텍스트들과 관련 있는 것으로 식별될 수 있다. 도 2로 돌아가 참조하면, 시스템은 "Roger Federer", "Nadal", 및 "Djokovic"와 같은 "tennis player"와 연관된 컨텍스트 및 "basketball player"와 연관된 컨텍스트를 식별할 수 있다. 농구 선수 컨텍스트는 "Roger Bederer", "Rafael Madall", 및 "Novak Jocovich"와 같은 키워드들과 연관될 수 있다. 시스템은 컨텍스트들의 각각에 대한 가중치들을 저장하도록 구성될 수 있다. 시스템이 컨텍스트들을 식별하는 경우, 시스템은 컨텍스트들에 대한 각각의 가중치들을 또한 식별할 수 있다. 컨텍스트들에 대한 각각의 가중치들은 하나 이상의 음성 입력들의 전사들이 컨텍스트들과 연관되는 정도를 표시한다.
시스템은 하나 이상의 컨텍스트들 각각에 대한 각각의 가중치를 조정한다(440). 시스템은 음성 입력의 제1 후보 전사에 기초하여 컨텍스트들 각각에 대한 각각의 가중치를 조정할 수 있다. 예를 들어, 음성 입력의 제1 후보 전사 "how many wins does tennis player"는 용어 "tennis player"를 포함한다. 제1 후보 전사의 용어 "tennis player"에 기초하여 시스템은 컨텍스트들의 가중치들을 조정하도록 구성될 수 있다. 예를 들어, 시스템은 컨텍스트에 대한 가중치를, "10"에서 "90"으로, 증가시키거나, 컨텍스트에 대한 가중치를, 예를 들어 "90"에서 "10"으로, 감소 시키거나, 또는 가중치들의 증가와 감소의 조합을 수행할 수 있다.
일부 구현예들에서, 가장 관련된 컨텍스트의 가중치만 조정(예를 들어, 증가)되고, 다른 모든 컨텍스트들은 일정하게 유지된다. 일부 다른 구현예들에서, 가장 관련성 높은 컨텍스트가 일정하게 유지되는 동안 다른 모든 컨텍스트들이 감소한다. 또한, 이 둘의 임의의 적절한 조합이 발생할 수 있다. 예를 들어, 관련 있는 컨텍스트는 다른 컨텍스트가 감소되는 것과는 상이한 양만큼 프로모트될 수 있다.
시스템은 조정된 가중치들에 부분적으로 기초하여 음성 입력의 제2 세그먼트에 대한 제2 후보 전사를 결정한다(450). 컨텍스트들에 대한 각각의 가중치들을 조정함에 응답하여, 시스템은 컨텍스트들에 대한 조정된 가중치들을 업데이트할 수 있다. 예를 들어, 시스템은 조정된 가중치들에 기초하여 제2 컨텍스트 보다 제1 세그먼트와 더 관련 있다고 식별된 제1 컨텍스트에 더 많은 가중치를 부여할 수 있다. 조정된 가중된 컨텍스트에 기초하여, 음성 디코더는 음성 입력의 제2 세그먼트에 대한 제2 후보 전사를 결정할 수 있다. 이 프로세스는 음성 입력의 추가적 일부들이 인식되지 않을 때까지 계속된다.
도 5는 음성 검색을 제공하기 위한 예시적 방법(500)의 흐름도이다. 편의상, 방법(500)은 방법(500)을 수행하는 시스템과 관련하여 기술될 것이다.
시스템은 음성 입력을 수신한다(510). 시스템은 사용자로부터 음성 입력을 수신하도록 구성될 수 있다. 시스템은 사용자가 발화하는 동안 음성 입력의 각 세그먼트를 실시간으로 수신할 수 있다.
시스템이 음성 입력을 수신함에 따라, 시스템은 음성 입력에 대한 전사를 결정한다(520). 시스템은, 예를 들어 도 4와 관련하여 전술한 바와 같이, 전사를 결정한다. 시스템이 음성 입력의 전체 전사를 결정하면(520), 시스템은 출력을 위해 음성 입력의 전사를 제공한다(530). 시스템은 텍스트 검색 쿼리로써 출력을 제공할 수 있다. 시스템은 텍스트 검색 쿼리를 사용하여 검색을 수행하고 검색 결과들을 얻을 수 있다. 시스템은 검색 결과들을 사용자에게 제공할 수 있다. 일부 구현예들에서, 시스템은 검색 결과들을 사용자에게 제시하기 위해 디스플레이 인터페이스를 제공할 수 있다. 다른 구현 예들에서, 시스템은 검색 결과를 사용자에게 제시하기 위해 오디오 인터페이스를 제공할 수 있다.
본 명세서에 기술된 동작들 및 발명의 실시예들은 본 명세서 및 그 구조적 등가물에 게시된 구조들을 포함하는 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어, 또는 그들 중 하나 이상의 조합들로 구현될 수 있다. 본 명세서에 기술된 발명의 실시예들은 하나 이상의 컴퓨터 프로그램들, 즉 데이터 처리 장치에 의해 실행되거나 또는 데이터 처리 장치의 동작을 제어하기 위해 컴퓨터 저장 매체 상에 인코딩된 컴퓨터 프로그램 명령어들의 하나 이상의 모듈들, 로써 구현될 수 있다. 대안적으로 또는 추가로, 프로그램 명령어들은 인위적으로 생성된 전파된 신호, 예를 들어 기계에 의해 생성된 전기적, 광학적 또는 전자기 신호, 상에 인코딩될 수 있으며, 이는 데이터에 의한 실행을 위해 적절한 수신 장치로의 전송을 위한 정보를 인코딩 하도록 생성된다. 컴퓨터 저장 매체는 컴퓨터 판독가능 저장 디바이스, 컴퓨터 판독가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 어레이 또는 디바이스, 또는 이들 중 하나 이상의 조합일 수 있거나 이들에 포함될 수 있다. 또한, 컴퓨터 저장 매체는 전파 신호가 아닌 반면, 컴퓨터 저장 매체는 인위적으로 생성된 전파된 신호로 인코딩된 컴퓨터 프로그램 명령어들의 소스 또는 목적지일 수 있다. 컴퓨터 저장 매체는 하나 이상의 개별 물리 컴포넌트들 또는 매체, 예를 들어, 다수의 CD들, 디스크들 또는 다른 저장 디바이스들일 수 있거나 이들에 포함될 수 있다.
본 명세서에 기술된 동작들은 하나 이상의 컴퓨터 판독가능 저장 디바이스들에 저장된 데이터 또는 다른 소스들로부터 수신된 데이터에 대해 데이터 처리 장치에 의해 수행되는 동작들로 구현될 수 있다.
"데이터 처리 장치"라는 용어는, 예를 들어 프로그램 가능한 처리 유닛, 컴퓨터, SOC, 퍼스널 컴퓨터 시스템, 데스크톱 컴퓨터, 랩탑, 노트북, 노트북 컴퓨터, 메인프레임 컴퓨터 시스템, 핸드헬드 컴퓨터, 워크 스테이션, 네트워크 컴퓨터, 애플리케이션 서버, 저장 디바이스, 카메라, 캠코더, 셋톱 박스, 모바일 디바이스, 비디오 게임 콘솔, 핸드 헬드 비디오 게임 디바이스와 같은 소비자 전자 디바이스, 스위치, 모뎀, 라우터와 같은 주변 디바이스, 또는 일반적인 임의 유형의 컴퓨팅 또는 전자 디바이스, 또는 이들의 조합들을 포함하여, 데이터를 처리하기 위한 모든 종류의 기계들, 디바이스들, 및 장치를 포함한다. 장치는 특수 목적 논리 회로, 예를 들어 FPGA(field programmable gate array) 또는 ASIC(application-specific integrated circuit)을 포함할 수 있다. 장치는, 하드웨어 이외에, 문제의 컴퓨터 프로그램을 위한 실행 환경을 조성(create)하는 코드, 예를 들어 프로세서 펌웨어를 구성하는 코드, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 크로스-플랫폼 런타임 환경, 가상 기계, 또는 그들 중 하나 이상의 조합을 또한 포함할 수 있다. 장치 및 실행 환경은 웹 서비스들, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라들와 같은 다양하고 상이한 컴퓨팅 모델 인프라들을 실현할 수 있다.
컴퓨터 프로그램 (프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트, 또는 코드라고도 함)은 컴파일 된 또는 해석된 언어들, 선언적 또는 절차적 언어들을 비롯한 임의의 형태의 프로그래밍 언어로 작성될 수 있으며, 그리고 모든 형식, 독립형 프로그램 또는 모듈, 컴포넌트, 서브 루틴, 객체 또는 컴퓨팅 환경에서 사용하기에 적절한 다른 유닛을 포함하여, 임의 형태로 배치될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 대응할 수 있지만 반드시 그런 것은 아니다. 프로그램은 다른 프로그램들 또는 데이터(예를 들어, 마크업 언어 문서에 저장된 하나 이상의 스크립트들)를 보유하는 파일의 일부, 문제의 프로그램 전용 단일 파일, 또는 다수의 조정 파일들(예를 들어, 하나 이상의 모듈들, 서브-프로그램들, 또는 코드의 일부들을 저장하는 파일들)에 저장될 수 있다. 컴퓨터 프로그램은, 한 장소에 위치되거나 다수의 장소들에 분산되어 있으며 통신 네트워크로 상호 연결된, 다수의 컴퓨터들 또는 하나의 컴퓨터 상에서 실행되도록 배치될 수 있다.
본 명세서에 기술된 프로세스들 및 논리 흐름들은 입력 데이터를 조작하고 출력을 생성함으로써 액션들을 수행하기 위해 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그램 가능한 처리 유닛들에 의해 수행될 수 있다. 프로세스들 및 논리 흐름들은 FPGA (field programmable gate array) 또는 ASIC(application-specific integrated circuit)과 같은 특수 목적 논리 회로에 의해 또한 수행될 수 있고, 장치는 특수 목적 논리 회로로 또한 구현될 수 있다.
컴퓨터 프로그램의 실행에 적절한 처리 유닛들은, 예를 들어 범용 및 특수 목적 마이크로프로세서들 둘 모두, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 처리 유닛들을 포함한다. 일반적으로, 처리 유닛은 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은 명령어들 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들에 따른 액션들을 수행하기 위한 처리 유닛이다. 일반적으로, 컴퓨터는 데이터를 저장하기 위한 하나 이상의 대용량 저장 디바이스들(예를 들어, 자기, 광 자기 디스크들, 또는 광 디스크들)로부터 데이터를 수신하거나 전송하도록 동작 가능하게 결합되거나 대용량 저장 디바이스들을 포함할 것이다. 그러나 컴퓨터는 그러한 디바이스들을 가질 필요가 없다. 또한, 컴퓨터는 모바일 전화, PDA, 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, 위성 위치 확인 시스템(GPS) 수신기, 네트워크 라우팅 디바이스, 또는 휴대용 저장 디바이스 (예를 들어, USB (universal serial bus) 플래시 드라이브) 등과 같은 다른 디바이스에 내장될 수 있다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 디바이스들은 모든 형태의 비 휘발성 메모리, 매체 및 메모리 디바이스들, 예를 들어 EPROM, EEPROM 및 플래시 메모리 디바이스들 같은 반도체 메모리 디바이스들; 자기 디스크들, 예를 들어 내부 하드 디스크들 또는 제거가능 디스크들; 광 자기 디스크들; 및 CD ROM 및 DVD-ROM 디스크들, 을 포함한다. 처리 유닛 및 메모리는, 특수 목적 논리 회로에 의해 보충되거나, 또는 그것에 포함될 수 있다.
사용자와의 인터랙션을 제공하기 위해, 본 명세서에서 기술된 본 발명의 실시예들은 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스, 예를 들어 CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터, 및 사용자가 컴퓨터에 입력을 제공 할 수 있는 키보드 및 포인팅 디바이스, 예를 들어 마우스 또는 트랙볼, 을 갖는 컴퓨터 상에서 구현될 수 있다. 다른 종류의 디바이스들이 사용자와의 인터랙션을 제공하는데 사용될 수 있다; 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백, 예를 들어 시각 피드백, 청각 피드백, 또는 촉각 피드백, 일 수 있다; 그리고 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하여 임의의 형태로 수신될 수 있다. 추가로, 컴퓨터는 사용자가 사용하는 디바이스와 문서들을 주고 받음으로써; 예를 들어, 웹 브라우저로부터 수신된 요청들에 응답하여 사용자의 클라이언트 디바이스 상의 웹 브라우저에 웹 페이지들을 전송함으로써 사용자와 인터랙팅할 수 있다.
본 명세서에 기술된 발명의 실시예들은 예를 들어 데이터 서버로써, 백엔드 컴포넌트를 포함하는, 또는 미들웨어 컴포넌트, 예를 들어 애플리케이션 서버, 를 포함하는, 또는 프론트 엔드 컴포넌트, 예를 들어 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 클라이언트 컴퓨터, 를 포함하는 컴퓨팅 시스템에서 구현될 수 있으며, 그것을 통해 사용자는 본 명세서에 기술된 발명의 구현, 라우팅 디바이스, 예를 들어 네트워크 라우터, 또는 하나 이상의 그러한 백 엔드, 미들웨어, 또는 프론트 엔드 컴포넌트들의 임의의 조합과 인터랙팅할 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어 통신 네트워크, 에 의해 상호연결 될 수 있다. 통신 네트워크들의 예시들은 근거리 통신망("LAN") 및 광역 통신망("WAN"), 인터-네트워크(예를 들어, 인터넷), 및 피어-투-피어 네트워크들(예를 들어 애드혹 피어-투-피어 네트워크들)을 포함한다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 전형적으로 통신 네트워크를 통해 인터랙팅한다. 클라이언트와 서버의 관계는 각각의 컴퓨터상에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다. 일부 실시예들에서, 서버는 클라이언트 디바이스에 데이터(예를 들어, HTML 페이지)를 전송한다(예를 들어, 클라이언트 디바이스와 인터랙팅하는 사용자에게 데이터를 디스플레이하고 사용자로부터 사용자 입력을 수신하기 위한 목적으로). 클라이언트 디바이스에 생성된 데이터(예를 들어, 사용자 인터랙션의 결과)는 서버에서 클라이언트 디바이스로부터 수신될 수 있다.
하나 이상의 컴퓨터들의 시스템은 시스템으로 하여금 액션들을 수행하게 하는, 시스템 상에 설치된, 소프트웨어, 펌웨어, 하드웨어 또는 이들의 조합을 가짐에 의해 특정한 액션들을 수행하도록 구성될 수 있다. 하나 이상의 컴퓨터 프로그램들은, 데이터 처리 장치에 의해 실행될 때, 장치로 하여금 액션들을 수행하게 하는 명령어들을 포함함으로 인해 특정한 액션들을 수행하도록 구성될 수 있다.
본 명세서가 다수의 특정 구현 세부 사항들을 포함하지만, 이들은 임의의 발명들 또는 청구될 수 있는 범위에 대한 제한으로써 해석되어서는 안되며, 오히려 특정한 발명들의 특정 실시예들에 특정한 구성들의 기술들(description)로 해석되어야 한다. 개별 실시예들의 컨텍스트 속에서 본 명세서에 기술된 일정 구성들은 단일 실시예에서 조합하여 또한 구현될 수 있다. 반대로, 단일 실시예의 컨텍스트 속에서 기술된 다양한 구성들은 다수의 실시예들에서 개별적으로 또는 임의의 적합한 서브 조합으로 또한 구현될 수 있다. 더욱이, 구성들이 일정 조합들에서 작용하는 것으로 상술될 수 있고, 심지어 초기에는 그러한 것으로써 청구되었을 지라도, 청구된 조합으로부터의 하나 이상의 구성들은 일부 경우들에서는 그 조합으로부터 삭제될 수 있으며, 그리고 청구된 조합은 서브 조합 또는 서브 조합의 변형으로 유도될 수 있다.
유사하게, 동작들이 특정한 순서로 도면들에 도시되어 있지만, 바람직한 결과들을 달성하기 위해, 그러한 동작들이 도시된 특정한 순서 또는 순차적인 순서로 수행되거나, 도시된 모든 동작들이 수행될 것을 요청하는 것으로 이해되어서는 안 된다. 일정 상황들에서는, 멀티태스킹과 병렬 처리가 유리할 수 있다. 또한, 전술한 실시예들에서 다양한 시스템 컴포넌트들의 분리는 모든 실시예들에서 그러한 분리를 요청하는 것으로 이해되어서는 안되며, 기술된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어물 내에 함께 통합되거나 다수의 소프트웨어물들로 패키징될 수 있다는 것을 이해하여야 한다.
따라서, 발명의 특정한 실시예들이 기술되었다. 다른 실시예들은 다음 청구항들의 범위 내에 있다. 일부 경우들에서, 청구항들에 기재된 액션들은 상이한 순서로 수행될 수 있으며 여전히 바람직한 결과들을 달성할 수 있다. 추가로, 첨부된 도면에 도시된 프로세스들은 바람직한 결과들을 달성하기 위해, 도시된 특정한 순서 또는 순차적 순서를 반드시 요청하지 않는다. 일정 구현예들에서, 멀티태스킹 및 병렬 처리가 유리할 수 있다. 따라서, 다른 실시예들은 다음 청구항들의 범위 내에 있다.

Claims (40)

  1. 방법으로서,
    자동 음성 인식(ASR) 시스템에서, 액션을 수행하기 위해 소프트웨어 애플리케이션을 호출하도록 사용자로부터 음성 입력을 수신하는 단계;
    ASR 시스템에 의해, 음성 입력과 연관된 특정 컨텍스트를 결정하는 단계 -상기 특정 컨텍스트는 사용자에 대해 커스터마이징되고 그리고 특정 컨텍스트에 대응하는 명명된 엔티티들(named-entities)의 리스트를 포함함-; 그리고
    ASR 시스템에 의해, 음성 입력에 대한 전사(transcription)를 언어 모델을 사용하여 생성하는 단계를 포함하며, 상기 언어 모델은 상기 명명된 엔티티들 중 하나를 상기 특정 컨텍스트에 대응하는 명명된 엔티티들의 리스트에 포함하도록 음성 입력의 전사를 바이어스(bias)하며,
    음성 입력에 대한 전사를 언어 모델을 사용하여 생성하는 단계는,
    상기 특정 컨텍스트에 대응하는 가중치를 식별하는 단계;
    상기 음성 입력의 제1 세그먼트에 대한 제1 후보 전사에 기초하여 상기 가중치를 조정하는 단계;
    상기 조정된 가중치에 기초하여 상기 음성 입력의 제2 세그먼트에 대한 제2 후보 전사를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 언어 모델은 N-그램 모델을 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서, 사용자로부터의 음성 입력은 음성 입력에 대한 전사를 사용하여 액션을 수행하기 위해 소프트웨어 애플리케이션을 호출하도록 구성되는 것을 특징으로 하는 방법.
  4. 제1항에 있어서, 상기 음성 입력과 연관된 특정 컨텍스트는 음성 입력이 특정 컨텍스트와 연관될 가능성을 나타내는 각각의 가중치를 포함하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서, 상기 음성 입력과 연관된 특정 컨텍스트를 결정하는 단계는 상기 액션을 수행하기 위해 상기 음성 입력에 의해 호출된 소프트웨어 애플리케이션의 타입에 기초하여 특정 컨텍스트를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서, 상기 음성 입력과 연관된 특정 컨텍스트를 결정하는 단계는 ASR 시스템에서 수신된 음성 입력의 타입을 설명하는 데이터에 기초하여 특정 컨텍스트를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서, 상기 ASR 시스템은 상기 사용자와 연관된 사용자 장치에서 구현되는 것을 특징으로 하는 방법.
  8. 제7항에 있어서, 상기 사용자 장치는 상기 사용자에 의해 발화된 음성 입력을 캡처하고 그리고 상기 음성 입력을 상기 ASR 시스템에 제공하도록 구성된 마이크로폰을 포함하는 것을 특징으로 하는 방법.
  9. 제7항에 있어서, 명명된 엔티티들의 리스트를 포함하는 특정 컨텍스트는 사용자 장치에 저장되는 것을 특징으로 하는 방법.
  10. 제7항에 있어서, 상기 음성 입력과 연관된 특정 컨텍스트를 결정하는 단계는 상기 사용자 장치의 타입에 기초하여 특정 컨텍스트를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  11. 자동 음성 인식(ASR) 시스템으로서,
    데이터 처리 하드웨어; 그리고
    데이터 처리 하드웨어와 통신하고 그리고 데이터 처리 하드웨어에서 실행될 때 데이터 처리 하드웨어로 하여금 동작들을 수행하게 하는 명령어를 저장하는 메모리 하드웨어를 포함하며, 상기 동작들은,
    액션을 수행하기 위해 소프트웨어 애플리케이션을 호출하도록 사용자로부터 음성 입력을 수신하는 동작;
    음성 입력과 연관된 특정 컨텍스트를 결정하는 동작 -상기 특정 컨텍스트는 사용자에 대해 커스터마이징되고 그리고 특정 컨텍스트에 대응하는 명명된 엔티티들(named-entities)의 리스트를 포함함-; 그리고
    음성 입력에 대한 전사(transcription)를 언어 모델을 사용하여 생성하는 동작을 포함하며, 상기 언어 모델은 상기 명명된 엔티티들 중 하나를 상기 특정 컨텍스트에 대응하는 명명된 엔티티들의 리스트에 포함하도록 음성 입력의 전사를 바이어스(biasing)하며,
    음성 입력에 대한 전사를 언어 모델을 사용하여 생성하는 동작은,
    상기 특정 컨텍스트에 대응하는 가중치를 식별하는 동작;
    상기 음성 입력의 제1 세그먼트에 대한 제1 후보 전사에 기초하여 상기 가중치를 조정하는 동작;
    상기 조정된 가중치에 기초하여 상기 음성 입력의 제2 세그먼트에 대한 제2 후보 전사를 결정하는 동작을 포함하는 것을 특징으로 하는 자동 음성 인식(ASR) 시스템.
  12. 제11항에 있어서, 상기 언어 모델은 N-그램 모델을 포함하는 것을 특징으로 하는 자동 음성 인식(ASR) 시스템.
  13. 제12항에 있어서, 사용자로부터의 음성 입력은 음성 입력에 대한 전사를 사용하여 액션을 수행하기 위해 소프트웨어 애플리케이션을 호출하도록 구성되는 것을 특징으로 하는 자동 음성 인식(ASR) 시스템.
  14. 제11항에 있어서, 상기 음성 입력과 연관된 특정 컨텍스트는 음성 입력이 특정 컨텍스트와 연관될 가능성을 나타내는 각각의 가중치를 포함하는 것을 특징으로 하는 자동 음성 인식(ASR) 시스템.
  15. 제11항에 있어서, 상기 음성 입력과 연관된 특정 컨텍스트를 결정하는 동작은 상기 액션을 수행하기 위해 상기 음성 입력에 의해 호출된 소프트웨어 애플리케이션의 타입에 기초하여 특정 컨텍스트를 결정하는 동작을 포함하는 것을 특징으로 하는 자동 음성 인식(ASR) 시스템.
  16. 제11항에 있어서, 상기 음성 입력과 연관된 특정 컨텍스트를 결정하는 동작은 ASR 시스템에서 수신된 음성 입력의 타입을 설명하는 데이터에 기초하여 특정 컨텍스트를 결정하는 동작을 포함하는 것을 특징으로 하는 자동 음성 인식(ASR) 시스템.
  17. 제11항에 있어서, 상기 ASR 시스템은 상기 사용자와 연관된 사용자 장치에서 구현되는 것을 특징으로 하는 자동 음성 인식(ASR) 시스템.
  18. 제17항에 있어서, 상기 사용자 장치는 상기 사용자에 의해 발화된 음성 입력을 캡처하고 그리고 상기 음성 입력을 상기 ASR 시스템에 제공하도록 구성된 마이크로폰을 포함하는 것을 특징으로 하는 자동 음성 인식(ASR) 시스템.
  19. 제17항에 있어서, 명명된 엔티티들의 리스트를 포함하는 특정 컨텍스트는 사용자 장치에 저장되는 것을 특징으로 하는 자동 음성 인식(ASR) 시스템.
  20. 제17항에 있어서, 상기 음성 입력과 연관된 특정 컨텍스트를 결정하는 동작은 상기 사용자 장치의 타입에 기초하여 특정 컨텍스트를 결정하는 동작을 포함하는 것을 특징으로 하는 자동 음성 인식(ASR) 시스템.
  21. 방법으로서,
    자동 음성 인식(ASR) 시스템에서, 사용자로부터 현재 음성 입력을 수신하는 단계 -상기 현재 음성 입력은 적어도 2개의 컨텍스트와 연관되고, 상기 적어도 2개의 컨텍스트의 각각의 컨텍스트는 현재 음성 입력이 각각의 컨텍스트와 연관될 가능성을 나타내는 각각의 가중치를 가짐-;
    ASR 시스템에 의해, 사용자로부터 입력된 현재 음성 입력의 중간 인식 결과를 생성하는 단계 -상기 중간 인식 결과는 현재 음성 입력의 제1 세그먼트에 대응함-;
    ASR 시스템에 의해, 중간 인식 결과에 기초하여 적어도 2개의 컨텍스트의 각각의 가중치를 조정하는 단계 -가중치를 조정하는 단계는,
    상기 적어도 2개의 컨텍스트 중 제1 컨텍스트에 대응하는 가중치를 식별하는 단계;
    상기 현재 음성 입력의 제1 세그먼트에 대한 제1 후보 전사에 기초하여 상기 가중치를 조정하는 단계를 포함함-; 그리고
    ASR 시스템에 의해, 언어 모델을 사용하여 현재 음성 입력을 전사하는 단계 -현재 음성 입력을 전사하는 단계는 상기 조정된 가중치에 기초하여 상기 현재 음성 입력의 제2 세그먼트에 대한 제2 후보 전사를 결정하는 단계를 포함함-를 포함하며, 상기 언어 모델은 조정된 가중치에 기초하여 적어도 2개의 컨텍스트 중 하나쪽으로 현재 음성 입력의 전사를 바이어스(bias)하는 것을 특징으로 하는 방법.
  22. 제21항에 있어서, 상기 언어 모델은 N-그램 모델을 포함하는 것을 특징으로 하는 방법.
  23. 제21항에 있어서, 현재 음성 입력과 연관된 적어도 2개의 컨텍스트의 각의 가중치를 조정하는 단계는 적어도 2개의 컨텍스트 중 적어도 하나에 대해 각각의 기본 가중치를 증가(boosting)시키는 단계를 포함하는 것을 특징으로 하는 방법.
  24. 제21항에 있어서,
    중간 인식 결과에 기초하여 적어도 2개의 컨텍스트의 각각의 가중치를 조정하는 단계는,
    중간 인식 결과에서 특정 키워드를 식별함으로써 적어도 2개의 컨텍스트 중 가장 관련성이 높은 컨텍스트를 결정하는 단계; 그리고
    적어도 2개의 컨텍스트 중 가장 관련성이 높은 컨텍스트의 각각의 가중치를 증가시키는 단계를 포함하는 것을 특징으로 하는 방법.
  25. 제21항에 있어서, 사용자로부터의 현재 음성 입력은 현재 음성 입력의 전사를 사용하여 액션을 수행하기 위해 소프트웨어 애플리케이션을 호출하도록 구성되는 것을 특징으로 하는 방법.
  26. 제21항에 있어서, 상기 방법은,
    현재 음성 입력의 전사를 사용자와 상호 작용하는 대화 시스템에 제공하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  27. 제21항에 있어서, 상기 적어도 2개의 컨텍스트 중 적어도 하나는 상기 ASR 시스템에서 현재 음성 입력이 수신될 때 현재 시간을 나타내는 데이터를 포함하는 것을 특징으로 하는 방법.
  28. 제21항에 있어서, 현재 음성 입력과 연관된 적어도 2개의 컨텍스트 중 적어도 하나는 현재 음성 입력의 과거 기간 내에 사용자로부터의 하나 이상의 이전 음성 입력에 기초하는 것을 특징으로 하는 방법.
  29. 제21항에 있어서, 상기 적어도 2개의 컨텍스트 중 적어도 하나는 특정 카테고리와 연관된 명명된 엔티티들을 포함하는 것을 특징으로 하는 방법.
  30. 제21항에 있어서, ASR 시스템은 사용자와 연관된 컴퓨팅 장치와 통신하는 서버에 상주하고, 상기 컴퓨팅 장치는 사용자가 발화한 현재 음성 입력을 캡처하고 그리고 캡처된 음성 입력을 ASR 시스템으로 전송하도록 구성되는 것을 특징으로 하는 방법.
  31. 자동 음성 인식(ASR) 시스템으로서,
    데이터 처리 하드웨어; 그리고
    데이터 처리 하드웨어와 통신하고 그리고 데이터 처리 하드웨어에서 실행될 때 데이터 처리 하드웨어로 하여금 동작들을 수행하게 하는 명령어를 저장하는 메모리 하드웨어를 포함하며, 동작들은,
    사용자로부터 현재 음성 입력을 수신하는 동작 -상기 현재 음성 입력은 적어도 2개의 컨텍스트와 연관되고, 상기 적어도 2개의 컨텍스트의 각각의 컨텍스트는 음성 입력이 각각의 컨텍스트와 연관될 가능성을 나타내는 각각의 가중치를 가짐-;
    사용자로부터 입력된 현재 음성 입력의 중간 인식 결과를 생성하는 동작 -상기 중간 인식 결과는 현재 음성 입력의 제1 세그먼트에 대응함-;
    중간 인식 결과에 기초하여 적어도 2개의 컨텍스트의 각각의 가중치를 조정하는 동작 -가중치를 조정하는 동작은,
    상기 적어도 2개의 컨텍스트 중 제1 컨텍스트에 대응하는 가중치를 식별하는 동작;
    상기 현재 음성 입력의 제1 세그먼트에 대한 제1 후보 전사에 기초하여 상기 가중치를 조정하는 동작을 포함함-; 그리고
    언어 모델을 사용하여 현재 음성 입력을 전사하는 동작 -현재 음성 입력을 전사하는 동작은 상기 조정된 가중치에 기초하여 상기 현재 음성 입력의 제2 세그먼트에 대한 제2 후보 전사를 결정하는 동작을 포함함-을 포함하며, 상기 언어 모델은 조정된 가중치에 기초하여 적어도 2개의 컨텍스트 중 하나쪽으로 음성 입력의 전사를 바이어스(bias)하는 것을 특징으로 하는 자동 음성 인식(ASR) 시스템.
  32. 제31항에 있어서, 상기 언어 모델은 N-그램 모델을 포함하는 것을 특징으로 하는 자동 음성 인식(ASR) 시스템.
  33. 제32항에 있어서, 현재 음성 입력과 연관된 적어도 2개의 컨텍스트의 각의 가중치를 조정하는 동작은 적어도 2개의 컨텍스트 중 적어도 하나에 대해 각각의 기본 가중치를 증가(boosting)시키는 동작을 포함하는 것을 특징으로 하는 자동 음성 인식(ASR) 시스템.
  34. 제31항에 있어서,
    중간 인식 결과에 기초하여 적어도 2개의 컨텍스트의 각각의 가중치를 조정하는 동작은,
    중간 인식 결과에서 특정 키워드를 식별함으로써 적어도 2개의 컨텍스트 중 가장 관련성이 높은 컨텍스트를 결정하는 동작; 그리고
    적어도 2개의 컨텍스트 중 가장 관련성이 높은 컨텍스트의 각각의 가중치를 증가시키는 동작을 포함하는 것을 특징으로 하는 자동 음성 인식(ASR) 시스템.
  35. 제31항에 있어서, 사용자로부터의 현재 음성 입력은 현재 음성 입력의 전사를 사용하여 액션을 수행하기 위해 소프트웨어 애플리케이션을 호출하도록 구성되는 것을 특징으로 하는 자동 음성 인식(ASR) 시스템.
  36. 제31항에 있어서, 상기 동작들은,
    현재 음성 입력의 전사를 사용자와 상호 작용하는 대화 시스템에 제공하는 동작을 더 포함하는 것을 특징으로 하는 자동 음성 인식(ASR) 시스템.
  37. 제31항에 있어서, 상기 적어도 2개의 컨텍스트 중 적어도 하나는 상기 ASR 시스템에서 현재 음성 입력이 수신될 때 현재 시간을 나타내는 데이터를 포함하는 것을 특징으로 하는 자동 음성 인식(ASR) 시스템.
  38. 제31항에 있어서, 현재 음성 입력과 연관된 적어도 2개의 컨텍스트 중 적어도 하나는 현재 음성 입력의 과거 기간 내에 사용자로부터의 하나 이상의 이전 음성 입력에 기초하는 것을 특징으로 하는 자동 음성 인식(ASR) 시스템.
  39. 제31항에 있어서, 상기 적어도 2개의 컨텍스트 중 적어도 하나는 특정 카테고리와 연관된 명명된 엔티티들을 포함하는 것을 특징으로 하는 자동 음성 인식(ASR) 시스템.
  40. 제31항에 있어서, 데이터 처리 하드웨어 및 메모리 하드웨어는 사용자와 연관된 컴퓨팅 장치와 통신하는 서버에 상주하고, 상기 컴퓨팅 장치는 사용자가 발화한 현재 음성 입력을 캡처하고 그리고 캡처된 음성 입력을 ASR 시스템으로 전송하도록 구성되는 것을 특징으로 하는 자동 음성 인식(ASR) 시스템.
KR1020207024503A 2016-01-06 2016-11-30 음성 인식 시스템 KR102268087B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US14/989,642 US10049666B2 (en) 2016-01-06 2016-01-06 Voice recognition system
US14/989,642 2016-01-06
PCT/US2016/064092 WO2017119965A1 (en) 2016-01-06 2016-11-30 Voice recognition system
KR1020187019323A KR102150509B1 (ko) 2016-01-06 2016-11-30 음성 인식 시스템

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020187019323A Division KR102150509B1 (ko) 2016-01-06 2016-11-30 음성 인식 시스템

Publications (2)

Publication Number Publication Date
KR20200103876A KR20200103876A (ko) 2020-09-02
KR102268087B1 true KR102268087B1 (ko) 2021-06-22

Family

ID=57589199

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020207024503A KR102268087B1 (ko) 2016-01-06 2016-11-30 음성 인식 시스템
KR1020187019323A KR102150509B1 (ko) 2016-01-06 2016-11-30 음성 인식 시스템

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020187019323A KR102150509B1 (ko) 2016-01-06 2016-11-30 음성 인식 시스템

Country Status (7)

Country Link
US (5) US10049666B2 (ko)
EP (2) EP3822965A1 (ko)
JP (4) JP6637604B2 (ko)
KR (2) KR102268087B1 (ko)
CN (2) CN112992146A (ko)
DE (2) DE102016125831B4 (ko)
WO (1) WO2017119965A1 (ko)

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10049666B2 (en) * 2016-01-06 2018-08-14 Google Llc Voice recognition system
US10264030B2 (en) 2016-02-22 2019-04-16 Sonos, Inc. Networked microphone device control
US9820039B2 (en) 2016-02-22 2017-11-14 Sonos, Inc. Default playback devices
US10095470B2 (en) 2016-02-22 2018-10-09 Sonos, Inc. Audio response playback
US10142754B2 (en) 2016-02-22 2018-11-27 Sonos, Inc. Sensor on moving component of transducer
US9947316B2 (en) 2016-02-22 2018-04-17 Sonos, Inc. Voice control of a media playback system
US9965247B2 (en) 2016-02-22 2018-05-08 Sonos, Inc. Voice controlled media playback system based on user profile
US10509626B2 (en) 2016-02-22 2019-12-17 Sonos, Inc Handling of loss of pairing between networked devices
US9978390B2 (en) 2016-06-09 2018-05-22 Sonos, Inc. Dynamic player selection for audio signal processing
US10152969B2 (en) 2016-07-15 2018-12-11 Sonos, Inc. Voice detection by multiple devices
US10134399B2 (en) 2016-07-15 2018-11-20 Sonos, Inc. Contextualization of voice inputs
US10115400B2 (en) 2016-08-05 2018-10-30 Sonos, Inc. Multiple voice services
US9693164B1 (en) 2016-08-05 2017-06-27 Sonos, Inc. Determining direction of networked microphone device relative to audio playback device
US9794720B1 (en) 2016-09-22 2017-10-17 Sonos, Inc. Acoustic position measurement
US9942678B1 (en) 2016-09-27 2018-04-10 Sonos, Inc. Audio playback settings for voice interaction
US9743204B1 (en) 2016-09-30 2017-08-22 Sonos, Inc. Multi-orientation playback device microphones
US10181323B2 (en) 2016-10-19 2019-01-15 Sonos, Inc. Arbitration-based voice recognition
CN108447471B (zh) * 2017-02-15 2021-09-10 腾讯科技(深圳)有限公司 语音识别方法及语音识别装置
US11276395B1 (en) * 2017-03-10 2022-03-15 Amazon Technologies, Inc. Voice-based parameter assignment for voice-capturing devices
US11183181B2 (en) 2017-03-27 2021-11-23 Sonos, Inc. Systems and methods of multiple voice services
US10475449B2 (en) 2017-08-07 2019-11-12 Sonos, Inc. Wake-word detection suppression
US10048930B1 (en) 2017-09-08 2018-08-14 Sonos, Inc. Dynamic computation of system response volume
US10446165B2 (en) 2017-09-27 2019-10-15 Sonos, Inc. Robust short-time fourier transform acoustic echo cancellation during audio playback
US10051366B1 (en) 2017-09-28 2018-08-14 Sonos, Inc. Three-dimensional beam forming with a microphone array
CN107644095A (zh) * 2017-09-28 2018-01-30 百度在线网络技术(北京)有限公司 用于搜索信息的方法和装置
US10621981B2 (en) 2017-09-28 2020-04-14 Sonos, Inc. Tone interference cancellation
US10482868B2 (en) 2017-09-28 2019-11-19 Sonos, Inc. Multi-channel acoustic echo cancellation
US10466962B2 (en) 2017-09-29 2019-11-05 Sonos, Inc. Media playback system with voice assistance
US10880650B2 (en) 2017-12-10 2020-12-29 Sonos, Inc. Network microphone devices with automatic do not disturb actuation capabilities
US10818290B2 (en) 2017-12-11 2020-10-27 Sonos, Inc. Home graph
CN108182943B (zh) * 2017-12-29 2021-03-26 北京奇艺世纪科技有限公司 一种智能设备控制方法、装置及智能设备
WO2019152722A1 (en) 2018-01-31 2019-08-08 Sonos, Inc. Device designation of playback and network microphone device arrangements
US11175880B2 (en) 2018-05-10 2021-11-16 Sonos, Inc. Systems and methods for voice-assisted media content selection
US10847178B2 (en) 2018-05-18 2020-11-24 Sonos, Inc. Linear filtering for noise-suppressed speech detection
US10959029B2 (en) 2018-05-25 2021-03-23 Sonos, Inc. Determining and adapting to changes in microphone performance of playback devices
US10629205B2 (en) * 2018-06-12 2020-04-21 International Business Machines Corporation Identifying an accurate transcription from probabilistic inputs
US10681460B2 (en) 2018-06-28 2020-06-09 Sonos, Inc. Systems and methods for associating playback devices with voice assistant services
US10461710B1 (en) 2018-08-28 2019-10-29 Sonos, Inc. Media playback system with maximum volume setting
US11076035B2 (en) 2018-08-28 2021-07-27 Sonos, Inc. Do not disturb feature for audio notifications
US10587430B1 (en) 2018-09-14 2020-03-10 Sonos, Inc. Networked devices, systems, and methods for associating playback devices based on sound codes
US10878811B2 (en) 2018-09-14 2020-12-29 Sonos, Inc. Networked devices, systems, and methods for intelligently deactivating wake-word engines
US11024331B2 (en) 2018-09-21 2021-06-01 Sonos, Inc. Voice detection optimization using sound metadata
US10811015B2 (en) 2018-09-25 2020-10-20 Sonos, Inc. Voice detection optimization based on selected voice assistant service
US11100923B2 (en) 2018-09-28 2021-08-24 Sonos, Inc. Systems and methods for selective wake word detection using neural network models
US10692518B2 (en) 2018-09-29 2020-06-23 Sonos, Inc. Linear filtering for noise-suppressed speech detection via multiple network microphone devices
US11627012B2 (en) 2018-10-09 2023-04-11 NewTekSol, LLC Home automation management system
US11899519B2 (en) 2018-10-23 2024-02-13 Sonos, Inc. Multiple stage network microphone device with reduced power consumption and processing load
EP3654249A1 (en) 2018-11-15 2020-05-20 Snips Dilated convolutions and gating for efficient keyword spotting
EP4276816A3 (en) * 2018-11-30 2024-03-06 Google LLC Speech processing
US11183183B2 (en) 2018-12-07 2021-11-23 Sonos, Inc. Systems and methods of operating media playback systems having multiple voice assistant services
US11132989B2 (en) 2018-12-13 2021-09-28 Sonos, Inc. Networked microphone devices, systems, and methods of localized arbitration
US10602268B1 (en) 2018-12-20 2020-03-24 Sonos, Inc. Optimization of network microphone devices using noise classification
US11315556B2 (en) 2019-02-08 2022-04-26 Sonos, Inc. Devices, systems, and methods for distributed voice processing by transmitting sound data associated with a wake word to an appropriate device for identification
US10867604B2 (en) 2019-02-08 2020-12-15 Sonos, Inc. Devices, systems, and methods for distributed voice processing
US11120794B2 (en) 2019-05-03 2021-09-14 Sonos, Inc. Voice assistant persistence across multiple network microphone devices
US11361756B2 (en) 2019-06-12 2022-06-14 Sonos, Inc. Conditional wake word eventing based on environment
US11200894B2 (en) 2019-06-12 2021-12-14 Sonos, Inc. Network microphone device with command keyword eventing
US10586540B1 (en) 2019-06-12 2020-03-10 Sonos, Inc. Network microphone device with command keyword conditioning
US11138969B2 (en) 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
US10871943B1 (en) 2019-07-31 2020-12-22 Sonos, Inc. Noise classification for event detection
US11138975B2 (en) 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
WO2021040092A1 (ko) 2019-08-29 2021-03-04 엘지전자 주식회사 음성 인식 서비스 제공 방법 및 장치
US11189286B2 (en) 2019-10-22 2021-11-30 Sonos, Inc. VAS toggle based on device orientation
US11610588B1 (en) * 2019-10-28 2023-03-21 Meta Platforms, Inc. Generating contextually relevant text transcripts of voice recordings within a message thread
US11200900B2 (en) 2019-12-20 2021-12-14 Sonos, Inc. Offline voice control
US11562740B2 (en) 2020-01-07 2023-01-24 Sonos, Inc. Voice verification for media playback
US11556307B2 (en) 2020-01-31 2023-01-17 Sonos, Inc. Local voice data processing
US11308958B2 (en) 2020-02-07 2022-04-19 Sonos, Inc. Localized wakeword verification
US11727919B2 (en) 2020-05-20 2023-08-15 Sonos, Inc. Memory allocation for keyword spotting engines
US11308962B2 (en) 2020-05-20 2022-04-19 Sonos, Inc. Input detection windowing
US11482224B2 (en) 2020-05-20 2022-10-25 Sonos, Inc. Command keywords with input detection windowing
US11698771B2 (en) 2020-08-25 2023-07-11 Sonos, Inc. Vocal guidance engines for playback devices
US11984123B2 (en) 2020-11-12 2024-05-14 Sonos, Inc. Network device interaction by range
US11551700B2 (en) 2021-01-25 2023-01-10 Sonos, Inc. Systems and methods for power-efficient keyword detection

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3923513B2 (ja) 2004-06-08 2007-06-06 松下電器産業株式会社 音声認識装置および音声認識方法
US20130110492A1 (en) * 2011-11-01 2013-05-02 Google Inc. Enhanced stability prediction for incrementally generated speech recognition hypotheses

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6444211B2 (en) 1991-04-03 2002-09-03 Connaught Laboratories, Inc. Purification of a pertussis outer membrane protein
JP3254994B2 (ja) * 1995-03-01 2002-02-12 セイコーエプソン株式会社 音声認識対話装置および音声認識対話処理方法
US5986650A (en) 1996-07-03 1999-11-16 News America Publications, Inc. Electronic television program guide schedule system and method with scan feature
US6418431B1 (en) 1998-03-30 2002-07-09 Microsoft Corporation Information retrieval and speech recognition based on language models
US6360201B1 (en) * 1999-06-08 2002-03-19 International Business Machines Corp. Method and apparatus for activating and deactivating auxiliary topic libraries in a speech dictation system
US6513006B2 (en) * 1999-08-26 2003-01-28 Matsushita Electronic Industrial Co., Ltd. Automatic control of household activity using speech recognition and natural language
US20020157116A1 (en) * 2000-07-28 2002-10-24 Koninklijke Philips Electronics N.V. Context and content based information processing for multimedia segmentation and indexing
JP3581648B2 (ja) * 2000-11-27 2004-10-27 キヤノン株式会社 音声認識システム、情報処理装置及びそれらの制御方法、プログラム
AU2003278431A1 (en) * 2002-11-22 2004-06-18 Koninklijke Philips Electronics N.V. Speech recognition device and method
KR20040055417A (ko) * 2002-12-21 2004-06-26 한국전자통신연구원 대화체 연속음성인식 장치 및 방법
JP2006050568A (ja) 2004-07-06 2006-02-16 Ricoh Co Ltd 画像処理装置、プログラム及び画像処理方法
US7433819B2 (en) * 2004-09-10 2008-10-07 Scientific Learning Corporation Assessing fluency based on elapsed time
US7195999B2 (en) 2005-07-07 2007-03-27 Micron Technology, Inc. Metal-substituted transistor gates
US7590536B2 (en) * 2005-10-07 2009-09-15 Nuance Communications, Inc. Voice language model adjustment based on user affinity
KR100755677B1 (ko) * 2005-11-02 2007-09-05 삼성전자주식회사 주제 영역 검출을 이용한 대화체 음성 인식 장치 및 방법
EP2050456A4 (en) 2006-08-09 2013-01-23 Mitsubishi Tanabe Pharma Corp COMPRESSED
CN101266793B (zh) 2007-03-14 2011-02-02 财团法人工业技术研究院 通过对话回合间上下文关系来减少辨识错误的装置与方法
US8788267B2 (en) * 2009-09-10 2014-07-22 Mitsubishi Electric Research Laboratories, Inc. Multi-purpose contextual control
TWI403663B (zh) 2010-07-20 2013-08-01 Foxsemicon Integrated Tech Inc Led發光裝置
US8417530B1 (en) 2010-08-20 2013-04-09 Google Inc. Accent-influenced search results
IL209008A (en) * 2010-10-31 2015-09-24 Verint Systems Ltd A system and method for analyzing ip traffic of targets
US8352245B1 (en) 2010-12-30 2013-01-08 Google Inc. Adjusting language models
US8296142B2 (en) * 2011-01-21 2012-10-23 Google Inc. Speech recognition using dock context
US9159324B2 (en) 2011-07-01 2015-10-13 Qualcomm Incorporated Identifying people that are proximate to a mobile device user via social graphs, speech models, and user context
US8650031B1 (en) * 2011-07-31 2014-02-11 Nuance Communications, Inc. Accuracy improvement of spoken queries transcription using co-occurrence information
CA2791277C (en) * 2011-09-30 2019-01-15 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US9256396B2 (en) * 2011-10-10 2016-02-09 Microsoft Technology Licensing, Llc Speech recognition for context switching
US9152223B2 (en) 2011-11-04 2015-10-06 International Business Machines Corporation Mobile device with multiple security domains
US8805684B1 (en) 2012-05-31 2014-08-12 Google Inc. Distributed speaker adaptation
US8571859B1 (en) 2012-05-31 2013-10-29 Google Inc. Multi-stage speaker adaptation
US8515750B1 (en) 2012-06-05 2013-08-20 Google Inc. Realtime acoustic adaptation using stability measures
US9043205B2 (en) 2012-06-21 2015-05-26 Google Inc. Dynamic language model
US20140011465A1 (en) 2012-07-05 2014-01-09 Delphi Technologies, Inc. Molded conductive plastic antenna
US9380833B2 (en) 2012-07-12 2016-07-05 Diana Irving Shoe insert
US8880398B1 (en) 2012-07-13 2014-11-04 Google Inc. Localized speech recognition with offload
WO2014039106A1 (en) * 2012-09-10 2014-03-13 Google Inc. Answering questions using environmental context
US8484017B1 (en) * 2012-09-10 2013-07-09 Google Inc. Identifying media content
US20140122069A1 (en) * 2012-10-30 2014-05-01 International Business Machines Corporation Automatic Speech Recognition Accuracy Improvement Through Utilization of Context Analysis
EP2912567A4 (en) * 2012-12-11 2016-05-18 Nuance Communications Inc SYSTEM AND METHODS FOR VIRTUAL AGENT RECOMMENDATION FOR MULTIPLE PEOPLE
CN103871424A (zh) * 2012-12-13 2014-06-18 上海八方视界网络科技有限公司 一种基于贝叶斯信息准则的线上说话人聚类分析方法
CN103064936B (zh) * 2012-12-24 2018-03-30 北京百度网讯科技有限公司 一种基于语音输入的图像信息提取分析方法及装置
JP2014240940A (ja) * 2013-06-12 2014-12-25 株式会社東芝 書き起こし支援装置、方法、及びプログラム
US20150005801A1 (en) 2013-06-27 2015-01-01 Covidien Lp Microcatheter system
PL3033819T3 (pl) 2013-08-15 2019-07-31 Fontem Holdings 4 B.V. Sposób, system i urządzenie do bezprzełącznikowego wykrywania i ładowania
EP2862164B1 (en) * 2013-08-23 2017-05-31 Nuance Communications, Inc. Multiple pass automatic speech recognition
US10565984B2 (en) 2013-11-15 2020-02-18 Intel Corporation System and method for maintaining speech recognition dynamic dictionary
EP3107274B1 (en) * 2014-02-13 2020-12-16 Nec Corporation Communication device, communication system, and communication method
US9679558B2 (en) * 2014-05-15 2017-06-13 Microsoft Technology Licensing, Llc Language modeling for conversational understanding domains using semantic web resources
US20150340024A1 (en) * 2014-05-23 2015-11-26 Google Inc. Language Modeling Using Entities
US20160018085A1 (en) 2014-07-18 2016-01-21 Soraa, Inc. Compound light control lens field
US10628483B1 (en) * 2014-08-07 2020-04-21 Amazon Technologies, Inc. Entity resolution with ranking
US9552816B2 (en) * 2014-12-19 2017-01-24 Amazon Technologies, Inc. Application focus in speech-based systems
US9805713B2 (en) * 2015-03-13 2017-10-31 Google Inc. Addressing missing features in models
US9966073B2 (en) * 2015-05-27 2018-05-08 Google Llc Context-sensitive dynamic update of voice to text model in a voice-enabled electronic device
US10491967B1 (en) * 2015-12-21 2019-11-26 Amazon Technologies, Inc. Integrating a live streaming video service with external computing systems
US10049666B2 (en) * 2016-01-06 2018-08-14 Google Llc Voice recognition system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3923513B2 (ja) 2004-06-08 2007-06-06 松下電器産業株式会社 音声認識装置および音声認識方法
US20130110492A1 (en) * 2011-11-01 2013-05-02 Google Inc. Enhanced stability prediction for incrementally generated speech recognition hypotheses

Also Published As

Publication number Publication date
KR102150509B1 (ko) 2020-09-01
CN112992146A (zh) 2021-06-18
WO2017119965A1 (en) 2017-07-13
EP3378061B1 (en) 2021-01-06
DE102016125831A1 (de) 2017-07-06
DE102016125831B4 (de) 2022-02-03
JP6965331B2 (ja) 2021-11-10
EP3822965A1 (en) 2021-05-19
US11410660B2 (en) 2022-08-09
JP2023099706A (ja) 2023-07-13
US20190214012A1 (en) 2019-07-11
KR20200103876A (ko) 2020-09-02
JP2019504358A (ja) 2019-02-14
JP2020042313A (ja) 2020-03-19
US11996103B2 (en) 2024-05-28
US10643617B2 (en) 2020-05-05
US20200227046A1 (en) 2020-07-16
US20220343915A1 (en) 2022-10-27
US20170193999A1 (en) 2017-07-06
DE202016008203U1 (de) 2017-04-27
JP2021182168A (ja) 2021-11-25
EP3378061A1 (en) 2018-09-26
US10049666B2 (en) 2018-08-14
US10269354B2 (en) 2019-04-23
CN107039040A (zh) 2017-08-11
CN107039040B (zh) 2021-02-12
US20180190293A1 (en) 2018-07-05
JP6637604B2 (ja) 2020-01-29
KR20180091056A (ko) 2018-08-14

Similar Documents

Publication Publication Date Title
KR102268087B1 (ko) 음성 인식 시스템
US11398236B2 (en) Intent-specific automatic speech recognition result generation
US11341972B2 (en) Speech recognition using two language models
EP3469489B1 (en) Follow-up voice query prediction
US10964312B2 (en) Generation of predictive natural language processing models
US9922650B1 (en) Intent-specific automatic speech recognition result generation
US10152298B1 (en) Confidence estimation based on frequency
US10096317B2 (en) Hierarchical speech recognition decoder
US11626107B1 (en) Natural language processing
US20240185842A1 (en) Interactive decoding of words from phoneme score distributions
US20240013782A1 (en) History-Based ASR Mistake Corrections
US11893994B1 (en) Processing optimization using machine learning

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant