KR101932181B1 - 디바이스 도킹 컨텍스트를 이용한 음성인식 - Google Patents

디바이스 도킹 컨텍스트를 이용한 음성인식 Download PDF

Info

Publication number
KR101932181B1
KR101932181B1 KR1020137021258A KR20137021258A KR101932181B1 KR 101932181 B1 KR101932181 B1 KR 101932181B1 KR 1020137021258 A KR1020137021258 A KR 1020137021258A KR 20137021258 A KR20137021258 A KR 20137021258A KR 101932181 B1 KR101932181 B1 KR 101932181B1
Authority
KR
South Korea
Prior art keywords
client device
audio data
docking
docking context
context
Prior art date
Application number
KR1020137021258A
Other languages
English (en)
Other versions
KR20130133832A (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 KR20130133832A publication Critical patent/KR20130133832A/ko
Application granted granted Critical
Publication of KR101932181B1 publication Critical patent/KR101932181B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/02Constructional features of telephone sets
    • H04M1/04Supports for telephone transmitters or receivers
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/60Substation equipment, e.g. for use by subscribers including speech amplifiers
    • H04M1/6033Substation equipment, e.g. for use by subscribers including speech amplifiers for providing handsfree use or a loudspeaker mode in telephone sets
    • H04M1/6041Portable telephones adapted for handsfree use
    • H04M1/6075Portable telephones adapted for handsfree use adapted for handsfree use in a vehicle
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/74Details of telephonic subscriber devices with voice recognition means

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

컴퓨터 저장 매체 상에 인코딩된 컴퓨터 프로그램을 포함하여, 도킹 컨텍스트를 이용하여 음성인식을 수행하기 위한 방법, 시스템, 장치가 개시된다. 일 측면에서, 방법은 인코딩된 음성을 포함하는 오디오 데이터에 액세스하는 단계를 포함한다. 클라이언트 디바이스의 도킹 컨텍스트를 나타내는 정보가 액세스되고, 도킹 컨텍스트는 오디오 데이터와 연관되어 있다. 복수의 언어 모델이 식별된다. 복수개의 언어 모델들 중 적어도 하나가 도킹 컨텍스트에 의해 선택된다. 음성인식은 오디오 데이터의 일부에 대한 표기를 식별하기 위해 선택된 언어 모델을 이용하여 오디오 데이터에 대하여 수행된다.

Description

디바이스 도킹 컨텍스트를 이용한 음성인식 {SPEECH RECOGNITION USING DEVICE DOCKING CONTEXT}
본 출원은 2011년 1월 21일 출원된 미국 가출원 61/435,022와 2011년 3월 4일에 출원된 미국 출원 13/040,553에 대하여 우선권을 주장한다. 이들 출원의 모든 내용은 여기에 참조로서 통합된다.
음성인식의 사용은 점점 더 일반화되고 있다. 기술이 진보함에 따라, 컴퓨팅 디바이스의 사용자들은 음성인식 기능으로의 증가된 액세스를 얻어왔다. 많은 사용자들인 그들의 직업과 일상의 다른 측면들에서 음성인식에 의존한다.
다양한 실시예에서, 클라이언트 디바이스의 도킹 컨텍스트(docking context)는 음성인식(speech recognition)의 정확도를 향상시키기 위해 이용될 수 있다. 음성인식 시스템은, 각각이 다른 주제나 카테고리의 단어들에 대하여 훈련된(trained) 다수의 언어 모델들(language models)을 포함할 수 있다. 인코딩된 음성을 포함하는 오디오 데이터에 액세스할 때, 음성인식도 또한 그 음성과 연관된 도킹 컨텍스트를 나타내는 정보에 액세스할 수 있다. 도킹 컨텍스트는, 예를 들어, 그 음성이 탐지된 시점에, 그 음성을 탐지한 디바이스의 도킹 컨텍스트를 포함할 수 있다. 음성인식 시스템은 그 도킹 컨텍스트에 입력된 음성을 인식하기 위해 사용하는 특정 언어 모델을 선택하기 위해 도킹 컨텍스트를 사용할 수 있다.
많은 경우에, 디바이스의 도킹 컨텍스트는, 디바이스가 그 도킹 컨텍스트에 있는 동안 디바이스의 사용자가 이야기 할 것 같은 음성의 타입을 나타낼 수 있다. 예를 들어, 차량 도킹 스테이션(docking station)에 연결된 클라이언트 디바이스에 이야기하고 있는 사용자는 네비게이션이나 주소에 관한 단어들을 사용할 개연성이 있다. 차량 도킹 스테이션의 디바이스 상에 음성이 입력되면, 음성인식 시스템은 네비게이션-관련 단어들에 대하여 훈련된 언어 모델을 선택하고 그 음성을 인식하기 위해 사용할 수 있다. 도킹 컨텍스트에 기초하여 특정 언어 모델을 선택함으로써, 음성인식 시스템은 음성인식 프로세스에게 그 도킹 컨텍스트에서 가장 발화될 개연성이 높은 단어들에 대한 성향을 갖도록(bias) 할 수 있다. 결과적으로, 도킹 컨텍스트에 기초하여 선택된 언어 모델을 사용한 음성인식은 일반화된 언어 모델을 사용한 음성인식보다 더 정확한 표기(transcriptions)를 산출할 수 있다.
일반적인 측면에서, 컴퓨터로 구현되는 방법은 인코딩된 음성을 포함하는 오디오 데이터에 액세스하는 단계; 클라이언트 디바이스의 도킹 컨텍스트를 나타내는 정보에 액세스하는 단계 (상기 도킹 컨텍스트는 상기 오디오 데이터와 관련됨); 복수의 언어 모델들을 식별하는 단계; 상기 도킹 컨텍스트에 기초하여 상기 복수의 언어 모델들 중에서 적어도 하나를 선택하는 단계; 및 상기 오디오 데이터의 일부분에 대한 표기를 식별하기 위해 상기 선택된 언어 모델을 이용하여 상기 오디오 데이터에 대한 음성 인식을 수행하는 단계를 포함한다.
실시예들은 하나 이상의 다음 특징들을 포함할 수 있다. 예를 들어, 상기 클라이언트 디바이스의 도킹 컨텍스트를 나타내는 정보는 상기 클라이언트 디바이스와 상기 클라이언트 디바이스가 물리적으로 연결된 제2 디바이스 사이의 연결을 나타낸다. 상기 클라이언트 디바이스의 도킹 컨텍스트를 나타내는 정보는 상기 클라이언트 디바이스와 상기 클라이언트 디바이스가 무선으로 연결된 제2 디바이스 사이의 연결을 나타낸다. 상기 방법은, 상기 복수의 언어 모델들 각각에 대하여, 상기 도킹 컨텍스트에 기초하여 상기 언어 모델에 할당하기 위한 가중치를 결정하는 단계(상기 가중치는 상기 언어 모델이 상기 인코딩된 음성의 정확한 표기를 나타낼 확률을 나타냄)를 더 포함하고, 상기 도킹 컨텍스트에 기초하여 상기 복수의 언어 모델들 중에서 적어도 하나를 선택하는 단계는, 상기 할당된 가중치에 기초하여 상기 복수개의 언어 모델들 중 적어도 하나를 선택하는 단계를 포함한다. 상기 오디오 데이터로 인코딩된 음성은 상기 클라이언트 디바이스에 의해 탐지되고, 상기 도킹 컨텍스트를 나타내는 정보는 상기 클라이언트 디바이스에 의해 상기 오디오 데이터로 인코딩된 음성이 탐지되는 동안 상기 클라이언트 디바이스가 도킹 스테이션에 연결되었는지 여부를 나타낸다. 상기 오디오 데이터로 인코딩된 음성은 상기 클라이언트 디바이스에 의해 탐지되고, 상기 도킹 컨텍스트를 나타내는 정보는 상기 클라이언트 디바이스에 의해 상기 오디오 데이터로 인코딩된 음성이 탐지되는 동안 상기 클라이언트 디바이스가 연결된 도킹 스테이션의 타입을 나타낸다. 상기 인코딩된 음성은 하나 이상의 발화된(spoken) 쿼리 용어들을 포함하고, 상기 표기는 상기 발화된 쿼리 용어들의 표기를 포함하고, 상기 방법은, 검색 엔진이 상기 하나 이상의 발화된 쿼리 용어들의 상기 표기를 이용하여 검색을 수행하도록 하는 단계; 및 상기 검색의 결과들을 나타내는 정보를 상기 클라이언트 디바이스로 제공하는 단계를 더 포함한다. 상기 복수의 언어 모델들 각각에 대하여 가중치를 결정하는 단계는, 상기 도킹 컨텍스트와 관련된 저장된 가중치들에 액세스하는 단계를 포함한다. 상기 복수의 언어 모델들 각각에 대하여 가중치를 결정하는 단계는, 저장된 가중치들에 액세스하는 단계 및 상기 도킹 컨텍스트에 기초하여 상기 저장된 가중치를 변경하는 단계를 포함한다. 상기 복수의 언어 모델들 각각은 특정 주제 카테고리의 단어들에 대해 훈련된다. 상기 도킹 컨텍스트에 기초하여 가중치를 결정하는 단계는, 상기 클라이언트 디바이스가 차량 도킹 스테이션에 연결되어 있는지를 결정하는 단계; 및 주소를 출력하도록 훈련된 네비게이션 언어 모델에 대해서, 상기 네비게이션 언어 모델이 선택되는 확률을 상기 복수의 언어 모델들 내의 다른 언어 모델들에 대하여 증가시키는 가중치를 결정하는 단계를 포함한다.
또 다른 일반적인 측면에서, 컴퓨터로 구현되는 방법은 클라이언트 디바이스에서 음성을 포함하는 오디오를 탐지하는 단계; 상기 탐지된 오디오를 오디오 데이터로 인코딩하는 단계; 상기 오디오 데이터를 서버 시스템으로 전송하는 단계; 상기 클라이언트 디바이스의 도킹 컨텍스트를 식별하는 단계; 상기 도킹 컨텍스트를 나타내는 정보를 상기 서버 시스템으로 전송하는 단계; 및 상기 오디오 데이터의 적어도 일부의 표기를 상기 클라이언트 디바이스에서 수신하는 단계를 포함하고, 상기 서버 시스템은, 상기 도킹 컨텍스트를 나타내는 정보에 기초하여 복수의 언어 모델들로부터 언어 모델을 선택하고, 상기 선택된 언어 모델을 이용하여 상기 오디오 데이터에 대한 음성 인식을 수행하여 상기 표기를 생성하고, 상기 표기를 상기 클라이언트 디바이스로 전송하는 것을 포함한다.
실시예들은 하나 이상의 다음 특징들을 포함할 수 있다. 예를 들어, 상기 식별된 도킹 컨텍스트는 상기 오디오가 탐지된 시점의 상기 클라이언트 디바이스의 도킹 컨텍스트이다. 상기 클라이언트 디바이스의 도킹 컨텍스트를 나타내는 정보는 상기 클라이언트 디바이스와 상기 클라이언트 디바이스가 물리적으로 연결된 제2 디바이스 사이의 연결을 나타낸다. 상기 클라이언트 디바이스의 도킹 컨텍스트를 나타내는 정보는 상기 클라이언트 디바이스와 상기 클라이언트 디바이스가 무선으로 연결된 제2 디바이스 사이의 연결을 나타낸다.
이들 측면의 다른 실시예들은 대응하는 시스템, 장치, 및 상기 방법들의 액션을 수행하도록 구성되고 컴퓨터 저장 디바이스에 인코딩된 컴퓨터 프로그램을 포함한다.
하나 이상의 실시예들의 세부 내용은 첨부된 도면과 이하의 상세한 설명에서 개시된다. 다른 특징과 이점은 상세한 설명, 도면, 및 청구항으로부터 명백해질 것이다.
도 1은 클라이언트 디바이스의 도킹 컨텍스트를 이용하여 음성인식을 수행하기 위한 시스템의 예시를 나타내는 다이어그램이다.
도 2a는 언어 모델의 예시 표현을 나타내는 다이어그램이다.
도 2b는 도 2a에 도시된 언어 모델과 함께 어쿠스틱 모델의 사용 예시를 나타내는 다이어그램이다.
도 3은 클라이언트 디바이스의 도킹 컨텍스트를 이용하여 음성인식을 수행하기 위한 예시 프로세스을 나타내는 흐름도이다.
도 4는 컴퓨팅 디바이스들의 블록 다이어그램이다.
도 1은 클라이언트 디바이스(102)의 도킹 컨텍스트를 이용하여 음성인식을 수행하기 위한 시스템(100)의 예시를 나타내는 다이어그램이다. 시스템(100)은 클라이언트 통신 디바이스("클라이언트 디바이스")(102), 음성인식 시스템(104)(예를 들어, ASR 엔진(Automated Speech Recognition engine)), 및 검색 엔진 시스템(109)을 포함한다. 클라이언트 디바이스(102), 음성인식 시스템(104), 및 검색엔진 시스템(109)은 하나 이상의 네트워크(108)를 통해 서로 통신한다. 도 1은 또한 상태(A)부터 (G) 동안의 데이터 흐름을 나타낸다.
클라이언트 디바이스(102)는 셀룰러폰이나 스마트폰과 같은 모바일 디바이스일 수 있다. 클라이언트 디바이스(102)의 다른 예시들은, GPS 네비게이션 시스템, 태블릿 컴퓨터, 노트북 컴퓨터, 및 데스크톱 컴퓨터를 포함한다.
클라이언트 디바이스(102)는 도킹 스테이션(106)에 연결될 수 있다. 도킹 스테이션(106)은 클라이언트 디바이스(102)와 물리적으로 연계될 수 있고 클라이언트 디바이스(102)와 유선 또는 무선 링크를 통해, 예를 들어, 전력 및/또는 데이터를 전송하기 위해 통신할 수 있다. 도킹 스테이션(106)은 클라이언트 디바이스(102)가 도킹 스테이션(106)과 통신하는 동안 클라이언트 디바이스(102)를 (예를 들어 크래들(cradle) 또는 홀스터(holster)로) 물리적으로 잡고 있거나 안정되게 할 수 있다. 클라이언트 디바이스(102)는 도킹 스테이션(106)에 직접 연결되거나 케이블이나 다른 인터페이스를 통해 연결될 수 있다.
상태 (A)동안, 클라이언트 디바이스(102)의 사용자(101)는 하나 이상의 용어들(terms)을 클라이언트 디바이스(102)의 마이크로폰에 이야기한다. 도시된 예시에서, 사용자(101)는 용어(103) ("10 Main Street")을 검색 쿼리의 일부로서 이야기한다. 발화된 용어(spoken terms)(103)에 대응하는 발음(utterances)이 오디오 데이터(105)로 인코딩된다. 용어(103)는, 예를 들어 클라이언트 디바이스(102) 상에 디스플레이 된 검색 인터페이스나 클라이언트 디바이스(102)의 사용자 인터페이스 상에서 선택된 검색 제어에 기초하여 쿼리 용어로서 식별될 수 있다.
클라이언트 디바이스(102)는 또한 도킹 컨텍스트, 예를 들어 사용자(101)가 용어들(103)을 이야기 할 때 클라이언트 디바이스(102)의 도킹 컨텍스트를 식별할 수 있다. 도시된 예시에서, 클라이언트 디바이스(102)는 사용자(101)가 용어들(103)을 이야기 할 때 차량 도킹 스테이션(106)에 연결되어 있다. 클라이언트 디바이스(102)는, 예를 들어, 클라이언트 디바이스(102)가 도킹 스테이션(106)에 연결되어 있다(예를 들어, 클라이언트 디바이스(102)가 현재 "도킹되어(docked)" 있다)는 것, 도킹 스테이션(106)이 차량 도킹 스테이션이라는 것, 및 도킹 스테이션(106)이 켜져 있다(powered on)는 것을 결정한다.
도킹 컨텍스트는 용어들(103)이 발화되고 있는 컨텍스트일 수 있다. 예를 들어, 도킹 컨텍스트는 클라이언트 디바이스(102)에 의해 발화된 쿼리 용어들(103)에 대응하는 오디오가 탐지된 시점의 클라이언트 디바이스(102)의 상태를 포함할 수 있다. 음성을 탐지하는 것은, 음성을 센싱(sensing), 수신, 또는 녹음하는 것을 포함하지만 이에 제한되는 것은 아니다. 음성을 탐지하는 것은, 비록 일부 실시예에서 발생할 수 있다 하더라도, 수신된 오디오가 음성을 포함하는지를 판단하거나 인코딩된 음성을 포함하는 오디오의 일부분을 식별하는 것을 요구하지 않을 수 있다.
도킹 컨텍스트는 클라이언트 디바이스(102)가 연결된 도킹 스테이션의 아이덴티티(identity)와 특성(characteristics)을 포함할 수 있다. 예를 들어, 도킹 컨텍스트는 (i) 클라이언트 디바이스(102)가 어떤 도킹 스테이션(106)에 연결되었는지 여부, (ii)클라이언트 디바이스(102)가 연결된 도킹 스테이션(106)의 타입(예를 들어, 차량 도킹 스테이션, 컴퓨터, 또는 음악 플레이어), (iii) 도킹 스테이션(106)의 작동 상태(예를 들어, 도킹 스테이션(106)이 온(on), 오프(off), 유휴(idle), 또는 절전모드(power saving mode)인지 여부), (iv) 클라이언트 디바이스(102)와 도킹 스테이션(106) 사이의 관계(예를 들어, 클라이언트 디바이스(102)가 충전 중, 정보를 다운로드 중, 정보를 업로드 중, 또는 미디어를 재생 중, 또는 연결이 유휴 상태) 중 하나 이상을 포함할 수 있다.
도킹 컨텍스트는 또한, 클라이언트 디바이스(102)와 도킹 스테이션(106)이 연결된 시간의 길이와 같은, 클라이언트 디바이스(102)와 도킹 스테이션(106) 사이의 연결과 관련된 다른 요소들을 포함할 수도 있다. 도킹 컨텍스트는 도킹 스테이션(106)의 하나 이상의 능력(예를 들어, GPS 수신기, 시각적 디스플레이, 오디오 출력, 및 네트워크 액세스)을 포함할 수 있다. 도킹 컨텍스트는 도킹 스테이션(106)의 모델, 제조사, 소프트웨어 버전을 나타내는 하나 이상의 식별자 또한 포함할 수 있다. 도킹 컨텍스트는 클라이언트 디바이스(102)에 연결된 주변 디바이스들(예를 들어, 프린터, 외부 저장 디바이스, 이미징 디바이스)을 포함하는 다수의 디바이스들에 대하여 상술한 요소들을 포함할 수 있다.
일부 실시예에서, 도킹 컨텍스트는 클라이언트 디바이스와, 예를 들어 케이블이나 물리적인 직접 연결을 통해 물리적으로 연결된 도킹 스테이션에 대한 정보를 나타낸다. 일부 실시예에서, 도킹 컨텍스트는 클라이언트 디바이스(102)에 지리적으로 근접해 있는 것으로 판단되고 블루투스와 같은 무선 프로토콜을 통해 연결된 도킹 스테이션(106)을 나타낼 수 있다. 예를 들어, 클라이언트 디바이스(102)가 차량일 때, 클라이언트 디바이스(102)는 차량에 물리적으로 연결된 도킹 스테이션(106)으로 무선으로 연결할 수 있다. 만약 클라이언트 디바이스(102)가 차량 도킹 스테이션(106)에 물리적으로 연결되지 않았다 하더라도, 무선 연결은 도킹 컨텍스트에 포함될 수 있다. 또 다른 예시로서, 도킹 컨텍스트는, 무선으로 연결된 수화기(earpiece)와 같이, 클라이언트 디바이스(102)와 통신하는 하나 이상의 다른 디바이스들을 포함할 수 있다. 도킹 컨텍스트는 클라이언트 디바이스(102)와 통신하는 어떤 디바이스라도 포함할 수 있다.
클라이언트 디바이스(102)는 도킹 컨텍스트의 하나 이상의 특징(aspect)을 나타내는 도킹 컨텍스트 정보(107)를 생성한다. 도킹 컨텍스트 정보(107)는 오디오 데이터(105)와 연관된다. 예를 들어, 도킹 컨텍스트 정보(107)는 클라이언트 디바이스(102)에 의해 오디오 데이터(105)에 인코딩된 음성이 탐지되는 클라이언트 디바이스(102)의 도킹 컨텍스트를 나타낼 수 있다. 클라이언트 디바이스(102) 또는 또 다른 시스템은 오디오 데이터(105)와 연계하여 도킹 컨텍스트 정보(107)를 저장할 수 있다.
상태 (B) 동안, 음성인식 시스템(104)는 도킹 컨텍스트 정보(107)에 액세스한다. 음성인식 시스템(104)은 또한 오디오 데이터(105)에도 액세스한다. 예를 들어, 클라이언트 디바이스(102)는 도킹 컨텍스트 정보(107)와 오디오 데이터(105)를 음성인식 시스템(104)으로 전송할 수 있다. 부가적으로, 또는 대안적으로, 도킹 컨텍스트 정보(107), 오디오 데이터(102), 또는 두 가지 모두 음성인식 시스템(104)에 연결된 저장 디바이스나 또 다른 시스템으로부터 액세스될 수 있다.
일부 실시예에서, 도킹 컨텍스트 정보(107)는 오디오 데이터(105), 또는 심지어 오디오 데이터(105)에 인코딩된 용어들(103)이 발화되기 전에 액세스될 수 있다. 예를 들어, 클라이언트 디바이스(102)는 클라이언트 디바이스(102)의 도킹 컨텍스트가 변경될 때 업데이트된 도킹 컨텍스트 정보(107)를 음성인식 시스템(104)로 제공하도록 구성될 수 있다. 결과적으로, 가장 최근에 수신된 도킹 컨텍스트 정보(107)가 현재의 도킹 컨텍스트를 나타내는 것으로 추정된다. 음성인식 시스템(104)은 음성 시퀀스에서 첫 번째 단어를 인식하기 위해 사용하는 언어 모델을 선택하기 위해 도킹 컨텍스트 정보(107)를 사용할 수 있다. 일부 실시예에서, 음성인식 시스템(104)은 심지어 사용자(101)가 말하기 전에도 도킹 컨텍스트 정보(107)에 기초하여 언어 모델을 선택할 수 있다.
상태 (C) 동안, 음성인식 시스템(104)은 다수의 언어 모델들(111a-111d)을 식별한다. 언어 모델들(111a-111d)은, 예를 들어, 시퀀스 내의 다른 용어들에 기초하여 용어들의 시퀀스 내의 한 용어의 발생 확률을 나타낼 수 있다. 언어 모델들과 그것들이 어떻게 사용될 수 있는지는 도 2a와 2b를 참조하여 자세하게 설명된다.
언어 모델들(111a-111d)은 각기 별도로 특정 주제(예를 들어, 네비게이션 또는 쇼핑)나 용어들의 타입(예를 들어, 이름 또는 주소들)에 대해 집중될 수 있다. 일부 예시에서, 언어 모델들(111a-111d)은 특정 액션(예를 들어, 음성 다이얼 또는 미디어 재생) 또는 특정 도킹 컨텍스트(예를 들어, 도킹되지 않음(undocked), 차량 도킹 스테이션에 연결됨, 또는 미디어 도킹 스테이션에 연결됨)에 특화될 수 있다. 결과적으로, 언어 모델들(111a-111d)은 일반-목적의 언어 모델(general-purpose language model)에 포함된 단어의 서브세트(subset)를 포함할 수 있다. 예를 들어, 네비게이션 용 언어 모델(111a)은 네비게이션에 사용되는, 숫자와 주소들과 같은 용어들을 포함할 수 있다.
음성인식 시스템은 도시된 것보다 더욱 세세한(fine-grained) 언어 모델들을 식별할 수 있다. 예를 들어, 미디어용 단일 언어 모델(111d) 대신에, 음성인식 시스템(104)은 비디오, 오디오, 또는 이미지와 관련된 별개의 언어 모델들(또는 언어 모델(111d)의 부분들)을 식별할 수 있다.
일부 실시예에서, 식별된 언어 모델들(111a-111d)은 더 크고 일반적인 언어 모델에 포함된 하위모델(submodels)일 수 있다. 일반적인 언어 모델은 특정 타입 단어들의 정확한 예측을 위해 특별하게 훈련된 몇 개의 언어 모델들을 포함할 수 있다. 예를 들어, 하나의 언어 모델은 이름을 예측하기 위해, 다른 것은 숫자를 예측하기 위해, 또 다른 것은 주소를 예측하는 등을 위해 훈련될 수 있다.
음성인식 시스템(104)은 도킹 컨텍스트 정보(107)에 나타난 도킹 컨텍스트와 연관된 언어 모델들(111a-111d)을 식별할 수 있다. 예를 들어, 음성인식 시스템(104)은 사용자(101)에 의해 발화된 용어들(103)을 매칭하는 적어도 임계 확률을 갖는 언어 모델들(111a-111d)을 식별할 수 있다. 또 다른 예시로서, 언어 모델들(111a-111d)의 특정 세트는 특정 도킹 컨텍스트에 대응하도록 미리 결정될 수 있다.
부가적으로, 또는 대안적으로, 음성인식 시스템(104)은 이전에 인식된 음성에 기초하여 언어 모델들(111a-111d)을 식별할 수 있다. 예를 들어, 음성 인식 시스템(104)은, 이전에 인식된 단어 "play"에 기초하여 게임용 언어 모델 및 미디어 용 언어 모델이 시퀀스에서 다음에 오는 용어들을 매칭시킬 개연성이 가장 높다고 판단할 수 있다. 결과적으로, 음성인식 시스템(104)은 게임용 언어 모델과 미디어용 언어 모델을 오디오 데이터(105)에 인코딩된 음성을 인식하기 위해 사용될 수 있는 언어 모델들로 식별할 수 있다.
상태 (D) 동안, 음성인식 시스템(104)은 도킹 컨텍스트 정보(107)에 나타난 도킹 컨텍스트에 기초하여 각각의 식별된 언어 모델들(111a-111d)에 대한 가중치(weighting values)를 결정할 수 있다. 일부 실시예에서, 각각의 식별된 언어 모델들(111a-111d)에 대한 가중치는 또한 음성 시퀀스에서 이미 인식된 용어들에 기초한 언어 모델로부터의 출력과 같은, 다른 정보에 기초할 수 있다. 결정되는 가중치들은 각각의 언어 모델들(111a-111d)로 할당된다.
가중치들은 사용자(101)에 의해 발화된 용어들(103)이 각각의 언어 모델들(111a-111d)에 포함된 용어들의 타입들과 매칭되고, 그에 따라 언어 모델들(111a-111d)이 용어들(103)의 정확한 표기를 나타낼 확률을 나타낸다. 예를 들어, 네비게이션 언어 모델(111a)에 할당된 가중치는 오디오 데이터(105)에 인코딩된 음성이 네비게이션 용어들을 포함하는 확률을 나타낼 수 있다. 웹 검색 언어 모델(111b)에 할당된 가중치는 오디오 데이터에 인코딩 된 음성이 웹 검색에서 일반적으로 사용되는 흔한 용어들을 포함하는 확률을 나타낼 수 있다.
일부 예시들에서, 음성인식 시스템(104)은 다수의 저장된 가중치 세트들(112, 113, 114, 115)에서 선택할 수 있다. 각각의 가중치 세트(112, 113, 114, 115)는 특정 도킹 컨텍스트에 대응할 수 있다. 도시된 예시에서, 가중치 세트(113)는 차량 도킹 스테이션(106)에 대응한다. 도킹 컨텍스트 정보(107)가 클라이언트 디바이스(102)가 차량 도킹 스테이션(106)에 연결되어 있다는 것을 나타내기 때문에, 음성인식 시스템은 차량 도킹 스테이션(106)에 대응하는 가중치 세트(113)를 선택한다. 세트(113) 내의 가중치들은 각 언어 모델들(111a-111d)에 할당된다.
다양한 세트(112, 113, 114, 155)에서 가중치들은, 예를 들어, 다양한 도킹 컨텍스트에서 다양한 사용자들에 의해 발화되는 많은 수의 용어들에 대한 통계적 분석을 수행함으로써 결정될 수 있다. 특정 도킹 컨텍스트가 주어진 특정 언어 모델에 대한 가중치는 그 언어 모델이 그 도킹 컨텍스트에서 산출하는 정확한 결과들의 관측된 빈도에 기초할 수 있다. 예를 들어, 만약 네비게이션 언어 모델(111a)이 클라이언트 디바이스(102)가 차량 도킹 스테이션에 있을 때 발생하는 음성의 50%에 대해 정확하게 발음을 예측하면, 세트(113)에서 네비게이션 언어 모델(111a)에 대한 가중치는 0.5가 될 수 있다. 어떻게 언어 모델이 음성을 예측하는지에 대한 예시가 도 2a와 도 2b를 참조하여 이하에서 설명된다.
일부 실시예에서, 음성인식 시스템(104)은 가중치의 초기 세트(initial set)를 조절하여 언어 모델들(111a-111d)에 대한 가중치를 결정할 수 있다. 예를 들어, 가중치 세트(112)는 도킹 컨텍스트 정보(107)가 클라이언트 디바이스(102)가 도킹되지 않았다는 것을 나타낼 때, 또는 클라이언트 디바이스(102)의 도킹 컨텍스트가 알려지지 않았을 때 사용될 수 있다. 도킹 컨텍스트 정보(107)가 클라이언트 디바이스(102)가 도킹되었다는 것을 나타낼 때, 세트(1120)의 개별 가중치들은 도킹 컨텍스트의 다양한 특성에 기초하여 변경될 수 있다. 가중치들은 공식, 룩업 테이블(look-up tables), 및 다른 방법들을 이용하여 결정될 수 있다. 일부 실시예에서, 음성인식 시스템(104)은 저장된 가중치 세트들 사이에서 각 핵심 구문(key phrase)에 대응하는 것을 선택하기 위해 도킹 컨텍스트를 사용할 수 있다. 가중치 세트들(112, 113, 114, 115)은 단일 도킹 컨텍스트와 직접적으로 연관될 것이 요구되지 않는다. 예를 들어, 세트(112)는 핵심 구문 "navigate to"와 연관될 수 있다. 사용자(101)가 용어 "navigate to"를 이야기할 때, 세트(112)가 도킹 컨텍스트가 알려져 있거나 그렇지 않은 경우에도 선택된다. 또한, 클라이언트 디바이스(102)가 차량 도킹 스테이션(106)에 있는 것으로 알려져 있을 때, 세트(112)는, 사용자가 핵심 구문 "navigate to"를 이야기 했던 것처럼, 심지어 사용자(101)가 그 핵심 구문을 이야기하지 않았더라도, 선택될 수 있다.
도킹 컨텍스트는, 시작 상태부터 하나 이상의 핵심 구문들과 연관된 상태까지, 또는 핵심 구문과 연관된 가중치로부터 특정 언어 모델의 선택까지와 같이, 다양한 결정 및 언어 모델을 선택하기 위해 궁극적으로 사용되는 가중치의 타입에 영향을 미칠 수 있다. 도킹 컨텍스트는 핵심 구문에 대응하는 하나 이상의 상태들을 선택하기 위해 사용되는 가중치들을 결정하기 위해 사용될 수 있고, 상기 핵심 구문들에 대응하는 상태들은 언어 모델들(111a-111d)에 대한 가중치와 적절히 연관될 수 있다. 예를 들어, 차량 도킹 컨텍스트는 구문 "navigate to"에 대응하는 상태에 대해서는 "0.6"의 가중치를, 구문 "call"에 대응하는 상태에 대해서는 "0.4"의 가중치를 결정하기 위해 사용될 수 있다. 각 핵심 구문 상태(key phrase state)는 그 상태에서 다양한 언어 모델들의 가능성을 나타내는 가중치 세트와 연관될 수 있다.
핵심 구문에 대응하는 상태가 선택된 이후에도, 다양한 언어 모델들(111a-111d)의 확률을 나타내는 가중치 세트가 선택되고, 도킹 컨텍스트는 가중치를 수정하기 위해 사용될 수 있다. 예를 들어, 구문 "navigate to"와 연관된 상태는 네비게이션 언어 모델이 비즈니스 언어 모델보다 2배의 개연성을 나타내는 가중치를 포함할 수 있다. 도킹 컨텍스트는 현재 구술(dictation)의 인식을 위해, 네비게이션 언어 모델이 비즈니스 언어 모델보다 3배의 개연성이 있도록 가중치를 수정하기 위해 사용될 수 있다.
상태 (E) 동안, 음성인식 시스템(104)은 할당된 가중치에 기초하여 언어 모델을 선택한다. 표(116)에 도시된 바와 같이, 세트(113)에서 가중치(113a-113d)가 언어 모델들(111a-111d)로 할당된다. 이 가중치들(113a-113d)은, 도킹 컨텍스트 정보(107)에 의해 나타나는 도킹 컨텍스트에 기초하여, 대응하는 언어 모델들(111a-111d)이 사용자(101)에 의해 발화된 용어들(103)과 매칭되는 확률을 나타낸다. 네비게이션 용 언어 모델(111a)은 가장 높은 가중치(113a)를 포함하고, 이는 도킹 컨텍스트에 기초하여, 언어 모델(111a)가 오디오 데이터(105)에 인코딩된 용어들(103)의 내용을 가장 정확하게 예측할 것을 나타낸다. 가중치에 기초하여, 음성인식 시스템(104)은 오디오 데이터(105)의 음성 인식에 사용하기 위해 언어 모델(111a)를 선택한다.
일부 실시예에서, 단일 언어 모델(111a)가 가중치(113a-113d)에 기초하여 선택된다. 일부 실시예에서, 다수의 언어 모델들(111a-111d)이 가중치(113a-113d)에 기초하여 선택될 수 있다. 예를 들어, 상위 N개의 언어 모델들(111a-111d)를 포함하는 서브세트가 선택될 수 있고 오디오 데이터(105)에 대한 표기 후보(candidate transcriptions)를 식별하기 위해 나중에 사용될 수 있다.
음성인식 시스템(104)은 또한 가중치를 다른 요소들과 결합하여 이용하여 언어 모델을 선택할 수도 있다. 예를 들어, 음성인식 시스템(104)은 가중치(113a-113d)와, 음성 시퀀스에서 인식된 이전 단어들에 기초하거나 이전 표기들에 기초한 가중치와 같은 다른 가중치들의 가중치 결합(weighted combination)을 결정할 수 있다.
일 예시로서, 음성인식 시스템(104)은 시퀀스에서 첫 번째 용어를 "play"로 표기할 수 있다. 도킹 컨텍스트에만 기초한 가중치는, 후속 음성을 인식하기 위해서는 네비게이션 언어 모델 또는 미디어 언어 모델이 사용되어야 한다고 나타낼 수 있다. (첫 번째 용어 "play"를 인식하기 위해 이전에 사용되었던 언어 모델의 출력과 같은) 다른 정보에 기초한 제2 가중치 세트는 게임 언어 모델이나 미디어 언어 모델이 사용되어야 한다고 나타낼 수 있다. 양쪽 가중치 세트를 고려하면, 음성인식 시스템(104)은 시퀀스에서 다음 용어의 정확한 표기를 산출할 개연성이 가장 높은 것으로 미디어 언어 모델을 선택할 수 있다. 이 예시에서 설명한 바와 같이, 일부 경우에, 도킹 컨텍스트가 각 용어에 대해 동일할 수 있다 하더라도, 시퀀스 내의 다른 용어들을 인식하기 위해 다른 언어 모델들이 사용될 수 있다.
상태 (F) 동안, 음성인식 시스템(104)은 선택된 언어 모델(111a)을 이용하여 오디오 데이터(105)에 대한 음성인식을 수행한다. 음성인식 시스템(104)은 오디오 데이터(105)의 적어도 일부분에 대한 표기를 식별한다. 음성인식 시스템(104)은 일반적인 언어 모델보다 선택된 언어 모델(111a)를 이용하여 용어들(103)을 더 정확하게 인식할 수 있다. 이는 도킹 컨텍스트가 오디오 데이터(105)에 인코딩 될 가장 높은 개연성의 용어들의 타입을 나타내고, 선택된 언어 모델(111a)은 이러한 용어들을 가장 잘 예측하도록 선택되었기 때문이다.
선택된 언어 모델(111a)을 이용함으로써, 음성인식 시스템(104)은 용어(103)에 대해 가능한 표기의 범위를 선택된 언어 모델(111a)에 의해 지시되는 것으로 좁힐 수 있다. 이는, 특히 구문에서 첫 번째 단어에 대하여, 음성인식을 실질적으로 향상시킬 수 있다. 일반적으로, 음성 시퀀스의 시작 시점에 발행할 수 있는 매우 큰 용어들의 세트가 있다. 시퀀스의 첫 번째 용어에 대해서, 음성인식 시스템은 다음에 나올 것 같은 용어들을 나타내는 시퀀스 내의 이전 단어들의 이점을 갖지 못한다. 그럼에도 불구하고, 주제(예를 들어, "driving directions to" 또는 "show map at")를 나타내는 이전 단어의 부재에도, 도킹 컨텍스트에 기초하여 선택된, 선택된 언어 모델(111a)이 이미 용어들(103)의 그럴듯한 내용으로 조정되었기 때문에, 음성인식 시스템(104)은 여전히 용어들의 정확한 세트를 미리 인식할 수 있다. 도킹 컨텍스트에 기초하여 선택된 언어 모델을 이용하는 것은, 음성인식을 정확하게, 또는 심지어 사용자가 이전 구문(prefix phrase)에서 음성의 주제를 특정했던 것보다 더욱 정확하게 할 수 있다.
같은 이유로, 음성인식은, 음성인식을 안내할 단어들 사이의 연관성이 거의 없는, 단일 용어들 및 짧은 용어 시퀀스에 대해서도 향상될 수 있다. 검색 쿼리들은 종종 짧은 용어 시퀀스를 포함하기 때문에, 도킹 컨텍스트에 기초한 언어 모델을 사용하는 것은 이 적용에 있어서 정확성을 상당히 향상시킬 수 있다.
이 예시에서, 발화된 용어들(103)은 주소 "10 Main Street"를 포함하고, 용어들(103)이 주소를 포함한다는 것을 나타내는 발화된 이전 구문(예를 들어, "navigation to")은 없다. 여전히, 용어들(103)이 발화된 도킹 컨텍스트에 기초하여, 음성인식 시스템(104)은 주소에 특화된(예를 들어, 최적화되거나 특화된) 특화된 언어 모델(111a)를 선택할 수 있다. 이 언어 모델(111a)은 오디오 데이터(105)에 인코딩된 첫 번째 용어가 숫자일 것이고, 첫 번째 용어에는 거리 이름이 뒤따를 것이라는 높은 확률을 나타낼 수 있다. 선택된 언어 모델(111a)에 포함된 특화된 단어 및 패턴들은 오디오 데이터(105)의 음성인식 정확도를 향상시킬 수 있다. 예를 들어, 선택된 언어 모델(111a)의 포커스 바깥에 있는 용어들(예를 들어, 네비게이션과 관련 없는 용어들)은 언어모델로부터 배제될 수 있고, 따라서 그것들은 용어들(103)에 대한 가능한 표기로서 배제된다. 이와 대조적으로, 이러한 용어들은 일반적인 언어모델에서 유효한 표기 가능성으로 포함될 수 있고, 이는 유효한 가능성이 있는 것처럼 보이는, 하지만 사실상 현재 용어들(103)을 인식하는 데에는 관련 없는 많은 용어들을 포함한다.
선택된 언어 모델을 사용하여, 음성인식 시스템(104)은 오디오 데이터(105)에 대해 표기 "10 Main Street"를 선택한다. 상기 표기는 검색엔진 시스템(109)로 전달될 수 있다. 상기 표기는 또한, 사용자(101)가 표기의 정확성을 확인하고 필요한 경우 정정을 할 수 있도록 하기 위해 클라이언트 디바이스(102)로도 전송될 수 있다.
상태 (G) 동안, 검색엔진 시스템(109)은 발화된 쿼리 용어들(103)의 표기를 이용하여 검색을 수행한다. 이 검색은 웹 검색, 네비게이션 안내 검색, 또는 다른 타입의 검색이 될 수 있다. 검색 쿼리의 결과를 나타내는 정보가 클라이언트 디바이스(102)로 전송된다. 상기 표기는 도킹 컨텍스트에 기초하여 선택된 특화된 언어 모델(111a)를 이용하여 결정된다. 따라서, 상기 표기가 사용자(101)에 의해 발화된 쿼리 용어들(103)과 매치될 가능성은 일반적인 언어 모델을 사용한 가능성보다 더 크다. 결과적으로, 상기 표기를 포함하는 검색 쿼리는 사용자(101)가 의도했던 검색일 개연성이 더 높다.
용어들(103)의 표기가 검색에 사용되는 것으로 기술되었지만, 표기의 다양한 다른 사용도 가능하다. 다른 실시예에서, 표기는, 예를 들어, 지도나 길안내(directions)를 검색하거나, 음악 또는 다른 미디어를 검색하고 재생하거나, 연락처를 식별하고 통신을 시작하거나, 애플리케이션을 선택하고 실행하거나, 문서를 위치시키고 오픈하거나, 모바일 디바이스(102)의 기능(예를 들어 카메라)을 활성화 시키는 등을 위해 사용될 수 있다. 각각의 이러한 사용에 대해서, 표기를 이용하여 검색된 정보는 하나 이상의 서버 시스템, 클라이언트 디바이스(102), 또는 도킹 스테이션(106)에 의해 식별될 수 있다.
일부 실시예에서, 오디오 데이터(105)의 서로 다른 부분의 음성을 인식하기 위해 서로 다른 언어 모델(111a-111d)이 선택되고 사용될 수 있다. 심지어 오디오 데이터(105)가 단일 도킹 컨텍스트와 연관될 때도, 다른 정보(예를 들어 시퀀스에서 인식된 다른 단어들)가 언어 모델(111a-111d)의 선택에 영향을 줄 수 있다. 결과적으로, 시퀀스에서 다른 용어들은 다른 언어 모델들(111a-111d)을 이용하여 인식될 수 있다.
도 2a는 언어 모델(200)의 예시 표현을 나타내는 다이어그램이다. 일반적으로, 음성인식 시스템은 음성을 포함하는 오디오 데이터를 수신하고 그 오디오 데이터에 가장 잘 매칭되는 하나 이상의 표기를 출력한다. 음성인식 시스템은 오디오 데이터로부터 하나 이상의 용어들을 인식하기 위한 다수의 기능을 동시에 또는 순차적으로 수행할 수 있다. 예를 들어, 음성인식 시스템은 어쿠스틱 모델(acoustic model) 및 언어 모델(200)을 포함할 수 있다. 언어 모델(200)과 어쿠스틱 모델은 오디오 데이터 내 음성의 하나 이상의 표기를 선택하기 위해 함께 사용될 수 있다.
어쿠스틱 모델은 오디오 데이터의 일부와 매칭되는 용어들을 식별하기 위해 사용될 수 있다. 오디오 데이터의 특정 부분에 대해서, 어쿠스틱 모델은 오디오 데이터의 다양한 특성과 매칭되는 용어들 및 각 용어가 오디오 데이터와 매칭되는 정도를 나타내는 가중치 또는 신뢰값(confidence score)을 출력할 수 있다.
언어 모델(200)은 음성 패턴 내의 용어들 사이의 관계에 관한 정보를 포함할 수 있다. 예를 들어, 언어 모델(200)은 흔히 사용되는 용어들의 시퀀스 및 문법 규칙과 다른 언어 관습을 따르는 시퀀스들에 대한 정보를 포함할 수 있다. 언어 모델(200)은 시퀀스 내의 하나 이상의 다른 용어들에 기초하여 음성 시퀀스에서 한 용어의 발생 가능성을 나타내기 위해 사용될 수 있다. 예를 들어, 언어 모델(200)은 시퀀스 내의 이전 단어들에 기초하여, 단어들 시퀀스의 특정 부분에서 어느 단어가 가장 높은 발생 확률을 갖는지를 식별할 수 있다.
언어 모델(200)은 노드들(nodes)(201a-201i)과 노드들(201a-201i) 사이의 트랜지션(transitions)(202a-202h)의 세트를 포함한다. 각 노드(201a-201i)는 음성 시퀀스에서 단일 용어(예를 들어 한 단어)가 선택되는 결정 포인트(decision point)를 나타낸다. 노드(201a-201i)로부터의 각 트랜지션(202a-202h)은 시퀀스의 구성요소로 선택될 수 있는 용어와 연관된다. 각 트랜지션(202a-202h)은 또한, 예를 들어 트랜지션(202a-202h)과 연관된 용어가 시퀀스에서 그 시점에 발생하는 확률을 나타내는 가중치와 연관된다. 가중치는 시퀀스 내의 다수의 이전 용어들에 기초하여 설정된다. 예를 들어, 각 노드에서의 트랜지션 및 트랜지션에 대한 가중치는 음성 시퀀스 내의 그 노드 이전에 발생한 N개의 용어들에 의해 결정될 수 있다.
일 예시로서, 첫 번째 노드(201a)는 음성 시퀀스에서 첫 번째 용어가 선택되는 결정 포인트를 나타낸다. 노드(201a)에서의 유일한 트랜지션은 용어 "the"와 연관된 트랜지션(202a)이다. 트랜지션(202a)를 따르는 것은 음성 시퀀스에서 첫 번째 용어로서 용어 "the"를 선택하는 것을 의미하고, 이는 노드(201b)에서의 다음 결정으로 유도한다.
노드(201b)에서는 2가지 트랜지션이 가능하다: (1) 용어 "hat"과 연관되고 0.6의 가중치를 갖는 트랜지션(202b); 및 (2) 용어 "hats"와 연관되고 0.4의 가중치를 갖는 트랜지션(202c)이다. 트랜지션(202b)는 트랜지션(202c)보다 더 높은 가중치를 갖고, 이는 이 시점의 음성 시퀀스에서는 용어 "hat"이 용어 "hats"보다 발생할 개연성이 더 높다는 것을 나타낸다. 각 노트(201a-201i)에서 가장 높은 가중치를 갖는 트랜지션(202a-202h)을 선택함으로써, 가장 개연성이 높은 용어들의 시퀀스를 나타내는 경로(204)가 생성되고, 이 예시에서는 "the hat is black"이다.
언어 모델에서 트랜지션의 가중치들은 용어들의 유효한 시퀀스를 보여주는 예시 텍스트 코퍼스(a corpus of example text)에서의 언어 패턴들에 기초하여 결정될 수 있다. 식별 훈련(discriminative training)과 같은 기계 학습 기술(machine learning techniques)은 히든 마르코프 모델(Hidden Markov Models ("HMMs"))을 이용하여 트랜지션의 확률을 설정하기 위해 이용될 수 있다. 문법 모델을 수동으로 특정하고 구축하기 위해 가중 유한상태 변환기(weighted finite-state transducers)가 사용될 수 있다. 예시 구문의 코퍼스에서 n-그램의 발생을 카운트하고 그 카운트로부터의 트랜지션 확률을 유도하기 위해 n-그램 스무딩(N-gram smoothing)이 이용될 수 있다. 예시 텍스트의 코퍼스를 이용하여 HMMs에서의 확률을 설정하기 위해 Baum-Welch 알고리즘과 같은 기대값-최대화 기술(expectation-maximization techniques)이 이용될 수 있다.
도 2b는 도 2a에 도시된 언어 모델과 함께 어쿠스틱 모델의 사용 예시를 나타내는 다이어그램이다. 언어 모델의 출력은 오디오 데이터에 대한 표기를 선택하기 위해 어쿠스틱 모델의 출력과 결합될 수 있다. 예를 들어, 도 2b는 단일 용어에 대응하는 오디오 데이터의 부분에 대한 어쿠스틱 모델 및 언어 모델로부터의 출력의 결합을 나타낸다. 특히, 도 2b는 도 2a에서 노드(201d)로부터의 트랜지션(202f-202h)에 의해 선택된 용어에 대응하는 오디오 데이터에 대한 출력을 나타낸다. 언어 모델은 용어들(212a-212c) 및 노드(201d)에서 가장 높게 가중된(highest-weighted) 트랜지션과 연관되는 대응 가중치(213a-213c)를 출력한다. 어쿠스틱 모델은 오디오 데이터와 가장 잘 매칭되는 용어들(216a-216c)을, 용어들(216a-216c)이 오디오 데이터와 매칭되는 정도를 나타내는 대응 가중치(217a-217c)와 함께 출력한다.
가중치(213a-213c 및 217a-217c)는 결합 가중치(223a-223e)를 생성하기 위해 결합되고, 이는 용어들(222a-222e)의 결합된 세트를 서열화하기 위해 사용된다. 도시된 바와 같이, 어쿠스틱 모델과 언어 모델의 출력에 기초하여, 용어(222a) "black"이 가장 높은 결합 가중치(223a)를 찾고 따라서 오디오 데이터의 대응하는 부분에 대한 가장 개연성이 높은 표기이다. 비록 어쿠스틱 모델과 언어 모델에 의해 출력된 가중치(213a-213c, 217a-217c)가 결합 가중치(223a-223e)를 결정하는데 동일한 영향을 갖는 것으로 보여지지만, 가중치(213a-213c, 217a-217c)는 또한 동등하지 않게 결합될 수도 있고 다른 타입의 데이터와 결합될 수도 있다.
도 3은 클라이언트 디바이스의 도킹 컨텍스트를 이용하여 음성인식을 수행하기 위한 예시 프로세스(300)을 나타내는 흐름도이다. 간략하게, 프로세스(300)은 인코딩된 음성을 포함하는 오디오 데이터에 접근하는 것을 포함한다. 클라이언트 디바이스의 코딩 컨텍스트를 나타내는 정보가 액세스된다. 다수의 언어 모델이 식별된다. 언어 모델들 중 적어도 하나가 도킹 컨텍스트에 기초하여 선택된다. 선택된 언어 모델을 이용하여 오디오 데이터에 대한 음성인식이 수행된다.
보다 자세하게, 인코딩된 음성을 포함하는 오디오 데이터가 액세스된다(302). 오디오 데이터는 클라이언트 디바이스로부터 수신될 수 있다. 인코딩된 음성은 클라이언트 디바이스에 의해 녹음된 음성과 같은, 클라이언트 디바이스에 의해 탐지된 음성일 수 있다. 인코딩된 음성은 하나 이상의 발화된 쿼리 용어들을 포함할 수 있다.
클라이언트 디바이스의 도킹 컨텍스트를 나타내는 정보가 액세스된다(304). 도킹 컨텍스트는 오디오 데이터와 연관될 수 있다. 도킹 컨텍스트를 나타내는 정보는 클라이언트 디바이스로부터 수신될 수 있다. 예를 들어, 도킹 컨텍스트를 나타내는 정보는, 오디오 데이터에 인코딩된 음성이 클라이언트 디바이스에 의해 탐지되는 동안, 클라이언트 디바이스가 도킹 스테이션에 연결되었는지 여부를 나타낼 수 있다. 도킹 컨텍스트를 나타내는 정보는 또한, 오디오 데이터에 인코딩된 음성이 클라이언트 디바이스에 의해 탐지되는 동안, 클라이언트 디바이스가 연결된 도킹 스테이션의 타입을 나타낼 수도 있다.
도킹 컨텍스트를 나타내는 정보는 클라이언트 디바이스와 클라이언트 디바이스가 무선으로 연결된 제2 디바이스 사이의 연결을 나타낼 수 있다. 도킹 컨텍스트를 나타내는 정보는 클라이언트 디바이스와 그 클라이언트 디바이스가 물리적으로 연결된 제2 디바이스 사이의 연결을 나타낼 수 있다.
다수의 언어 모델이 식별된다(306). 각각의 다수 언어 모델은 시퀀스 내의 다른 용어들에 기초하여 용어들의 시퀀스에서 하나의 용어의 발생 확률을 나타낼 수 있다. 각각의 다수 언어 모델은 특정 주제의 단어 카테고리들에 대해 훈련될 수 있다. 특정 단어 카테고리들은 각 언어 모델에 대해 서로 다를 수 있다. 하나 이상의 다수 언어 모델들은 언어 모델의 일부 또는 서브세트를 포함할 수 있다. 예를 들어, 하나 이상의 다수 언어 모델들은 또 다른 언어 모델의 하위모델일 수 있다.
적어도 하나의 식별된 언어 모델이 도킹 컨텍스트에 기초하여 선택된다(308). 예를 들어, 각각의 식별된 언어 모델에 대한 가중치는 도킹 컨텍스트에 기초하여 결정될 수 있다. 가중치는 각 언어 모델로 할당될 수 있다. 각 가중치는 그것이 할당된 언어 모델이 인코딩된 음성의 정확한 표기를 나타낼 것인지의 확률을 나타낼 수 있다. 각각의 언어 모델에 대한 가중치를 결정하는 것은 도킹 컨텍스트와 연관되어 저장된 가중치에 액세스하는 것을 포함한다. 각각의 언어 모델에 대한 가중치를 결정하는 것은 저장된 가중치에 액세싱하는 것과 도킹 컨텍스트에 기초하여 그 저장된 가중치를 변경하는 것을 포함한다.
도킹 컨텍스트에 기초하여 가중치를 결정하는 것은, 예를 들어, 클라이언트 디바이스가 차량 도킹 스테이션에 연결되어 있는 것을 결정하는 것과, 주소를 출력하도록 훈련된 네비게이션 언어 모델에 대해서, 네비게이션 언어 모델이 다른 식별된 언어 모델과 관련하여 선택되는 확률을 증가시키는 가중치를 결정하는 것을 포함할 수 있다.
음성인식이 선택된 언어 모델을 이용하여 오디오 데이터에 대해 수행된다(310). 오디오 데이터의 적어도 일부분에 대하여 표기가 식별된다. 예를 들어, 오디오 데이터로 인코딩된 하나 이상의 발화된 용어들에 대한 표기가 생성될 수 있다.
오디오 데이터에 인코딩된 음성은 발화된 쿼리 용어들을 포함할 수 있고, 오디오 데이터의 일부의 표기는 그 발화된 쿼리 용어들의 표기를 포함할 수 있다. 프로세스(300)는 검색엔진이 하나 이상의 발화된 쿼리 용어들의 표기를 이용하여 검색을 수행하도록 하는 것과 검색 쿼리의 결과를 식별하는 정보를 클라이언트 디바이스로 제공하는 것을 포함할 수 있다.
도 4는, 클라이언트나 서버 또는 복수개의 서버로서, 본 명세서에서 설명된 시스템 및 방법을 구현하기 위해 사용될 수 있는 컴퓨팅 디바이스(400, 450)의 블록 다이어그램이다. 컴퓨팅 디바이스(400)는 랩탑, 데스크톱, 워크스테이션, PDA, 서버, 블레이드(blade) 서버, 메인 프레임, 및 그 밖의 적절한 컴퓨터들과 같은 다양한 형태의 디지털 컴퓨터를 나타내기 위해 사용된다. 모바일 컴퓨팅 디바이스(450)는 PDA, 셀룰러 폰, 스마트폰, 및 그 밖의 유사한 컴퓨팅 디바이스와 같은 다양한 형태의 모바일 디바이스를 나타내기 위해 사용된다. 여기에 보여지는 컴포넌트들, 그 연결 및 관계, 및 그 기능들은 단지 예시를 의미하고, 본 명세서에서 설명하거나 또는 청구된 발명의 실시예를 제한하는 것을 의미하지 않는다.
컴퓨팅 디바이스(400)는 프로세서(402), 메모리(404), 저장 디바이스(406), 메모리(404)에 접속하는 고속 인터페이스(408)와 고속 확장 포트(410), 및 저속 버스(414)와 저장 디바이스(406)에 접속하는 저속 인터페이스(412)를 포함한다. 각 구성요소(402, 404, 406, 408, 410, 및 412)는 다양한 버스들을 사용하여 서로 접속되고, 일반적인 마더보드 또는 적절한 경우 다른 방식으로 탑재될 수 있다. 프로세서(402)는 컴퓨팅 디바이스(400) 내에서 실행하기 위한 명령어를 처리할 수 있으며, 이러한 명령어에는, 고속 인터페이스(408)에 연결된 디스플레이(416)와 같은 외장 입/출력 디바이스상에서 GUI용 그래픽 정보를 디스플레이 하기 위해, 메모리(404) 또는 저장 디바이스(406)에 저장되는 명령어가 포함된다. 다른 실시예에서, 다중 프로세서 및/또는 다중 버스는 적절한 경우, 다중 메모리 및 메모리 타입과 함께 사용될 수 있다. 또한, 다중 컴퓨팅 디바이스(400)는 각 디바이스가 필요 동작의 부분을 제공하는 형태(예를 들어, 서버 뱅크, 블레이드 서버의 그룹, 또는 다중 프로세서 시스템)로 접속될 수 있다.
메모리(404)는 컴퓨팅 디바이스(400) 내에 정보를 저장한다. 일 실시예에서, 메모리(404)는 비 휘발성 유닛 또는 유닛들이다. 또 다른 실시예에서, 메모리(404)는 휘발성 유닛 또는 유닛들이다. 메모리(404)는 또한, 자기 또는 광 디스크와 같은 또 다른 형태의 컴퓨터-판독가능 매체일 수 있다.
저장 디바이스(406)는 컴퓨팅 디바이스(400)를 위한 대용량 저장소(mass storage)를 제공할 수 있다. 일 실시예에서, 저장 디바이스(406)는 컴퓨터-판독 가능한 매체이다. 다양한 다른 실시예들에서, 저장 디바이스(406)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스, 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 고체 상태 메모리 디바이스, 또는 저장 영역 네트워크 또는 다른 구성에 존재하는 디바이스를 포함하는 디바이스 어레이일 수 있다. 일 실시예에서, 컴퓨터 프로그램 제품은 정보 캐리어(information carrier) 내에 유형적으로 구체화된다. 또한, 컴퓨터 프로그램 제품은 실행될 때, 상술한 것과 같은 하나 이상의 방법을 수행하는 명령어를 포함한다. 정보 캐리어는 메모리(404), 저장 디바이스(406), 또는 프로세서(402) 상의 메모리와 같은 컴퓨터 또는 기계 판독가능 매체이다.
부가적으로, 컴퓨팅 디바이스(400 또는 450)는 USB 플래시 드라이브를 포함할 수 있다. USB 플래시 드라이브는 운영체제와 다른 애플리케이션을 저장할 수 있다. USB 플래시 드라이브는 무선 트랜스미터 또는 다른 컴퓨팅 디바이스의 USB 포트에 삽입될 수 있는 USB 커넥터와 같은 입/출력 컴포넌트를 포함할 수 있다.
고속 제어부(408)는 컴퓨팅 디바이스(900)에 대한 대역-집약적 동작을 관리하고, 반면에 저속 제어부(412)는 저대역-집약적 동작(lower bandwidth-intensive operations)을 관리한다. 이러한 기능(duties)들의 배치는 단지 예시적인 것이다. 일 실시예에서, 고속 제어부(408)는 메모리(404), 디스플레이(416)(예를 들어, 그래픽 프로세서 또는 가속기를 통함)에 연결되고, 다양한 확장 카드(도시되지 않음)을 수용할 수 있는 고속 확장 포트(410)에 연결된다. 일부 실시예에서는, 저속 제어부(412)는 저장 디바이스(406) 및 저속 확장 포트(414)에 연결된다. 다양한 통신 포트(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트는 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입/출력 디바이스들에 연결되거나, 또는 예컨대 네트워크 어댑터를 통하여, 스위치나 라우터와 같은 네트워킹 디바이스에 연결될 수 있다.
컴퓨팅 디바이스(400)는 도면에 도시된 바와 같이, 복수의 다른 형태로 구현될 수 있다. 예를 들어, 컴퓨팅 디바이스(400)는 표준 서버(420)로 구현되거나 이러한 서버들의 그룹에서 여러 번 구현될 수 있다. 또한, 컴퓨팅 디바이스(400)는 랙 서버 시스템(424)의 부분으로서 구현될 수 있다. 추가적으로, 컴퓨팅 디바이스(400)는 랩탑 컴퓨터(422)와 같은 개인용 컴퓨터 내에 구현될 수 있다. 대안적으로, 컴퓨팅 디바이스(400)로부터의 구성요소는 디바이스(450)와 같은 모바일 디바이스(도시되지 않음) 내 다른 구성요소와 조합될 수 있다. 이러한 디바이스 각각은 하나 이상의 컴퓨팅 디바이스(400, 450)를 포함하고, 전체 시스템은 서로 통신하는 다중 컴퓨팅 디바이스(400, 450)로 구성될 수 있다.
컴퓨팅 디바이스(450)는 여러 구성요소 중에서 프로세서(452), 메모리(464), 디스플레이(454)와 같은 입/출력 디바이스, 통신 인터페이스(466), 및 트랜스시버(468) 등을 포함한다. 또한, 디바이스(450)에는 추가적인 저장소를 제공하기 위하여, 마이크로 드라이브 또는 다른 디바이스와 같은 저장 디바이스가 제공될 수 있다. 구성요소(450, 452, 464, 454, 466, 및 468) 각각은 다양한 버스를 이용하여 서로 접속되고, 구성요소의 몇몇은 공통의 마더보드에 탑재되거나 적절한 다른 방법으로 탑재될 수 있다.
프로세서(452)는 컴퓨팅 디바이스(450) 내에서의 실행을 위해 명령어를 실행하며, 이 명령어에는 메모리(464)에 저장된 명령어가 포함된다. 프로세서는 별개이며 다수의 아날로그 및 디지털 프로세서들을 포함하는 칩들의 칩셋으로서 구현될 수 있다. 부가적으로, 프로세서는 어떤 다수의 아키텍처를 이용하여 구현될 수 있다. 예를 들어, 프로세서(402)는 CISC(Complex Instruction Set Computers) 프로세서, RISC(Reduced Instruction Set Computer) 프로세서, 또는 MISC(Minimal Instruction Set Computer) 프로세서 일 수 있다. 프로세서는, 예를 들어, 사용자 인터페이스의 컨트롤, 디바이스(450)에 의해 실행되는 애플리케이션, 및 컴퓨팅 디바이스(450)에 의한 무선 통신과 같은 디바이스(450)의 다른 구성요소들 사이에 조정을 제공할 수 있다.
프로세서(452)는 제어 인터페이스(458) 및 디스플레이(454)에 연결된 디스플레이 인터페이스(456)를 통해 사용자와 통신할 수 있다. 디스플레이(454)는, 예를 들어, TFT LCD 디스플레이 또는 OLED 디스플레이, 또는 다른 적절한 디스플레이 기술일 수 있다. 디스플레이 인터페이스(456)는 그래픽 및 다른 정보를 사용자에게 나타내기 위해 디스플레이(454)를 구동하는 적절한 회로를 포함할 수 있다. 제어 인터페이스(458)는 사용자로부터 명령들을 수신하고, 프로세서(452)에 제출하기 위해 그 명령들을 변환한다. 더욱이, 확장 인터페이스(462)는 디바이스(450)와 다른 디바이스들 간에 근거리 통신이 가능하도록 하기 위해, 프로세서(452)와의 통신에 제공될 수 있다. 확장 인터페이스(462)는, 예를 들어, 일부 실시예에서는 유선 통신을 제공하고 다른 실시예에서 무선 통신을 제공하며, 또한 다중 인터페이스가 사용될 수 있다.
메모리(464)는 컴퓨팅 디바이스(450) 내에 정보를 저장한다. 메모리(464)는 컴퓨터 판독가능 매체 또는 미디어, 휘발성 메모리 유닛 또는 유닛들, 또는 비 휘발성 메모리 유닛 또는 유닛들 중 하나 이상으로서 구현될 수 있다. 또한, 확장 메모리(474)가 제공되어, 예를 들어 SIMM 카드 인터페이스를 포함하는 확장 인터페이스(474)를 통해 디바이스(450)에 접속될 수 있다. 이러한 확장 메모리(474)는 디바이스(450)를 위한 여분의 저장 공간을 제공할 수 있고, 또한 애플리케이션 또는 디바이스(450)를 위한 다른 정보를 저장할 수 있다. 특히, 확장 메모리(474)는 상술된 프로세스를 실행하거나 보조하기 위한 명령어를 포함하고, 또한 보안 정보를 포함할 수 있다. 따라서, 예를 들어, 확장 메모리(474)는 디바이스(450)용 보안 모듈로서 제공될 수 있고, 디바이스(450)의 안전한 사용을 가능하게 하는 명령어로 프로그램 될 수 있다. 더욱이, 보안 애플리케이션은, 해킹할 수 없는 방식(non-hackable manner)으로 SIMM 카드 상에 식별 정보를 위치시킨 것과 같은 추가적 정보와 함께 SIMM 카드를 통해 제공될 수 있다.
메모리는 아래에서 논의되는 것과 같이 예를 들어, 플래시 메모리 및/또는 NVRAM 메모리를 포함할 수 있다. 일 실시예에서, 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 구체화된다. 컴퓨터 프로그램 제품은 실행될 때, 상술된 것과 같은 하나 이상의 방법을 수행하는 명령어를 포함한다. 정보 캐리어는 메모리(464), 확장 메모리(474), 또는, 예를 들어 트랜스시버(468) 또는 확장 인터페이스(462)를 통해 수신될 수 있는 프로세서(452) 상의 메모리와 같은, 컴퓨터- 또는 기계-판독가능 매체이다.
디바이스(450)는 디지털 신호 처리 회로를 필요에 따라 포함하는 통신 인터페이스(466)를 통해 무선으로 통신할 수 있다. 통신 인터페이스(466)는 GSM 음성 호, SMS, EMS, 또는 MMS 메시징, CDMA, TDMA, PDC, WCDMA, CDMA2000, 또는 GPRS 등과 같은 다양한 모드 또는 프로토콜 하에서의 통신을 제공할 수 있다. 이러한 통신은 예를 들어, 무선-주파수 트랜스시버(468)를 통해 수행될 수 있다. 또한, 단거리 통신은 예를 들어, 블루투스, Wi-Fi, 또는 다른 이러한 트랜스시버(도시되지 않음)를 사용하여 수행될 수 있다. 이에 더하여, GPS 수신기 모듈(470)은 추가적인 네비게이션- 및 위치- 관련 무선 데이터를 디바이스(450)에 제공할 수 있으며, 이 무선 데이터는 디바이스(450)에서 실행중인 애플리케이션에 의해 적절하게 사용될 수 있다.
디바이스(450)는 또한 사용자로부터의 발화 정보(spoken information)를 수신하고, 그 발화 정보를 사용 가능한 디지털 정보로 변환하는 오디오 코덱(460)을 이용하여, 청취 가능하게(audibly) 통신할 수 있다. 또한, 오디오 코덱(460)은 예를 들어, 디바이스(450)의 핸드셋 내의 스피커를 통하는 것과 같이 해서, 사용자가 들을 수 있는 음성을 생성한다. 이러한 음성은 음성 전화 호로부터의 음성을 포함할 수 있고, 녹음된 음성(예를 들어, 음성 메시지, 뮤직 파일 등)은 포함할 수 있고, 또한 디바이스(450) 상에서 동작하는 애플리케이션에 의해 생성된 음성을 포함할 수 있다.
컴퓨팅 디바이스(450)는 도면에 도시된 것처럼, 다수의 다양한 형태로 구현될 수 있다. 예를 들어, 컴퓨팅 디바이스(450)는 셀룰러 전화(480)로서 구현될 수 있다. 또한, 컴퓨팅 디바이스(450)는 스마트폰(482), PDA, 또는 다른 유사한 모바일 디바이스의 일부로서 구현될 수 있다.
본 명세서에 기재된 시스템의 다양한 실시예와 기술은 디지털 전자 회로, 집적 회로, 특별하게 설계된 ASICs(application specific integrated circuit), 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 그것의 조합물로 실현될 수 있다. 이러한 다양한 실시예는 하나 이상의 컴퓨터 프로그램으로 된 실시예를 포함하며, 이 컴퓨터 프로그램은 적어도 하나의 프로그램 가능한 프로세서를 포함하는 프로그램 가능한 시스템에서 실행가능하고 및/또는 해석 가능하다. 또한, 전용 또는 범용 프로세서일 수 있는 이 프로그램 가능한 프로세서는 데이터와 명령어를 송수신하기 위해, 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 수신 디바이스에 연결된다.
컴퓨터 프로그램(또한 프로그램, 소프트웨어, 소프트웨어 애플리케이션, 또는 코드로 알려짐)은 프로그램 가능한 프로세서를 위한 기계 명령어를 포함하고, 고레벨 절차 및/또는 객체 지향 프로그램 언어 및/또는 어셈블리/기계 언어로 구현될 수 있다. 본 명세서에서 사용되는 바와 같이, 용어 "기계 판독가능 매체(machine-readable medium)"와 "컴퓨터 판독가능 매체(computer-readable medium)"는 기계 명령어 및/또는 데이터를 프로그램 가능한 프로세서에 제공하기 위해 이용되는 임의의 컴퓨터 프로그램 제품, 장치, 및/또는 디바이스(예를 들어, 마그네틱 디스크, 광학 디스크, 메모리, PLDs(Programmable Logic Devices))를 가리키며, 기계 판독가능 신호와 같은 기계 명령어를 수신하는 기계 판독가능 매체를 포함한다. 용어 "기계 판독가능 신호(machine-readable signal)"는 기계 명령어 및/또는 데이터를 프로그램 가능한 프로세서에 제공하기 위해 사용되는 임의의 신호를 가리킨다.
사용자와의 상호 작용을 제공하기 위하여, 본 명세서에 기술된 시스템과 기술은, 정보를 사용자에게 디스플레이하기 위한 디스플레이 디바이스(예를 들어, CRT 또는 LCD 모니터)와 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)를 구비한 컴퓨터 상에서 구현될 수 있다. 사용자와의 상호 작용을 제공하기 위하여 다른 종류의 디바이스가 또한 사용될 수 있다; 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백(예를 들어, 시각 피드백, 청각 피드백 또는 촉각 피드백)일 수 있고, 사용자로부터의 입력은 음향(acoustic), 음성(speech) 또는 촉각(tactile) 입력을 포함하는 임의의 형태로 수신될 수 있다.
본 명세서에서 설명한 시스템과 기술은, 백 엔드(back end) 구성요소(예를 들어, 데이터 서버와 같은), 또는 미들웨어 구성요소(예를 들어, 애플리케이션 서버), 또는 프론트 엔드(front end) 구성요소(예를 들어, 본 명세서에서 설명된 시스템 및 기술의 실시예와 사용자가 상호 작용할 수 있는 그래픽 사용자 인터페이스 또는 웹브라우저를 구비한 클라이언트 컴퓨터), 또는 이러한 백 엔드, 미들웨어, 또는 프론트 엔드 구성요소들의 임의의 조합을 포함하는 컴퓨팅 시스템으로 구현될 수 있다. 시스템의 구성요소는 디지털 데이터 통신의 임의의 형태 또는 매체(예를 들어, 통신 네트워크)에 의해 상호 접속될 수 있다. 통신 네트워크의 예시는 LAN, WAN, 및 (애드훅(ad-hoc) 또는 정적 구성원을 포함하는) 피어-투-피어(pear-to-pear) 네트워크, 그리드 컴퓨팅 인프라스트럭쳐(grid computing infrastructures), 및 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트와 서버를 포함할 수 있다. 클라이언트와 서버는 보통 서로 떨어져 있으며, 일반적으로는 통신 네트워크를 통하여 상호 작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터 상에서 실행되고 상호 클라이언트-서버 관계를 갖는 컴퓨터 프로그램에 의하여 발생한다.
다수의 실시예들이 기술되었다. 그럼에도 불구하고, 본 발명의 범위 및 사상으로부터 벗어나지 않고 다양한 변형들이 가해질 수 있음이 이해될 것이다. 예를 들어, 친구들 또는 그룹들과 공유하기 위한 대상들은 다양한 방식으로 액세스 하기 위해 이용될 수 있고, 그러한 정보를 디스플레이 하는 특정 방법들은 여기에 도시된 특정 예시들로부터 다양해질 수 있다. 따라서, 다른 실시예들도 후술하는 청구항들의 범위 내에 속한다.

Claims (32)

  1. 디바이스 도킹 컨텍스트를 이용하여 음성 인식(speech recognition)을 수행하는 컴퓨터로 구현되는 방법에 있어서,
    서버 시스템에서, 인코딩된 음성을 포함하는 오디오 데이터를 수신하는 단계 와, 상기 인코딩된 음성은 클라이언트 디바이스에 의해 탐지된 것이고;
    상기 서버 시스템에서, 상기 클라이언트 디바이스에 의해 상기 오디오 데이터로 인코딩된 음성이 탐지되는 동안, 상기 클라이언트 디바이스의 도킹 컨텍스트(docking context)를 나타내는 정보를 수신하는 단계;
    복수의 언어 모델들을 식별하는 단계와, 상기 복수의 언어 모델들 각각은 용어들의 시퀀스에서 상기 시퀀스의 다른 용어들에 기초한 용어의 발생 확률을 나타내고;
    상기 복수의 언어 모델들 각각에 대하여, 상기 도킹 컨텍스트와 관련하여 저장된 가중치에 액세스함으로써 상기 도킹 컨텍스트에 기초하여 상기 언어 모델에 할당하기 위한 가중치를 결정하는 단계와, 상기 가중치는 상기 언어 모델이 상기 인코딩된 음성의 정확한 표기(transcription)를 나타낼 확률을 나타내고;
    상기 할당된 가중치에 기초하여 상기 복수개의 언어 모델들 중 적어도 하나를 선택하는 단계; 및
    상기 오디오 데이터의 일부분에 대한 표기를 식별하기 위해 상기 선택된 언어 모델을 이용하여 상기 오디오 데이터에 대한 음성 인식을 수행하는 단계를 포함하는 방법.
  2. 제1항에 있어서,
    상기 도킹 컨텍스트는 상기 클라이언트 디바이스에 의해 상기 오디오 데이터로 인코딩된 음성이 탐지되는 동안 상기 클라이언트가 연결된 도킹 스테이션의 타입을 나타내는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 인코딩된 음성은 하나 이상의 쿼리 용어들을 포함하고,
    상기 표기는 상기 쿼리 용어들을 포함하고,
    상기 방법은,
    상기 쿼리 용어들을 포함하는 검색 쿼리를 생성하는 단계;
    상기 검색 쿼리를 이용하여 검색을 수행하는 단계; 및
    상기 검색의 결과들을 나타내는 정보를 상기 클라이언트 디바이스로 제공하는 단계를 더 포함하는 방법.
  4. 제1항에 있어서,
    상기 복수의 언어 모델들 각각은 특정 주제 카테고리의 단어들에 대해 훈련된 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 도킹 컨텍스트에 기초하여 가중치를 결정하는 단계는,
    상기 클라이언트 디바이스가 차량 도킹 스테이션에 연결되어 있는지를 결정하는 단계; 및
    상기 클라이언트 디바이스가 차량 도킹 스테이션에 연결되어 있음을 결정함에 응답하여, 주소를 출력하도록 훈련된 네비게이션 언어 모델에 대해서, 상기 네비게이션 언어 모델이 선택되는 확률을 상기 복수의 언어 모델들 내의 다른 언어 모델들에 대하여 증가시키는 가중치를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 디바이스 도킹 컨텍스트를 이용하여 음성 인식(speech recognition)을 수행하는 컴퓨터로 구현되는 방법에 있어서,
    인코딩된 음성을 포함하는 오디오 데이터에 액세스하는 단계;
    클라이언트 디바이스의 도킹 컨텍스트를 나타내는 정보에 액세스하는 단계, 상기 도킹 컨텍스트는 상기 오디오 데이터와 관련되고;
    복수의 언어 모델들을 식별하는 단계;
    상기 복수의 언어 모델 각각에 대해, 상기 도킹 컨텍스트에 기초하여 가중치를 결정하는 단계, 상기 가중치는 상기 언어 모델이 상기 인코딩된 음성에 대한 정확한 표기(transcription)를 나타낼 확률을 나타내고;
    상기 가중치에 기초하여 상기 복수의 언어 모델들 중에서 적어도 하나를 선택하는 단계; 및
    상기 오디오 데이터의 일부분에 대한 표기를 식별하기 위해 상기 선택된 적어도 하나의 언어 모델을 이용하여 상기 오디오 데이터에 대한 음성 인식을 수행하는 단계를 포함하는 방법.
  7. 제6항에 있어서,
    상기 클라이언트 디바이스의 도킹 컨텍스트를 나타내는 정보는 상기 클라이언트 디바이스와 상기 클라이언트 디바이스가 물리적으로 연결된 제2 디바이스 사이의 연결을 나타내는 것을 특징으로 하는 방법.
  8. 제6항에 있어서,
    상기 클라이언트 디바이스의 도킹 컨텍스트를 나타내는 정보는 상기 클라이언트 디바이스와 상기 클라이언트 디바이스가 무선으로 연결된 제2 디바이스 사이의 연결을 나타내는 것을 특징으로 하는 방법.
  9. 삭제
  10. 제6항에 있어서,
    상기 오디오 데이터로 인코딩된 음성은 상기 클라이언트 디바이스에 의해 탐지되고,
    상기 도킹 컨텍스트를 나타내는 정보는 상기 클라이언트 디바이스에 의해 상기 오디오 데이터로 인코딩된 음성이 탐지되는 동안 상기 클라이언트 디바이스가 도킹 스테이션에 연결되었는지 여부를 나타내는 것을 특징으로 하는 방법.
  11. 제6항에 있어서,
    상기 오디오 데이터로 인코딩된 음성은 상기 클라이언트 디바이스에 의해 탐지되고,
    상기 도킹 컨텍스트를 나타내는 정보는 상기 클라이언트 디바이스에 의해 상기 오디오 데이터로 인코딩된 음성이 탐지되는 동안 상기 클라이언트 디바이스가 연결된 도킹 스테이션의 타입을 나타내는 것을 특징으로 하는 방법.
  12. 제6항에 있어서,
    상기 인코딩된 음성은 하나 이상의 발화된(spoken) 쿼리 용어들을 포함하고,
    상기 표기는 상기 발화된 쿼리 용어들의 표기를 포함하고,
    상기 방법은,
    검색 엔진이 상기 하나 이상의 발화된 쿼리 용어들의 상기 표기를 이용하여 검색을 수행하도록 하는 단계; 및
    상기 검색 쿼리의 결과들을 나타내는 정보를 상기 클라이언트 디바이스로 제공하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  13. 제6항에 있어서,
    상기 복수의 언어 모델들 각각에 대하여 가중치를 결정하는 단계는, 상기 도킹 컨텍스트와 관련된 저장된 가중치들에 액세스하는 단계를 포함하는 것을 특징으로 하는 방법.
  14. 제6항에 있어서,
    상기 복수의 언어 모델들 각각에 대하여 가중치를 결정하는 단계는, 저장된 가중치들에 액세스하는 단계 및 상기 도킹 컨텍스트에 기초하여 상기 저장된 가중치를 변경하는 단계를 포함하는 것을 특징으로 하는 방법.
  15. 제6항에 있어서,
    상기 복수의 언어 모델들 각각은 특정 주제 카테고리의 단어들에 대해 훈련된 것을 특징으로 하는 방법.
  16. 제6항에 있어서,
    상기 도킹 컨텍스트에 기초하여 가중치를 결정하는 단계는,
    상기 도킹 컨텍스트가 차량 도킹 스테이션에의 연결을 포함하는지를 결정하는 단계; 및
    상기 도킹 컨텍스트가 차량 도킹 스테이션에의 연결을 포함함을 결정함에 응답하여, 주소를 출력하도록 훈련된 네비게이션 언어 모델에 대해서, 상기 네비게이션 언어 모델이 선택되는 확률을 상기 복수의 언어 모델들 내의 다른 언어 모델들에 대하여 증가시키는 가중치를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  17. 디바이스 도킹 컨텍스트를 이용하여 음성 인식(speech recognition)을 수행하는 시스템에 있어서,
    하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서와 연결되고, 상기 하나 이상의 프로세서에 의해 실행될 때 상기 시스템으로 하여금 작동들(operations)을 수행하도록 하는 명령들(instructions)이 저장된 매체를 포함하고, 상기 작동들은,
    인코딩된 음성을 포함하는 오디오 데이터에 액세스하는 단계;
    클라이언트 디바이스의 도킹 컨텍스트를 나타내는 정보에 액세스하는 단계, 상기 도킹 컨텍스트는 상기 오디오 데이터와 관련되고;
    복수의 언어 모델들을 식별하는 단계;
    상기 복수의 언어 모델 각각에 대해, 상기 도킹 컨텍스트에 기초하여 가중치를 결정하는 단계, 상기 가중치는 상기 언어 모델이 상기 인코딩된 음성에 대한 정확한 표기(transcription)를 나타낼 확률을 나타내고;
    상기 가중치에 기초하여 상기 복수의 언어 모델들 중에서 적어도 하나를 선택하는 단계; 및
    상기 오디오 데이터의 일부분에 대한 표기를 식별하기 위해 상기 선택된 적어도 하나의 언어 모델을 이용하여 상기 오디오 데이터에 대한 음성 인식을 수행하는 단계를 포함하는 것을 특징으로 하는 시스템.
  18. 삭제
  19. 제17항에 있어서,
    상기 오디오 데이터로 인코딩된 음성은 상기 클라이언트 디바이스에 의해 탐지되고,
    상기 도킹 컨텍스트를 나타내는 정보는 상기 클라이언트 디바이스에 의해 상기 오디오 데이터로 인코딩된 음성이 탐지되는 동안 상기 클라이언트 디바이스가 도킹 스테이션에 연결되었는지 여부를 나타내는 것을 특징으로 하는 시스템.
  20. 제17항에 있어서,
    상기 오디오 데이터로 인코딩된 음성은 상기 클라이언트 디바이스에 의해 탐지되고,
    상기 도킹 컨텍스트를 나타내는 정보는 상기 클라이언트 디바이스에 의해 상기 오디오 데이터로 인코딩된 음성이 탐지되는 동안 상기 클라이언트 디바이스가 연결된 도킹 스테이션의 타입을 나타내는 것을 특징으로 하는 시스템.
  21. 디바이스 도킹 컨텍스트를 이용하여 음성 인식(speech recognition)을 수행하는 컴퓨터 프로그램이 인코딩된 비-일시적인 컴퓨터 판독가능 저장 매체에 있어서, 상기 프로그램은 하나 이상의 컴퓨터에 의해 실행될 때 상기 하나 이상의 컴퓨터로 하여금 동작들을 수행하도록 하는 명령들을 포함하고, 상기 동작들은,
    인코딩된 음성을 포함하는 오디오 데이터에 액세스하는 단계;
    클라이언트 디바이스의 도킹 컨텍스트를 나타내는 정보에 액세스하는 단계, 상기 도킹 컨텍스트는 상기 오디오 데이터와 관련되고;
    복수의 언어 모델들을 식별하는 단계;
    상기 복수의 언어 모델 각각에 대해, 상기 도킹 컨텍스트에 기초하여 가중치를 결정하는 단계, 상기 가중치는 상기 언어 모델이 상기 인코딩된 음성에 대한 정확한 표기(transcription)를 나타낼 확률을 나타내고;
    상기 가중치에 기초하여 상기 복수의 언어 모델들 중에서 적어도 하나를 선택하는 단계; 및
    상기 오디오 데이터의 일부분에 대한 표기를 식별하기 위해 상기 선택된 적어도 하나의 언어 모델을 이용하여 상기 오디오 데이터에 대한 음성 인식을 수행하는 단계를 포함하는 것을 특징으로 하는 비-일시적인 컴퓨터 판독가능 저장 매체.
  22. 삭제
  23. 제21항에 있어서,
    상기 오디오 데이터로 인코딩된 음성은 상기 클라이언트 디바이스에 의해 탐지되고,
    상기 도킹 컨텍스트를 나타내는 정보는 상기 클라이언트 디바이스에 의해 상기 오디오 데이터로 인코딩된 음성이 탐지되는 동안 상기 클라이언트 디바이스가 도킹 스테이션에 연결되었는지 여부를 나타내는 것을 특징으로 하는 비-일시적인 컴퓨터 판독가능 저장 매체.
  24. 제21항에 있어서,
    상기 오디오 데이터로 인코딩된 음성은 상기 클라이언트 디바이스에 의해 탐지되고,
    상기 도킹 컨텍스트를 나타내는 정보는 상기 클라이언트 디바이스에 의해 상기 오디오 데이터로 인코딩된 음성이 탐지되는 동안 상기 클라이언트 디바이스가 연결된 도킹 스테이션의 타입을 나타내는 것을 특징으로 하는 비-일시적인 컴퓨터 판독가능 저장 매체.
  25. 제21항에 있어서,
    상기 인코딩된 음성은 하나 이상의 발화된(spoken) 쿼리 용어들을 포함하고,
    상기 표기는 상기 발화된 쿼리 용어들의 표기를 포함하고,
    상기 동작들은,
    검색 엔진이 상기 하나 이상의 발화된 쿼리 용어들의 상기 표기를 이용하여 검색을 수행하도록 하는 단계; 및
    상기 검색 쿼리의 결과들을 나타내는 정보를 상기 클라이언트 디바이스로 제공하는 단계를 더 포함하는 것을 특징으로 하는 비-일시적인 컴퓨터 판독가능 저장 매체.
  26. 디바이스 도킹 컨텍스트를 이용하여 음성 인식(speech recognition)을 수행하는 컴퓨터로 구현되는 방법에 있어서,
    클라이언트 디바이스에서 음성을 포함하는 오디오를 탐지하는 단계;
    상기 탐지된 오디오를 오디오 데이터로 인코딩하는 단계;
    상기 오디오 데이터를 서버 시스템으로 전송하는 단계;
    상기 클라이언트 디바이스의 도킹 컨텍스트를 식별하는 단계;
    상기 도킹 컨텍스트를 나타내는 정보를 상기 서버 시스템으로 전송하는 단계; 및
    상기 오디오 데이터의 적어도 일부의 표기를 상기 클라이언트 디바이스에서 수신하는 단계를 포함하고,
    상기 서버 시스템은,
    복수의 언어 모델 각각에 대해, 상기 도킹 컨텍스트에 기초하여 가중치를 결정하는 단계, 상기 가중치는 상기 언어 모델이 상기 인코딩된 음성에 대한 정확한 표기(transcription)를 나타낼 확률을 나타내고,
    상기 가중치에 기초하여 복수의 언어 모델들로부터 언어 모델을 선택하고,
    상기 선택된 적어도 하나의 언어 모델을 이용하여 상기 오디오 데이터에 대한 음성 인식을 수행하여 상기 표기를 생성하고,
    상기 표기를 상기 클라이언트 디바이스로 전송하는 것을 특징으로 하는 방법.
  27. 제26항에 있어서,
    상기 식별된 도킹 컨텍스트는 상기 오디오가 탐지된 시점의 상기 클라이언트 디바이스의 도킹 컨텍스트인 것을 특징으로 하는 방법.
  28. 제26항에 있어서,
    상기 클라이언트 디바이스의 도킹 컨텍스트를 나타내는 정보는 상기 클라이언트 디바이스와 상기 클라이언트 디바이스가 물리적으로 연결된 제2 디바이스 사이의 연결을 나타내는 것을 특징으로 하는 방법.
  29. 제26항에 있어서,
    상기 클라이언트 디바이스의 도킹 컨텍스트를 나타내는 정보는 상기 클라이언트 디바이스와 상기 클라이언트 디바이스가 무선으로 연결된 제2 디바이스 사이의 연결을 나타내는 것을 특징으로 하는 방법.
  30. 제6항에 있어서,
    상기 도킹 컨텍스트는 제1 도킹 스테이션을 갖는 클라이언트 디바이스의 도킹을 나타내고; 그리고
    상기 복수의 언어 모델 각각에 대해, 상기 도킹 컨텍스트에 기초하여 상기 가중치를 결정하는 단계는,
    상기 제1 도킹 스테이션이 소정의 도킹 스테이션 타입 세트로부터의 특정 도킹 스테이션 타입을 갖는지 결정하는 단계; 및
    상기 특정 도킹 스테이션 타입에 대응하는 가중치를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  31. 제6항에 있어서,
    상기 복수의 언어 모델 각각에 대해, 상기 도킹 컨텍스트에 기초하여 상기 가중치를 결정하는 단계는,
    상기 언어 모델을 사용하여 상기 오디오 데이터에 대한 표기를 식별하기 전에 각 언어 모델에 대한 상기 가중치를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  32. 제6항에 있어서,
    상기 선택된 적어도 하나의 언어 모델을 사용하여 상기 오디오 데이터에 대한 음성 인식을 수행하는 단계는 상기 적어도 하나의 언어 모델을 선택하는 것에 응답하여 발생하는 것을 특징으로 하는 방법.
KR1020137021258A 2011-01-21 2012-01-13 디바이스 도킹 컨텍스트를 이용한 음성인식 KR101932181B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161435022P 2011-01-21 2011-01-21
US61/435,022 2011-01-21
US13/040,553 US8296142B2 (en) 2011-01-21 2011-03-04 Speech recognition using dock context
US13/040,553 2011-03-04
PCT/US2012/021221 WO2012099788A1 (en) 2011-01-21 2012-01-13 Speech recognition using device docking context

Publications (2)

Publication Number Publication Date
KR20130133832A KR20130133832A (ko) 2013-12-09
KR101932181B1 true KR101932181B1 (ko) 2019-03-20

Family

ID=45607352

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137021258A KR101932181B1 (ko) 2011-01-21 2012-01-13 디바이스 도킹 컨텍스트를 이용한 음성인식

Country Status (5)

Country Link
US (2) US8296142B2 (ko)
EP (1) EP2666159B1 (ko)
KR (1) KR101932181B1 (ko)
CN (1) CN103430232B (ko)
WO (1) WO2012099788A1 (ko)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8731939B1 (en) 2010-08-06 2014-05-20 Google Inc. Routing queries based on carrier phrase registration
US9576573B2 (en) * 2011-08-29 2017-02-21 Microsoft Technology Licensing, Llc Using multiple modality input to feedback context for natural language understanding
US8452597B2 (en) * 2011-09-30 2013-05-28 Google Inc. Systems and methods for continual speech recognition and detection in mobile computing devices
US9009025B1 (en) * 2011-12-27 2015-04-14 Amazon Technologies, Inc. Context-based utterance recognition
US9711160B2 (en) * 2012-05-29 2017-07-18 Apple Inc. Smart dock for activating a voice recognition mode of a portable electronic device
US9182903B2 (en) * 2012-10-30 2015-11-10 Google Technology Holdings LLC Method and apparatus for keyword graphic selection
US9152211B2 (en) 2012-10-30 2015-10-06 Google Technology Holdings LLC Electronic device with enhanced notifications
US9158372B2 (en) 2012-10-30 2015-10-13 Google Technology Holdings LLC Method and apparatus for user interaction data storage
US9594744B2 (en) * 2012-11-28 2017-03-14 Google Inc. Speech transcription including written text
US9844018B2 (en) 2013-06-20 2017-12-12 Google Technology Holdings LLC Vehicle detection
KR102084646B1 (ko) * 2013-07-04 2020-04-14 삼성전자주식회사 음성 인식 장치 및 음성 인식 방법
US10127224B2 (en) * 2013-08-30 2018-11-13 Intel Corporation Extensible context-aware natural language interactions for virtual personal assistants
US10049656B1 (en) 2013-09-20 2018-08-14 Amazon Technologies, Inc. Generation of predictive natural language processing models
GB2524222B (en) * 2013-12-18 2018-07-18 Cirrus Logic Int Semiconductor Ltd Activating speech processing
US9460735B2 (en) * 2013-12-28 2016-10-04 Intel Corporation Intelligent ancillary electronic device
US11386886B2 (en) * 2014-01-28 2022-07-12 Lenovo (Singapore) Pte. Ltd. Adjusting speech recognition using contextual information
US9842592B2 (en) 2014-02-12 2017-12-12 Google Inc. Language models using non-linguistic context
US9780587B2 (en) * 2014-02-18 2017-10-03 Mathew Inskeep Dynamo docking station
US9412365B2 (en) 2014-03-24 2016-08-09 Google Inc. Enhanced maximum entropy models
US9286892B2 (en) * 2014-04-01 2016-03-15 Google Inc. Language modeling in speech recognition
US9401146B2 (en) * 2014-04-01 2016-07-26 Google Inc. Identification of communication-related voice commands
US9953646B2 (en) 2014-09-02 2018-04-24 Belleau Technologies Method and system for dynamic speech recognition and tracking of prewritten script
US10146521B2 (en) * 2014-09-09 2018-12-04 Airpro Diagnostics, Llc Device, system and method for updating the software modules of a vehicle
US9318107B1 (en) * 2014-10-09 2016-04-19 Google Inc. Hotword detection on multiple devices
US9892628B2 (en) 2014-10-14 2018-02-13 Logitech Europe S.A. Method of controlling an electronic device
KR101579533B1 (ko) 2014-10-16 2015-12-22 현대자동차주식회사 차량 및 그 제어 방법
EP3958255A1 (en) 2015-01-16 2022-02-23 Samsung Electronics Co., Ltd. Method and device for performing voice recognition
US10134394B2 (en) 2015-03-20 2018-11-20 Google Llc Speech recognition using log-linear model
KR102296174B1 (ko) * 2015-06-26 2021-08-31 삼성전자주식회사 전자 장치 및 그의 오디오 변환 방법
US10049666B2 (en) * 2016-01-06 2018-08-14 Google Llc Voice recognition system
US20170212886A1 (en) * 2016-01-22 2017-07-27 Microsoft Technology Licensing, Llc Configurable Generic Language Understanding Models
CN105869635B (zh) * 2016-03-14 2020-01-24 江苏时间环三维科技有限公司 一种语音识别方法及系统
CN105869629B (zh) * 2016-03-30 2018-03-20 乐视控股(北京)有限公司 语音识别方法及装置
CN105957516B (zh) * 2016-06-16 2019-03-08 百度在线网络技术(北京)有限公司 多语音识别模型切换方法及装置
US20180025731A1 (en) * 2016-07-21 2018-01-25 Andrew Lovitt Cascading Specialized Recognition Engines Based on a Recognition Policy
US9691384B1 (en) * 2016-08-19 2017-06-27 Google Inc. Voice action biasing system
US10832664B2 (en) 2016-08-19 2020-11-10 Google Llc Automated speech recognition using language models that selectively use domain-specific model components
KR20180022021A (ko) * 2016-08-23 2018-03-06 삼성전자주식회사 음성 인식 방법 및 이를 수행하는 전자 장치
US10909371B2 (en) * 2017-01-19 2021-02-02 Samsung Electronics Co., Ltd. System and method for contextual driven intelligence
US10311860B2 (en) 2017-02-14 2019-06-04 Google Llc Language model biasing system
US10748531B2 (en) * 2017-04-13 2020-08-18 Harman International Industries, Incorporated Management layer for multiple intelligent personal assistant services
US10311870B2 (en) 2017-05-10 2019-06-04 Ecobee Inc. Computerized device with voice command input capability
US10446138B2 (en) 2017-05-23 2019-10-15 Verbit Software Ltd. System and method for assessing audio files for transcription services
US11354509B2 (en) 2017-06-05 2022-06-07 Deepmind Technologies Limited Action selection based on environment observations and textual instructions
US11256866B2 (en) 2017-10-25 2022-02-22 Google Llc Natural language processing with an N-gram machine
US20190371318A1 (en) * 2018-02-15 2019-12-05 DMAI, Inc. System and method for adaptive detection of spoken language via multiple speech models
US11455986B2 (en) 2018-02-15 2022-09-27 DMAI, Inc. System and method for conversational agent via adaptive caching of dialogue tree
US11308312B2 (en) 2018-02-15 2022-04-19 DMAI, Inc. System and method for reconstructing unoccupied 3D space
US11106868B2 (en) 2018-03-06 2021-08-31 Samsung Electronics Co., Ltd. System and method for language model personalization
US10685669B1 (en) * 2018-03-20 2020-06-16 Amazon Technologies, Inc. Device selection from audio data
US10679621B1 (en) * 2018-03-21 2020-06-09 Amazon Technologies, Inc. Speech processing optimizations based on microphone array
US11011162B2 (en) * 2018-06-01 2021-05-18 Soundhound, Inc. Custom acoustic models
KR20200059703A (ko) * 2018-11-21 2020-05-29 삼성전자주식회사 음성 인식 방법 및 음성 인식 장치
US11967318B2 (en) 2019-01-08 2024-04-23 Samsung Electronics Co., Ltd. Method and system for performing speech recognition in an electronic device
US10839158B2 (en) * 2019-01-25 2020-11-17 Motorola Mobility Llc Dynamically loaded phrase spotting audio-front end
US11151332B2 (en) * 2019-03-07 2021-10-19 International Business Machines Business Dialog based speech recognition
US11069357B2 (en) 2019-07-31 2021-07-20 Ebay Inc. Lip-reading session triggering events
US20210158803A1 (en) * 2019-11-21 2021-05-27 Lenovo (Singapore) Pte. Ltd. Determining wake word strength
WO2021154563A1 (en) * 2020-01-30 2021-08-05 Google Llc Speech recognition
US20220215833A1 (en) * 2021-01-07 2022-07-07 Lenovo (Singapore) Pte. Ltd. Method and device for converting spoken words to text form
KR20240002547A (ko) * 2022-06-29 2024-01-05 삼성전자주식회사 로봇 및 그 제어 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030149561A1 (en) * 2002-02-01 2003-08-07 Intel Corporation Spoken dialog system using a best-fit language model and best-fit grammar
US20050193144A1 (en) * 2004-02-26 2005-09-01 Hassan Ahmed E. Computing device with environment aware features
US20080221902A1 (en) * 2007-03-07 2008-09-11 Cerra Joseph P Mobile browser environment speech processing facility

Family Cites Families (121)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5267345A (en) 1992-02-10 1993-11-30 International Business Machines Corporation Speech recognition apparatus which predicts word classes from context and words from word classes
EP0607615B1 (en) 1992-12-28 1999-09-15 Kabushiki Kaisha Toshiba Speech recognition interface system suitable for window systems and speech mail systems
TW323364B (ko) 1993-11-24 1997-12-21 At & T Corp
US5638487A (en) 1994-12-30 1997-06-10 Purespeech, Inc. Automatic speech recognition
US5715367A (en) 1995-01-23 1998-02-03 Dragon Systems, Inc. Apparatuses and methods for developing and using models for speech recognition
DE19533541C1 (de) 1995-09-11 1997-03-27 Daimler Benz Aerospace Ag Verfahren zur automatischen Steuerung eines oder mehrerer Geräte durch Sprachkommandos oder per Sprachdialog im Echtzeitbetrieb und Vorrichtung zum Ausführen des Verfahrens
US6397180B1 (en) 1996-05-22 2002-05-28 Qwest Communications International Inc. Method and system for performing speech recognition based on best-word scoring of repeated speech attempts
US6021403A (en) 1996-07-19 2000-02-01 Microsoft Corporation Intelligent user assistance facility
US5822730A (en) 1996-08-22 1998-10-13 Dragon Systems, Inc. Lexical tree pre-filtering in speech recognition
US6167377A (en) 1997-03-28 2000-12-26 Dragon Systems, Inc. Speech recognition language models
US6119186A (en) * 1997-05-30 2000-09-12 Texas Instruments Incorporated Computer system with environmental manager for detecting and responding to changing environmental conditions
US6182038B1 (en) 1997-12-01 2001-01-30 Motorola, Inc. Context dependent phoneme networks for encoding speech information
US6317712B1 (en) 1998-02-03 2001-11-13 Texas Instruments Incorporated Method of phonetic modeling using acoustic decision tree
US6418431B1 (en) 1998-03-30 2002-07-09 Microsoft Corporation Information retrieval and speech recognition based on language models
US7881936B2 (en) 1998-12-04 2011-02-01 Tegic Communications, Inc. Multimodal disambiguation of speech recognition
US8938688B2 (en) 1998-12-04 2015-01-20 Nuance Communications, Inc. Contextual prediction of user words and user actions
US6922669B2 (en) 1998-12-29 2005-07-26 Koninklijke Philips Electronics N.V. Knowledge-based strategies applied to N-best lists in automatic speech recognition systems
US6912499B1 (en) 1999-08-31 2005-06-28 Nortel Networks Limited Method and apparatus for training a multilingual speech model set
JP4292646B2 (ja) 1999-09-16 2009-07-08 株式会社デンソー ユーザインタフェース装置、ナビゲーションシステム、情報処理装置及び記録媒体
US6789231B1 (en) 1999-10-05 2004-09-07 Microsoft Corporation Method and system for providing alternatives for text derived from stochastic input sources
US6581033B1 (en) 1999-10-19 2003-06-17 Microsoft Corporation System and method for correction of speech recognition mode errors
US6778959B1 (en) 1999-10-21 2004-08-17 Sony Corporation System and method for speech verification using out-of-vocabulary models
US6446041B1 (en) 1999-10-27 2002-09-03 Microsoft Corporation Method and system for providing audio playback of a multi-source document
US20020111990A1 (en) 1999-11-01 2002-08-15 Wood Christopher Noah Internet based message management system
US7403888B1 (en) 1999-11-05 2008-07-22 Microsoft Corporation Language input user interface
US7392174B2 (en) 2000-03-20 2008-06-24 Freeman Robert J Natural-language processing system using a large corpus
US6678415B1 (en) 2000-05-12 2004-01-13 Xerox Corporation Document image decoding using an integrated stochastic language model
US6539358B1 (en) 2000-05-24 2003-03-25 Delphi Technologies, Inc. Voice-interactive docking station for a portable computing device
US7149970B1 (en) 2000-06-23 2006-12-12 Microsoft Corporation Method and system for filtering and selecting from a candidate list generated by a stochastic input method
US7623648B1 (en) 2004-12-01 2009-11-24 Tellme Networks, Inc. Method and system of generating reference variations for directory assistance data
US7451085B2 (en) 2000-10-13 2008-11-11 At&T Intellectual Property Ii, L.P. System and method for providing a compensated speech recognition model for speech recognition
US7043422B2 (en) 2000-10-13 2006-05-09 Microsoft Corporation Method and apparatus for distribution-based language model adaptation
US7457750B2 (en) 2000-10-13 2008-11-25 At&T Corp. Systems and methods for dynamic re-configurable speech recognition
US6876966B1 (en) 2000-10-16 2005-04-05 Microsoft Corporation Pattern recognition training method and apparatus using inserted noise followed by noise reduction
ATE391986T1 (de) 2000-11-23 2008-04-15 Ibm Sprachnavigation in webanwendungen
US6915262B2 (en) 2000-11-30 2005-07-05 Telesector Resources Group, Inc. Methods and apparatus for performing speech recognition and using speech recognition results
US20020087309A1 (en) 2000-12-29 2002-07-04 Lee Victor Wai Leung Computer-implemented speech expectation-based probability method and system
DE10100725C1 (de) * 2001-01-10 2002-01-24 Philips Corp Intellectual Pty Automatisches Dialogsystem mit Datenbanksprachmodell
US7027987B1 (en) 2001-02-07 2006-04-11 Google Inc. Voice interface for a search engine
US7778816B2 (en) 2001-04-24 2010-08-17 Microsoft Corporation Method and system for applying input mode bias
US6714778B2 (en) 2001-05-15 2004-03-30 Nokia Corporation Context sensitive web services
US20030008680A1 (en) * 2001-05-24 2003-01-09 Huh Stephen S. Using identification information obtained from a portable phone
US7225130B2 (en) 2001-09-05 2007-05-29 Voice Signal Technologies, Inc. Methods, systems, and programming for performing speech recognition
US7526431B2 (en) 2001-09-05 2009-04-28 Voice Signal Technologies, Inc. Speech recognition using ambiguous or phone key spelling and/or filtering
US6901364B2 (en) * 2001-09-13 2005-05-31 Matsushita Electric Industrial Co., Ltd. Focused language models for improved speech input of structured documents
US6959276B2 (en) 2001-09-27 2005-10-25 Microsoft Corporation Including the category of environmental noise when processing speech signals
US6950796B2 (en) 2001-11-05 2005-09-27 Motorola, Inc. Speech recognition by dynamical noise model adaptation
US7174288B2 (en) 2002-05-08 2007-02-06 Microsoft Corporation Multi-modal entry of ideogrammatic languages
US7403890B2 (en) 2002-05-13 2008-07-22 Roushar Joseph C Multi-dimensional method and apparatus for automated language interpretation
US7224981B2 (en) 2002-06-20 2007-05-29 Intel Corporation Speech recognition of mobile devices
US7570943B2 (en) 2002-08-29 2009-08-04 Nokia Corporation System and method for providing context sensitive recommendations to digital services
JP4109063B2 (ja) 2002-09-18 2008-06-25 パイオニア株式会社 音声認識装置及び音声認識方法
JP4352790B2 (ja) 2002-10-31 2009-10-28 セイコーエプソン株式会社 音響モデル作成方法および音声認識装置ならびに音声認識装置を有する乗り物
US7149688B2 (en) 2002-11-04 2006-12-12 Speechworks International, Inc. Multi-lingual speech recognition with cross-language context modeling
US6993615B2 (en) 2002-11-15 2006-01-31 Microsoft Corporation Portable computing device-integrated appliance
US7457745B2 (en) 2002-12-03 2008-11-25 Hrl Laboratories, Llc Method and apparatus for fast on-line automatic speaker/environment adaptation for speech/speaker recognition in the presence of changing environments
WO2004053836A1 (en) 2002-12-10 2004-06-24 Kirusa, Inc. Techniques for disambiguating speech input using multimodal interfaces
US7373300B1 (en) 2002-12-18 2008-05-13 At&T Corp. System and method of providing a spoken dialog interface to a website
US7698136B1 (en) 2003-01-28 2010-04-13 Voxify, Inc. Methods and apparatus for flexible speech recognition
US7805299B2 (en) 2004-03-01 2010-09-28 Coifman Robert E Method and apparatus for improving the transcription accuracy of speech recognition software
CA2638965A1 (en) 2003-05-15 2004-11-15 Ibm Canada Limited - Ibm Canada Limitee Accessing a platform independent input method editor from an underlying operating system
US20040243415A1 (en) 2003-06-02 2004-12-02 International Business Machines Corporation Architecture for a speech input method editor for handheld portable devices
US7392188B2 (en) 2003-07-31 2008-06-24 Telefonaktiebolaget Lm Ericsson (Publ) System and method enabling acoustic barge-in
JP4548646B2 (ja) 2003-09-12 2010-09-22 株式会社エヌ・ティ・ティ・ドコモ 音声モデルの雑音適応化システム、雑音適応化方法、及び、音声認識雑音適応化プログラム
US7634720B2 (en) 2003-10-24 2009-12-15 Microsoft Corporation System and method for providing context to an input method
FI20031566A (fi) 2003-10-27 2005-04-28 Nokia Corp Kielen valitseminen sanantunnistusta varten
CA2486128C (en) 2003-10-30 2011-08-23 At&T Corp. System and method for using meta-data dependent language modeling for automatic speech recognition
US20050114474A1 (en) * 2003-11-20 2005-05-26 International Business Machines Corporation Automatic configuration of the network devices via connection to specific switch ports
US7634095B2 (en) 2004-02-23 2009-12-15 General Motors Company Dynamic tuning of hands-free algorithm for noise and driving conditions
US20050246325A1 (en) 2004-04-30 2005-11-03 Microsoft Corporation Method and system for recording and accessing usage of an item in a computer system
JP3923513B2 (ja) 2004-06-08 2007-06-06 松下電器産業株式会社 音声認識装置および音声認識方法
US7299181B2 (en) 2004-06-30 2007-11-20 Microsoft Corporation Homonym processing in the context of voice-activated command systems
US7562069B1 (en) 2004-07-01 2009-07-14 Aol Llc Query disambiguation
US20060009974A1 (en) 2004-07-09 2006-01-12 Matsushita Electric Industrial Co., Ltd. Hands-free voice dialing for portable and remote devices
US7580363B2 (en) 2004-08-16 2009-08-25 Nokia Corporation Apparatus and method for facilitating contact selection in communication devices
US7200550B2 (en) 2004-11-04 2007-04-03 Microsoft Corporation Projecting dependencies to generate target language dependency structure
US7848927B2 (en) 2004-11-30 2010-12-07 Panasonic Corporation Speech recognition device and method of recognizing speech using a language model
US8009678B2 (en) 2005-03-17 2011-08-30 Microsoft Corporation System and method for generating a dynamic prioritized contact list
WO2006099621A2 (en) 2005-03-17 2006-09-21 University Of Southern California Topic specific language models built from large numbers of documents
US20070060114A1 (en) 2005-09-14 2007-03-15 Jorey Ramer Predictive text completion for a mobile communication facility
US7672833B2 (en) 2005-09-22 2010-03-02 Fair Isaac Corporation Method and apparatus for automatic entity disambiguation
EP1791114B1 (en) 2005-11-25 2009-08-12 Swisscom AG A method for personalization of a service
JP4961755B2 (ja) 2006-01-23 2012-06-27 富士ゼロックス株式会社 単語アライメント装置、単語アライメント方法、単語アライメントプログラム
US20110077943A1 (en) * 2006-06-26 2011-03-31 Nec Corporation System for generating language model, method of generating language model, and program for language model generation
US8001130B2 (en) 2006-07-25 2011-08-16 Microsoft Corporation Web object retrieval based on a language model
US7907705B1 (en) 2006-10-10 2011-03-15 Intuit Inc. Speech to text for assisted form completion
US8041568B2 (en) 2006-10-13 2011-10-18 Google Inc. Business listing search
US7890326B2 (en) 2006-10-13 2011-02-15 Google Inc. Business listing search
US8073681B2 (en) 2006-10-16 2011-12-06 Voicebox Technologies, Inc. System and method for a cooperative conversational voice user interface
US8355915B2 (en) 2006-11-30 2013-01-15 Rao Ashwin P Multimodal speech recognition system
US20080131851A1 (en) 2006-12-04 2008-06-05 Dimitri Kanevsky Context-sensitive language learning
US7941189B2 (en) 2007-02-07 2011-05-10 Denso Corporation Communicating road noise control system, in-vehicle road noise controller, and server
US20100325109A1 (en) 2007-02-09 2010-12-23 Agency For Science, Technology And Rearch Keyword classification and determination in language modelling
US20090030687A1 (en) 2007-03-07 2009-01-29 Cerra Joseph P Adapting an unstructured language model speech recognition system based on usage
US8838457B2 (en) 2007-03-07 2014-09-16 Vlingo Corporation Using results of unstructured language model based speech recognition to control a system-level function of a mobile communications facility
US8060373B2 (en) 2007-03-21 2011-11-15 At&T Intellectual Property I, L.P. System and method of identifying contact information
US7895177B2 (en) 2007-05-29 2011-02-22 Yahoo! Inc. Enabling searching of user ratings and reviews using user profile location, and social networks
US7831427B2 (en) 2007-06-20 2010-11-09 Microsoft Corporation Concept monitoring in spoken-word audio
WO2009045861A1 (en) 2007-10-05 2009-04-09 Sensory, Incorporated Systems and methods of performing speech recognition using gestures
US7953692B2 (en) 2007-12-07 2011-05-31 Microsoft Corporation Predicting candidates using information sources
US8423362B2 (en) 2007-12-21 2013-04-16 General Motors Llc In-vehicle circumstantial speech recognition
US8473276B2 (en) 2008-02-19 2013-06-25 Google Inc. Universal language input
US8121837B2 (en) 2008-04-24 2012-02-21 Nuance Communications, Inc. Adjusting a speech engine for a mobile computing device based on background noise
US20090287680A1 (en) 2008-05-14 2009-11-19 Microsoft Corporation Multi-modal query refinement
US8364481B2 (en) 2008-07-02 2013-01-29 Google Inc. Speech recognition with parallel recognition tasks
US8027973B2 (en) 2008-08-04 2011-09-27 Microsoft Corporation Searching questions based on topic and focus
US8407236B2 (en) 2008-10-03 2013-03-26 Microsoft Corp. Mining new words from a query log for input method editors
WO2010042954A1 (en) 2008-10-10 2010-04-15 Nuance Communications, Inc. Generating and processing forms for receiving speech data
WO2010046782A2 (en) 2008-10-24 2010-04-29 App Tek Hybrid machine translation
WO2010061507A1 (ja) 2008-11-28 2010-06-03 日本電気株式会社 言語モデル作成装置
US8352321B2 (en) 2008-12-12 2013-01-08 Microsoft Corporation In-text embedded advertising
US8509398B2 (en) 2009-04-02 2013-08-13 Microsoft Corporation Voice scratchpad
US20100318531A1 (en) 2009-06-10 2010-12-16 Microsoft Corporation Smoothing clickthrough data for web search ranking
US9892730B2 (en) 2009-07-01 2018-02-13 Comcast Interactive Media, Llc Generating topic-specific language models
US8364612B2 (en) 2009-09-15 2013-01-29 Microsoft Corporation Machine learning using relational databases
US8255217B2 (en) * 2009-10-16 2012-08-28 At&T Intellectual Property I, Lp Systems and methods for creating and using geo-centric language models
US8589163B2 (en) 2009-12-04 2013-11-19 At&T Intellectual Property I, L.P. Adapting language models with a bit mask for a subset of related words
US20110162035A1 (en) 2009-12-31 2011-06-30 Apple Inc. Location-based dock for a computing device
US8265928B2 (en) 2010-04-14 2012-09-11 Google Inc. Geotagged environmental audio for enhanced speech recognition accuracy
US8694313B2 (en) 2010-05-19 2014-04-08 Google Inc. Disambiguation of contact information using historical data
US8468012B2 (en) 2010-05-26 2013-06-18 Google Inc. Acoustic model adaptation using geographic information

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030149561A1 (en) * 2002-02-01 2003-08-07 Intel Corporation Spoken dialog system using a best-fit language model and best-fit grammar
US20050193144A1 (en) * 2004-02-26 2005-09-01 Hassan Ahmed E. Computing device with environment aware features
US20080221902A1 (en) * 2007-03-07 2008-09-11 Cerra Joseph P Mobile browser environment speech processing facility

Also Published As

Publication number Publication date
WO2012099788A1 (en) 2012-07-26
US8296142B2 (en) 2012-10-23
US20120191449A1 (en) 2012-07-26
CN103430232B (zh) 2016-01-13
US20120191448A1 (en) 2012-07-26
US8396709B2 (en) 2013-03-12
EP2666159B1 (en) 2019-04-24
KR20130133832A (ko) 2013-12-09
CN103430232A (zh) 2013-12-04
EP2666159A1 (en) 2013-11-27

Similar Documents

Publication Publication Date Title
KR101932181B1 (ko) 디바이스 도킹 컨텍스트를 이용한 음성인식
CN109036391B (zh) 语音识别方法、装置及系统
US9542945B2 (en) Adjusting language models based on topics identified using context
JP5480760B2 (ja) 端末装置、音声認識方法および音声認識プログラム
EP3469489B1 (en) Follow-up voice query prediction
CN107016994B (zh) 语音识别的方法及装置
US8812316B1 (en) Speech recognition repair using contextual information
KR102115541B1 (ko) 외부 데이터 소스들을 사용한 스피치 재-인식
US9640175B2 (en) Pronunciation learning from user correction
CN103971685B (zh) 语音命令识别方法和系统
AU2010346493B2 (en) Speech correction for typed input
US20080154600A1 (en) System, Method, Apparatus and Computer Program Product for Providing Dynamic Vocabulary Prediction for Speech Recognition
CN107039040A (zh) 语音识别系统
US20080126093A1 (en) Method, Apparatus and Computer Program Product for Providing a Language Based Interactive Multimedia System
JP2003308087A (ja) 文法更新システム及び方法
US11532301B1 (en) Natural language processing
US12008988B2 (en) Electronic apparatus and controlling method thereof
JP2007078943A (ja) 音響スコア計算プログラム
KR20130050132A (ko) 오류 발음 검출을 위한 단말 및 음성 인식 장치, 그리고 그의 음향 모델 학습 방법
CN113724698B (zh) 语音识别模型的训练方法、装置、设备及存储介质
JP2007163967A (ja) 音声認識装置及び音声認識方法
JP2004138914A (ja) 音声認識用辞書調整装置及び方法
JP2007280137A (ja) 音声自動翻訳装置、音声自動翻訳方法、音声自動翻訳プログラム
JP2010175869A (ja) 音声認識用辞書作成装置及び音声認識用辞書作成方法

Legal Events

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