KR102137767B1 - 동적 언어 모델 - Google Patents

동적 언어 모델 Download PDF

Info

Publication number
KR102137767B1
KR102137767B1 KR1020157001665A KR20157001665A KR102137767B1 KR 102137767 B1 KR102137767 B1 KR 102137767B1 KR 1020157001665 A KR1020157001665 A KR 1020157001665A KR 20157001665 A KR20157001665 A KR 20157001665A KR 102137767 B1 KR102137767 B1 KR 102137767B1
Authority
KR
South Korea
Prior art keywords
language model
query
probability value
user
basic
Prior art date
Application number
KR1020157001665A
Other languages
English (en)
Other versions
KR20150031309A (ko
Inventor
페드로 제이. 모레노 맨지바
마이클 에이치. 코헨
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Priority to KR1020207020870A priority Critical patent/KR102271264B1/ko
Publication of KR20150031309A publication Critical patent/KR20150031309A/ko
Application granted granted Critical
Publication of KR102137767B1 publication Critical patent/KR102137767B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • G10L15/197Probabilistic grammars, e.g. word n-grams
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/211Schema design and management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3346Query execution using probabilistic model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/38Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/387Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/005Language recognition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/24Speech recognition using non-acoustical features
    • 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
    • G10L15/265
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • G10L2015/0631Creating reference templates; Clustering
    • G10L2015/0633Creating reference templates; Clustering using lexical or orthographic knowledge sources
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Landscapes

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

Abstract

스피치 인식을 위한 컴퓨터 저장 매체 상에 인코딩된 컴퓨터 프로그램들을 포함하는 방법들, 시스템들, 및 장치들. 상기 방법들 중 하나는 스피치 인식을 위한 기초 언어 모델을 수신하는 단계와, 상기 기초 언어 모델은 기초 확률값을 갖는 제1 단어 시퀀스를 포함하고; 쿼리 문맥과 관련된 음성 검색 쿼리를 수신하는 단계와; 상기 쿼리 문맥이 커스터마이징된 언어 모델과 관련된 하나 또는 그 이상의 기준을 만족할 때 사용될 커스터마이징된 언어 모델을 결정하는 단계와; 상기 커스터마이징된 언어 모델을 획득하는 단계, 상기 커스터마이징된 언어 모델은 조절된 확률값을 갖는 상기 제1 단어 시퀀스를 포함하고, 상기 조절된 확률값은 기초 확률값이 상기 쿼리 문맥에 따라 조절된 것이고; 그리고 하나 또는 그 이상의 확률들에 기반해서 상기 음성 검색 쿼리를 텍스트 검색 쿼리로 전환하는 단계와, 상기 확률들 각각은 하나 또는 그 이상의 단어 시퀀스들 중 단어 시퀀스에 대응하고, 상기 그룹은 조절된 확률값을 갖는 상기 제1 단어 시퀀스를 포함한다.

Description

동적 언어 모델{DYNAMIC LANGUAGE MODEL}
본 명세서는 스피치 인식(speech recognition)에 관한 것이다.
전통적인 음성 검색 시스템들(conventional voice search systems)은 사용자(user)로부터의 음성 입력(voice input)을 텍스트 검색 쿼리(text search query)로 전환하는 것을 목표로 한다. 전형적인 음성 검색 시스템에서, 음성 인터페이스(voice interface)는 사용자의 음성 입력을 수신하고 스피치 인식 엔진(speech recognition engine)에 스피치 입력을 제공한다. 스피치 인식 엔진은 언어 모델(language model)에 기반해서 음성 입력의 언급된 단어들(spoken words)을 텍스트 검색 쿼리로 전환할 수 있다. 음성 검색 시스템은 이후에 검색 엔진에 텍스트 검색 쿼리를 제출한다. 그러므로, 음성 검색 시스템은 사용자로 하여금 텍스트 검색 쿼리를 타이핑함이 없이 검색들을 수행할 수 있게 한다.
음성 검색 시스템은 스피치 입력을 텍스트 검색 쿼리로 전환하기 위해 커스터마이징된 언어 모델(customized language model)을 적용한다. 음성 검색 시스템은 예를 들어, 익명의 검색 로그 데이터(anonymous search log data)의 모음(collection)을 이용해서, 구성된 기초 언어 모델(base language model)을 획득한다. 음성 검색 시스템은 예를 들어, 지리적 위치, 시간, 또는 날씨와 같은 하나 또는 그 이상의 커스터마이징 기준(customization criteria)에 기반해서 기초 언어 모델을 커스터마이징한다. 커스터마이징된 언어 모델에서, 커스터마이징 기준에 관한 하나 또는 그 이상의 단어 시퀀스들(word sequences)에 할당된 확률 값들(probability values)은 조절된다.
음성 검색 시스템이 음성 검색 쿼리를 수신할 때, 음성 검색 시스템은 음성 검색 쿼리의 문맥(context)을 결정한다. 음성 검색 시스템은 문맥의 컴포넌트(component)가 커스터마이징 기준을 만족할 때 커스터마이징된 언어 모델을 결정한다. 음성 검색 시스템은 커스터마이징된 언어 모델을 이용해서 이후에 음성 검색 쿼리를 텍스트 검색 쿼리로 전환한다.
일반적으로, 본 명세서에서 기술되는 본 발명(subject matter)의 한 혁신적인 양상은 스피치 인식을 위한 기초 언어 모델을 수신하는 것과, 상기 기초 언어 모델은 기초 확률값(base probability value)을 갖는 제1 단어 시퀀스(first word sequence)를 포함하고; 음성 검색 쿼리를 수신하는 것과, 상기 음성 검색 쿼리는 쿼리 문맥(query context)과 관련되고; 쿼리 문맥이 커스터마이징된 언어 모델과 관련된 하나 또는 그 이상의 기준을 만족할 때, 상기 커스터마이징된 언어 모델이 사용될 것이라고 결정하고; 커스터마이징된 언어 모델을 얻고, 상기 커스터마이징된 언어 모델은 조절된 확률값(adjusted probability value)을 갖는 제1 단어 시퀀스를 포함하고, 상기 조절된 확률값은 쿼리 문맥에 따라 조절된 기초 확률값이고; 그리고 하나 또는 그 이상의 확률들에 기반해서 상기 음성 검색 쿼리를 텍스트 검색 쿼리로 전환하는 것과, 하나 또는 그 이상의 확률들 각각은 하나 또는 그 이상의 단어 시퀀스들의 그룹 중의 한 단어 시퀀스에 대응하고, 제1 단어 시퀀스를 포함하는 하나 또는 그 이상의 단어 시퀀스들의 그룹은 조절된 확률값을 갖는, 행동들을 포함하는 방법들로 구현될 수 있다. 이 양상의 다른 실시예들은 대응하는 컴퓨터 시스템들, 장치들(apparatus), 및 하나 또는 그 이상의 컴퓨터 저장 디바이스들상에 기록된 컴퓨터 프로그램들을 포함하고, 각각은 상기 방법들의 행동들을 수행하도록 구성된다. 하나 또는 그 이상의 컴퓨터들의 시스템은 동작 중인 시스템으로 하여금 상기 행동들을 수행하게 하는 상기 시스템상에 설치되는 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합을 가짐에 의해 특정한 동작들 또는 행동들을 수행하도록 구성된다. 하나 또는 그 이상의 컴퓨터 프로그램들은 데이터 프로세싱 장치에 의해 실행되었을 때, 상기 장치로 하여금 상기 행동들을 수행하도록 하는 명령들을 포함하는 것에 의해 특정한 동작들 또는 행동들을 수행하도록 구성될 수 있다.
앞선 실시예들 및 다른 실시예들은 각각 선택적으로 다음의 특징들 중 하나 또는 그 이상을, 단독으로 또는 조합으로 포함한다. 커스터마이징된 언어 모델을 획득하는 것은 쿼리 문맥에 기반해서 하나 또는 그 이상의 커스터마이징된 언어 모델들로부터 커스터마이징된 언어 모델을 선택하는 것을 포함한다. 커스터마이징된 언어 모델을 획득하는 것은 하나 또는 그 이상의 언어 조절 규칙들(language adjustment rules)을 사용해서 수신된 쿼리 문맥에 기반해서 기초 언어 모델을 조절하는 것을 포함한다.
쿼리 문맥은 사용자 디바이스로부터 음성 검색 쿼리가 수신되는, 상기 사용자 디바이스의 지리적 위치를 포함한다. 방법은 지리적 위치에 관한 단어 시퀀스를 결정하는 것을 포함하고, 조절된 확률값은 단어 시퀀스와 지리적 위치 사이의 관련성의 정도에 기반해서 조절되는 기초 확률값을 포함한다. 단어 시퀀스는 상기 지리적 위치에 위치되거나 상기 지리적 위치에 근접한 구성(feature)의 이름을 포함하고; 그리고 관련성의 정도는 상기 구성과 쿼리 문맥의 지리적 위치 사이의 거리에 기반해서 결정된다. 단어 시퀀스는 임계치를 초과하는 빈도로 상기 지리적 위치로부터 수신된 과거의 쿼리의 용어(term)를 포함하고; 그리고 관련성의 정도는 상기 빈도에 기반해서 결정된다. 상기 지리적 위치는 위도(latitude) 및 경도(longitude) 좌표들의 하나 또는 그 이상의 집합들에 의해 정의되는 지리적 영역이다. 상기 쿼리 문맥은 음성 검색 쿼리와 관련되는 것을 위한 사용자 제공 식별자(user provided identifier)를 포함한다. 상기 방법은 상기 사용자 제공 식별자에 관련된 사회적 그룹(social group)을 결정하는 것과, 상기 사회적 그룹은 상기 사용자 제공 식별자에 관한 하나 또는 그 이상의 사용자 식별자들을 포함하고; 상기 사회적 그룹의 사용자 식별자들에 관련된 저장된 쿼리 로그들(stored query logs)을 사용한 단어 시퀀스의 발생 빈도를 결정하고; 그리고 상기 발생 빈도에 기반해서 기초 확률값을 조절하는 것을 포함한다. 기초 확률값을 조절하는 것은 사용자 식별자들 각각과 사용자 제공 식별자 사이의 사회적 그룹에서의 관련성의 정도에 추가적으로 기반한다. 상기 쿼리 문맥은 음성 검색 쿼리의 타임스탬프를 포함한다. 커스터마이징된 언어 모델을 획득하는 것은: 하나 또는 그 이상의 전자 문서들(electronic documents)을 식별하는 것과, 상기 하나 또는 그 이상의 전자 문서들은 쿼리 로그에 따른 검색 쿼리들의 개수와 관련되고, 상기 검색 쿼리들의 개수는 임계 개수(threshold number)를 만족하고, 상기 검색 쿼리들은 타임스탬프의 명시된 시간 윈도우 내에 발생되고, 하나 또는 그 이상의 전자 문서들 각각은 단어 시퀀스를 포함하고; 그리고 검색 쿼리들의 개수에 기반해서 기초 확률값을 조절하는 것을 포함한다. 하나 또는 그 이상의 전자 문서들 각각은 뉴스 기사이다. 상기 방법은, 음성 검색 쿼리에 대한 응답(response)으로서, 디스플레이 디바이스에서의 디스플레이를 위해 텍스트 검색 쿼리의 하나 또는 그 이상의 검색 결과들을 제공하는 것을 포함한다. 음성 검색 쿼리를 텍스트 검색 쿼리로 전환하는 것은 음성 검색 쿼리를 커스터마이징된 언어 모델의 대응하는 조절된 확률값에 기반해서 제1 단어 시퀀스를 포함하는 텍스트 검색 쿼리로 전환하는 것을 포함한다.
본 명세서에서 기술되는 본 발명의 특정한 실시예들은 다음의 이점들 중 하나 또는 그 이상을 실현하도록 구현될 수 있다. 전통적인 음성 검색 시스템과 대조적으로, 동적 언어 모델(dynamic language model)을 이용하는 음성 검색 시스템은 수신된 음성 입력에 기반해서 더 적절한 텍스트 검색 쿼리들을 제공할 수 있다. 상기 시스템이, 예를 들어, 음성 입력을 수신하는 시간, 음성 입력이 발행되는 위치, 및/또는 음성 입력을 제공하는 사용자의 사용자 프로파일(user profile)을 포함하는, 스피치에서 텍스트로의 전환(speech-to-text conversion)에서 음성 입력의 특정한 환경을 고려하기 때문에, 결과 쿼리(resulting query)는 특정한 환경에 따라 커스터마이징될 수 있다. 그러므로, 상기 시스템은 향상된 사용자 경험을 제공할 수 있다.
동적 언어 모델링 기법들(dynamic language modeling techniques)의 하나 또는 그 이상의 실시예들의 상세들은 첨부하는 도면들과 아래의 기술(description)에 제시된다. 상기 기법들의 다른 구성들(features), 목적들(objects), 및 이점들(advantages)은 상기 기술 및 도면들, 그리고 청구항들로부터 명백할 것이다.
도 1은 음성 검색(voice searching)을 제공하기 위한 시스템 예의 개관을 제공하는 블럭도이다.
도 2는 동적 언어 모델(dynamic language model)을 생성하기 위한 규칙들의 예를 도시하는 블럭도이다.
도 3은 동적 언어 모델의 지리적-기반의 규칙(geography-based rules)들의 예를 도시하는 도면이다.
도 4는 동적 언어 모델의 사회적 그룹 기반의 규칙(social group based rules)들의 예를 도시하는 도면이다.
도 5a 및 5b들은 동적 언어 모델들의 구현들의 예를 도시하는 블럭도들이다.
도 6은 커스터마이징된 언어 모델(customized language model)을 이용하기 위한 방법의 일 예의 순서도이다.
도 1은 음성 검색을 제공하기 위한 시스템의 일 예의 개관을 제공하는 블럭도이다. 음성 검색 시스템(102)은 하나 또는 그 이상의 컴퓨터들을 포함하고, 상기 컴퓨터들은 사용자로부터 사용자의 스피치 입력을 수신하고, 동적 언어 모델을 사용해서 상기 스피치 입력을 텍스트 검색 쿼리로 전환하고, 상기 텍스트 검색 쿼리에 응답하여 검색 결과들을 수신하고, 그리고 상기 스피치 입력에 응답하여 상기 검색 결과들을 제공하도록 프로그래밍된다. 상기 음성 검색 시스템(102)은 예를 들어, 서버를 포함하는 하나 또는 그 이상의 컴퓨터들 상에 또는 사용자 디바이스 상에 구현될 수 있다.
음성 검색 시스템(102)은 사용자로부터 스피치 입력(106)을 수신하도록 구성되는 음성 인터페이스(104)를 포함한다. 상기 음성 인터페이스(104)는, 예를 들어,사용자 디바이스와 결합되는 음향에서 전기로의 변환기(acoustic-to-electric transducer) 또는 센서(예를 들어, 마이크(microphone))를 포함한다. 스피치 입력(106)은 언급된 단어들의 시퀀스를 포함한다.
음성 검색 시스템(102)은 스피치 인식 서브시스템(speech recognition subsystem)(108)을 포함한다. 상기 스피치 인식 서브시스템(108)은 상기 음성 검색 시스템(102)의 소프트웨어 컴포넌트(software component)일 수 있고, 상기 스피치 인식 서브시스템(108)은 스피치 입력(106)의 언급된 단어들을 텍스트 검색 쿼리(115)로 전환하도록 구성된다. 상기 스피치 인식 서브시스템(108)은 기초 언어 모델(110)을 포함한다. 상기 기초 언어 모델(110)은 단어들의 시퀀스와 관련된 확률값들을 포함할 수 있다. 기초 언어 모델(110)에서, 주어진 단어 시퀀스(예를 들어, Wa, Wb, ... , Wm)는, 확률값(예를 들어, P(Wa, Wb, ... , Wm))과 관련되고, 상기 Wa, Wb, ... , Wm 각각은 단어, 구(phrase) 또는 문장을 포함한다. 상기 기초 언어 모델(110)은 다수의 단어 시퀀스들 및 상기 단어 시퀀스들 각각과 관련된 확률값을 포함할 수 있다.
상기 기초 언어 모델(110)은 N-그램 모델(N-gram model)(예를 들어, 유니그램 모델(unigram model) 또는 멀티그램 모델(multigram model))일 수 있다. 도시된 예에서, 상기 기초 언어 모델(110)은 바이그램 언어 모델(bigram language model)이다. 상기 기초 언어 모델은 단어 시퀀스 (Wx, Wy)와 관련된 확률값 P(Wx, Wy)을 포함한다. 상기 확률값 P(Wx, Wy)는 다음의 수식을 이용해서 계산될 수 있다:
P(Wx, Wy)
Figure 112015006485272-pct00001
P(Wx|<s>)P(Wy|Wx), (1)
여기서 P(Wx, Wy)는 검색 쿼리에서 나타나는 단어 시퀀스 (Wx, Wy)의 확률이고, <s>는 검색 쿼리의 시작을 표시하고, P(Wx|<s>)는 <s>가 주어질 때, 단어 Wx가 <s>에 후속될 조건부 확률을 표시하고, 그리고 P(Wy|Wx)는 단어 Wx가 주어질 때, 단어 Wy가 단어 Wx에 후속될 조건부 확률을 표시한다.
이에 덧붙여, 기초 언어 모델(110)은 단어 시퀀스 (Wp, Wq, Wr)와 관련된 확률값 P(Wp, Wq, Wr)을 포함할 수 있다. 상기 확률값 P(Wp, Wq, Wr)은, 예를 들어, 다음의 수식을 이용해서 바이그램 모델로 계산될 수 있다:
P(Wp, Wq, Wr)
Figure 112015006485272-pct00002
P(Wp|<s>)P(Wq|Wp)P(Wr|Wq) (2)
상기 확률 값들 P(Wx|<s>), P(Wy|Wx), P(Wp|<s>), P(Wq|Wp) 및 P(Wr|Wq)는 과거에 수신된 저장된 쿼리들로부터 결정될 수 있다.
도시를 위해, 상기 단어 시퀀스 (Wp, Wq, Wr)는, 예를 들어 다른 검색 쿼리들과 비교해서 더 자주 나타나는 검색 쿼리와 같은, 일반 공중 사이에 인기 있는 검색 쿼리를 나타낼 수 있다. 단어 시퀀스 (Wx, Wy)는 특수한 환경들 하에서만 인기 있는 검색 쿼리를 나타낼 수 있다. 예를 들어, (Wx, Wy)는 예를 들어, 마을 ABC와 같은, 지리적 영역에 위치되는 전문 레스토랑(specialty restaurant)의 이름일 수 있다. 음성 검색 시스템(102)은 지리적 영역 ABC 외부에 있는 사용자들로부터 보다는 지리적 영역 ABC 내에 있는 사용자들로부터 쿼리 용어들 (Wx, Wy)을 갖는 검색 쿼리를 수신할 가능성이 더 높다.
이 예시에서, 지리적 영역 ABC는, 쿼리들이 그로부터 수신되는 많은 지리적 영역들 중에서 특별히 인기 있는 지리적 영역이 아니다. 그러므로, 상기 기초 언어 모델에서, P(Wp, Wq, Wr)은 P(Wx, Wy)보다 클 수 있고, 이는, 일반적으로, 스피치 인식 서브시스템(108)이 스피치 입력(106)을 텍스트 검색 쿼리 (Wx, Wy)보다는 텍스트 검색 쿼리 (Wp, Wq, Wr)로 전환할 가능성이 더 높다는 것을 표시한다. 확률값들의 랭킹에 따라서, 기초 언어 모델(110)에서 (Wp, Wq, Wr)은 제1 위치로 랭크될 수 있고, 반면에 (Wx, Wy)는 제1 위치 뒤의 제n 위치쯤에 랭크될 수 있다.
상기 스피치 인식 서브시스템(108)은 모델 커스터마이징 모듈(model customization module)(112)을 포함한다. 모델 커스터마이징 모듈(112)은 스피치 인식 서브시스템(108)의 소프트웨어 컴포넌트일 수 있고, 상기 모델 커스터마이징 모듈(112)은 컴퓨팅 디바이스로 하여금 하나 또는 그 이상의 조절 인자들(adjustment factors)에 동적으로 기반해서 상기 기초 언어 모델(110)을 조절하도록 그리고 커스터마이징된 언어 모델(114)을 생성하도록 구성된다. 상기 조절 인자들은 상기 기초 언어 모델(110)과는 개별적인 정보 항목들(information items)이고 이는 상기 스피치 입력(106)이 특정한 텍스트 검색 쿼리로 전환될 가능성에 영향을 미칠 수 있다. 상기 모델 커스터마이징 모듈(112)은 예를 들어, 하나 또는 그 이상의 위치, 쿼리 타임스탬프, 또는 다른 파라미터들(parameters)에 기반해서 상기 조절 인자들을 결정할 수 있다.
예를 들어, 주어진 스피치 입력에 대해, 기초 언어 모델(110)에서 확률값 P(Wx, Wy)은 확률값 P(Wp, Wq, Wr)보다 낮을 수 있다. 모델 커스터마이징 모듈(112)은, 하나 또는 그 이상의 조절 인자들이 고려되었을 때, 예를 들어 특정한 위치 조건이 만족되었을 때, 커스터마이징된 언어 모델(114)에서의 확률값 P(Wx, Wy)이 기초 언어 모델(110)에서의 확률값 P(Wx, Wy)보다 높도록 확률값 P(Wx, Wy)을 증가시킬 수 있다. 모델 커스터마이징 모듈(112)은 커스터마이징된 언어 모델(114)을 위치(예를 들어, 지리적 영역 ABC)와 관련시킬 수 있다. 상기 모델 커스터마이징 모듈(112)은 커스터마이징된 언어 모델(114)에서의 하나 또는 그 이상의 특정한 단어 시퀀스들의 확률이 기초 언어 모델(110)에서의 동일한 단어 시퀀스들의 확률과 다르게 쿼리 시간(query time)에서 커스터마이징된 언어 모델(114)을 생성하도록 기초 언어 모델(110)을 동적으로 조절할 수 있다.
스피치 인식 서브시스템(108)은 스피치 입력(106)과 관련된 쿼리 문맥(117)을 수신하도록 구성된다. 쿼리 문맥(117)은 환경을 기술하는 데이터를 포함하고, 상기 환경 하에서 스피치 입력(106)이 생성된다. 쿼리 문맥(117)은 위치 정보를 포함할 수 있고, 상기 위치 정보는 스피치 입력(106)이 발행되는 곳을 표시한다. 예를 들어, 위치 정보는 위도 및 경도 파라미터, 글로벌 포지셔닝 시스템 좌표들, 또는 인터넷 프로토콜(IP) 주소를 포함할 수 있고, 이들에 기반해서 위치가 추정될 수 있다. 위치 정보는 사용자 디바이스로부터 획득될 수 있다.
스피치 인식 서브시스템(108)은 스피치 입력(106)을 텍스트 검색 쿼리(115)로 전환하기 위해서 기초 언어 모델(110)을 이용할지 아니면 커스터마이징된 언어 모델(114)을 이용할지를 결정하도록 구성된다. 예를 들어, 만약, 스피치 인식 서브시스템(108)이, 쿼리 문맥(117)에 기반해서, 스피치 입력(106)을 제공하는 사용자가 지리적 영역 ABC에 위치된다고 결정하면, 상기 스피치 인식 서브시스템(108)은 커스터마이징된 언어 모델(114)을 사용할 수 있다. 하지만, 만약 스피치 인식 서브시스템(108)이, 쿼리 문맥(115)에 기반해서, 스피치 입력(106)을 제공하는 사용자가 지리적 영역 ABC에 위치되지 않는다고 결정하면, 상기 스피치 인식 서브시스템(108)은 스피치 입력(106)을 텍스트 검색 쿼리(115)로 전환하기 위해 기초 언어 모델(110)을 사용할 수 있다.
그러므로, 만약 상기 스피치 인식 서브시스템(108)이 스피치 입력(106)을 제공하는 사용자가 지리적 영역 ABC에 위치된다고 결정하면, 스피치 인식 서브시스템(108)은 스피치 인식에 있어서 커스터마이징된 언어 모델(114)을 적용하고, 그리고 스피치 입력(106)으로부터 텍스트 스트링(text string)을 생성한다. 커스터마이징된 언어 모델(114)에서의 확률값들의 랭킹에 따라서, 커스터마이징된 언어 모델(114)의 증가된 확률값 P(Wx, Wy)은 확률값 P(Wp, Wq, Wr)보다 높기 때문에, 나머지 모두가 동일할 때, 스피치 입력(106)은 (Wp, Wq, Wr)보다는 (Wx, Wy)에 관련될 가능성이 높다. 따라서, 스피치 인식 서브시스템(108)은 스피치 입력(106)을 용어들 (Wx, Wy)을 포함하는 텍스트 스트링으로 전환하거나, 예를 들어, 쿼리 제안 리스트의 상단 또는 상단 근방에, 사용자로 하여금 텍스트 검색 쿼리를 선택하도록 하는 것과 같이, (Wx, Wy)가 (Wp, Wq, Wr)보다 높게 위치된 옵션들의 리스트를 디스플레이하는 것을 제공한다.
만약 스피치 인식 서브시스템(108)이 스피치 입력(106)을 제공하는 사용자가 커스터마이징된 언어 모델과 관련되는 특정한 지리적 영역 내에 위치되지 않는다고 결정하는 경우라면, 상기 스피치 인식 서브시스템(108)은 스피치 인식에 있어서 기초 언어 모델(110)을 적용하고, 그리고 예를 들어, 용어들 (Wp, Wq, Wr)을 포함하는 스피치 입력(106)으로부터 텍스트 스트링을 생성한다.
음성 검색 시스템(102)은 스피치 인식 서브시스템(108)에 의해 발생된 텍스트 스트링을 검색 엔진(116)에 텍스트 검색 쿼리(115)로서 제출한다. 텍스트 검색 쿼리(115)는 커스터마이징된 언어 모델(114)에 기반해서 검색 용어 "Wx Wy"를 포함할 수 있거나 기초 언어 모델(110)에 기반해서 "Wp Wq Wr"을 포함할 수 있다. 검색 엔진(116)은 음성 검색 시스템(102)에 결합되는 웹 검색 엔진을 포함할 수 있다. 음성 검색 시스템(102)은 검색 엔진(116)으로부터 하나 또는 그 이상이 쿼리 결과들(118)을 수신하고, 그리고 프레젠테이션 인터페이스(120) 상에 디스플레이를 위해 쿼리 결과들(118)을 제공하고, 상기 프레젠테이션 인터페이스(120)는, 예를 들어, 웹 브라우저와 같은 사용자 디바이스 상의 컴포넌트일 수 있거나, 예를 들어, 동적 웹 페이지와 같은 서버의 컴포넌트일 수 있다. 프레젠테이션 인터페이스(120)는 디스플레이 인터페이스 또는 음성 출력 인터페이스를 포함할 수 있다. 프레젠테이션 인터페이스(120)는 사용자에게, 예를 들어, 디스플레이된 쿼리 결과 페이지(122)와 같은, 하나 또는 그 이상의 쿼리 결과들(118)을 제시할 수 있고, 상기 쿼리 결과들은, 예를 들어, 결과인 "Wx Wy 레스토랑"을 포함할 수 있다.
도 2는 예를 들어, 커스터마이징된 언어 모델(114)와 같은, 커스터마이징된 언어 모델을 생성하기 위한 규칙의 예를 도시하는 블럭도(200)이다. 동적 언어 모델을 구현하는 시스템은 기초 언어 모델(202)을 획득한다. 상기 시스템은 또다른 시스템으로부터 기초 언어 모델(202)을 획득할 수 있다. 상기 시스템은 예를 들어, RandLM 또는 CMU-캠브리지 통계 언어 모델링 툴키트(CMU-Cambridge Statistical Language Modeling Toolkit)와 같은 공개적으로 이용가능한 언어 모델링 기술들을 사용하는 검색 로그들(204)로부터 기초 언어 모델(202)을 대안적으로 구축(build)할 수 있다. 상기 시스템은 상기 시스템과 통신하거나 상기 시스템의 부분인 검색 엔진으로부터 상기 검색 로그들을 획득할 수 있다. 몇몇의 구현들에서, 상기 시스템은 시스템에 의해 지원되는 언어 각각에 대해 구별되는 기초 언어 모델(202)을 획득한다.
상기 시스템은 지리적 언어 모델 규칙들(206)을 사용해서 기초 언어 모델(202)을 커스터마이징 할 수 있다. 상기 지리적 언어 모델 규칙들(206)은 기초 언어 모델(202)에서의 단어 시퀀스의 확률값을 조절하기 위한 조절 인자들을 포함할 수 있고, 이는 상기 단어 시퀀스가 명시된 지리적 영역 내에서 또는 상기 명시된 지리적 영역으로부터 수신되는 지리적 구성에 관한 것일 때이다. 상기 단어 시퀀스는 예를 들어, 이름, 주소, 또는 지리적 구성의 특질(characteristic)인 것에 의해서 상기 지리적 구성에 관한 것일 수 있다.
상기 지리적 구성은 상기 지리적 영역에 관한 어떤 구성이든, 또는 상기 지리적 영역에 위치된 어떤 엔티티(entity)든지 포함할 수 있다. 예를 들어, 지리적 구성들은 회사들, 랜드마크들, 지역 관청들, 거리들, 공원들, 학교들, 또는 특정한 위치에서 흔히 발생하는 이벤트들을 포함할 수 있다. 상기 지리적 영역들은 국가들, 주들, 군들, 도시들, 사업 지역들(business districts), 또는 위도들 및 경도들에 의해 결정되는 그리드들(grids)을 포함할 수 있다.
지리적 언어 모델 규칙들(206)은 지리적 영역들에 의해 그룹화될 수 있다. 지리적 영역 각각에 대해서, 상기 시스템은 지리적 영역에서의 지리적 구성들에 관한 단어 시퀀스들을 조절 인자와 관련시킨다. 상기 조절 인자는 다른 지리적 영역들과 비교해서, 명시된 지리적 영역으로부터의 검색 쿼리가 명시된 지리적 영역에서의 지리적 구성에 관한 단어 시퀀스를 더 포함할 수 있는 가능성을 표시한다. 상기 조절 인자는 기초 언어 모델(202)에서의 단어 시퀀스와 관련된 확률 값에 적용되는 승수(multiplier)를 포함할 수 있다.
예를 들어, 지리적 언어 모델 규칙은 단어 시퀀스 (Wx, Wy)에 대한 조절 인자를 포함할 수 있고, 상기 단어 시퀀스 (Wx, Wy)는, 이 예시에서, 지리적 영역 ABC 내에 위치된 회사의 이름이다. 상기 조절 인자는 단어 시퀀스 (Wx, Wy)의 확률값 P(Wx, Wy)을 증가시키는 승수를 포함할 수 있다. 상기 시스템은 커스터마이징된 언어 모델을 생성하기 위해 기초 언어 모델(202)에서의 확률값 P(Wx, Wy)에 승수를 적용한다. 상기 커스터마이징된 언어 모델은 지리적 영역 ABC와 관련될 수 있다. 상기 시스템은 상기 스피치 입력(예를 들어, 음성 쿼리)을 제공하는 사용자가 지리적 영역 ABC에 위치된다는 것을 상기 시스템이 결정할 때 스피치 인식을 위한 커스터마이징된 언어 모델을 사용한다.
상기 시스템은 지리적 데이터 저장소(208), 검색 로그들(204), 또는 상기 둘모두로부터의 정보에 기반해서 지리적 언어 모델 규칙들(206)을 생성할 수 있다. 상기 지리적 데이터 저장소(208)는 지리적 영역 각각과 관련되는 지리적 구성들의 이름들 및 위치들을 저장한다. 상기 시스템은 등록된 회사 이름들, 공적 기록들, 또는 사용자 입력들의 리스트로부터 상기 이름들 및 위치들을 획득할 수 있다. 예를 들어, 지리적 영역 ABC에서의 이름 (Wx, Wy)을 갖는 레스토랑의 사업자(operator)는 웹 "옐로우 페이지(yellow page)" 또는 지리적 데이터 저장소(208)에서의 공공 사업 목록들의 다른 데이터베이스에 지리적 영역 ABC와 관련된 이름 (Wx, Wy)을 등록할 수 있다. 상기 데이터베이스에 기반해서, 상기 시스템은 상기 이름 (Wx, Wy)을 지리적 영역 ABC와 관련시킬 수 있다. 상기 지리적 데이터 저장소(208)에 저장된 이름들은 기초 언어 모델(202)에서의 단어 시퀀스에 매핑(map)시키기 위해 정규화될(normalized)(예를 들어, 소문자로 씌어지거나(de-capitalized), 철자가 정정되거나(spell corrected), 또는 그렇지 않으면 표준화 되는(standardized) 것과 같은) 수 있다.
상기 시스템은 쿼리 빈도 정보(query frequency information)를 생성하기 위해 검색 로그들(204)을 분석할 수 있고, 상기 쿼리 빈도 정보는 상기 시스템이 조절 인자의 크기를 결정하기 위해 사용한다. 상기 쿼리 빈도 정보는 특정한 쿼리가 상기 시스템에 의해 또는 상기 검색 엔진에 의해 수신된 횟수의 카운트를 포함할 수 있다. 상기 시스템은 임계치(threshold)를 사용해서 쿼리 빈도 정보를 필터링(filtering)할 수 있다. 상기 시스템은 확률값을 증가시킬지를 결정하기 위해 임계치를 이용할 수 있다. 검색 로그들(204)에 저장된 정보를 이용해서, 상기 시스템은 다양한 위치들에서 사용자들로부터 수신된 쿼리 용어들 (Wx, Wy)을 포함하는 음성 또는 텍스트 검색 쿼리의 빈도를 결정할 수 있다. 만약 상기 시스템이, 상기 사용자들이 지리적 영역 ABC에 위치되거나 그 근처에 위치될 때 상기 빈도가 임계치를 초과한다고 결정한다면, 상기 시스템은 상기 기초 언어 모델(202)에서의 상기 값 P(Wx, Wy)을 증가시키는 조절 인자를 갖는 지리적 언어 모델을 명시할 수 있다.
상기 시스템은 사회적 그룹 언어 모델 규칙들(210)을 사용해서 상기 기초 언어 모델(202)을 추가적으로 또는 대안적으로 커스터마이징 할 수 있다. 상기 사회적 그룹 언어 모델 규칙들(210)은 사용자의 사회적 그룹에 기반해서 상기 기초 언어 모델(202)의 확률값을 조절하기 위한 조절 인자들을 포함한다. 상기 기초 언어 모델(202)에서의 단어 시퀀스에 대한 상기 확률값은 사용자 A의 사회적 그룹에서의 사용자들에 의해 제출된 정보에 기반해서 사용자 A에 대해 조절된다. 상기 정보는, 예를 들어, 상기 사회적 그룹에서의 상기 사용자들의 하나 또는 그 이상의 저장된 쿼리들을 포함할 수 있다.
만약 상기 시스템이 사용자 A의 사회적 그룹 중의 사용자들로부터 특정한 쿼리를 임계치를 초과하는 빈도로 수신한다면, 상기 시스템은 상기 쿼리에 대응하는 단어 시퀀스의 확률값을 조절할 수 있다. 예를 들어, 상기 시스템은, 사용자 A의 사회적 그룹 내의 사용자들로부터의 쿼리들에 기반해서, 단어 시퀀스 (Wa, Wb, Wc, Wd)를 포함하는 임계 개수의 검색 쿼리들을 수신한 것인지를 결정할 수 있다. 몇몇의 구현들에서, 쿼리들은 제출하는 사용자가 가려지도록(obscured)(예를 들어, 저장된 쿼리들로부터 정보를 식별하는 소스들을 제거함에 의해) 쿼리 로그들에서 익명화된다. 상기 결정에 기반해서, 상기 시스템은 사용자 A의 사회적 그룹 내의 사용자들에 대해서뿐만 아니라, 사용자 A에 대해서도 상기 단어 시퀀스 (Wa, Wb, Wc, Wd)에 대한 확률값을 증가시키기 위해서 기초 언어 모델(202)을 조절할 수 있다. 그러므로, 사용자 A의 사회적 그룹 내의 사용자들에 대해서, 상기 시스템은 예를 들어, (We, Wf, Wg, Wh)와 같은, 다른 단어 시퀀스보다는 단어 시퀀스 (Wa, Wb, Wc, Wd)로서 스피치 입력을 인식할 가능성을 증가시키고, 상기 단어 시퀀스 (We, Wf, Wg, Wh)는 기초 언어 모델(202)에서 더 높은 확률을 갖는다.
상기 시스템은 사회적 그룹 데이터 저장소(212), 검색 로그들(204), 또는 둘 모두로부터 획득된 정보에 기반해서 사회적 그룹 언어 모델 규칙들(210)을 생성할 수 있다. 상기 사회적 그룹 데이터 저장소(212)는 사용자들을 관련짓는, 그리고 관련지어진 사용자들 각각이 언어 모델들을 커스터마이징하기 위해 시스템에 제출하기 위해 선택하는 정보를 저장할 수 있다. 상기 정보는 연결된 사용자들의 서클(circle)을 포함할 수 있고, 상기 서클은 상기 사용자에 사회적으로 연결된 것으로 식별되는 하나 또는 그 이상의 사용자들을 포함한다. 상기 정보는 사회적 사이트(social site), 가상 그룹, 가상 채팅방, 연락처 목록, 또는 위의 것들의 어떤 조합으로부터 검색될 수 있다. 상기 검색 로그들(204)은 쿼리 빈도 정보를 저장하고, 상기 쿼리 빈도 정보는 상기 시스템에 의해 수신된 특정한 쿼리의 횟수의 카운트를 포함할 수 있고 사용자의 사회적 그룹에서의 사용자 식별자들에 대응할 수 있다.
상기 시스템은 이벤트 언어 모델 규칙들(214)을 사용해서 기초 언어 모델(202)을 추가적으로 또는 대안적으로 커스터마이징 할 수 있다. 상기 이벤트 언어 모델 규칙들(214)은 상기 기초 언어 모델(202)에서의 확률값을 조절하기 위한 조절 인자들을 포함할 수 있다. 단어 시퀀스가 인기 있는 이벤트와 관련될 때, 상기 단어 시퀀스와 관련된 상기 확률값은 증가될 수 있다. 상기 시스템은 이벤트 데이터 저장소(216), 또는 검색 로그들(204), 또는 둘 모두에 저장된 정보에 기반해서 이벤트 언어 모델 규칙들(214)을 생성한다. 상기 명시된 이벤트들은 스피치 입력이 특정한 단어 시퀀스로 전환될 수 있는 확률에 영향을 줄 수 있는 어떤 이벤트들이든지 포함할 수 있다.
몇몇의 구현들에서, 상기 시스템은 시간 이벤트들에 기반해서 확률값들을 조절한다. 상기 시스템은 하루 중 시간 또는 한 주 중의 하루에 기반해서 상기 이벤트 언어 모델 규칙들(214)을 생성한다. 예를 들어, 상기 시스템은 하루 중 명시된 시간에서(예를 들어, 정오와 오후 1시 사이, 또는 오후 6시와 오후 8시 사이), 상기 시스템은 레스토랑들에 관한 쿼리의 개수 또는 퍼센트를 수신하는지를 결정할 수 있고, 여기서 상기 개수 또는 퍼센트는 임계치를 초과한다. 상기 시스템은 상기 개수 또는 퍼센트에 기반해서 레스토랑들에 관한 기초 언어 모델(202)에서의 단어 시퀀스의 확률값들을 증가시킬 수 있다.
몇몇의 구현들에서, 상기 시스템은 날씨 이벤트들에 기반해서 확률값들을 조절한다. 상기 시스템은 날씨 정보에 기반해서 이벤트 언어 모델 규칙들(214)을 생성할 수 있다. 상기 시스템은 주어진 날씨 상황들에서, 단어 시퀀스들의 명시된 집합에 조절된 확률값들이 주어지도록 구성될 수 있다. 상기 이벤트 데이터 저장소(216)는 하나 또는 그 이상의 날씨 서비스들로부터 수신된 정보를 포함할 수 있다. 날씨 서비스들 각각이 명시된 임계치를 초과하는 강수 확률의 날씨 예보를 제공할 때, 도로 상황 보고들, 홍수 경고, 또는 지붕 수리에 관한 서비스들의 이름들은 더 높은 가중치가 주어질 수 있다.
몇몇의 구현들에서, 상기 시스템은 인기 있는 뉴스 이벤트들을 사용한다. 상기 시스템은 하나 또는 그 이상의 뉴스 보고들에서의 주제들의 인기(popularity)에 기반해서 특정한 이벤트 언어 모델 규칙들(214)을 생성할 수 있다. 예를 들어, 상기 이벤트 데이터 저장소(216)는 다양한 뉴스 소스들로부터 정보를 저장할 수 있다. 단어 시퀀스가 뉴스 소스들에 임계치를 초과하는 빈도로 나타날 때, 상기 시스템은 상기 단어 시퀀스와 관련된 확률값을 증가시키는 이벤트 언어 모델 규칙(214)을 생성할 수 있다.
도 3은 지리적 정보에 기반한 동적 언어 모델들의 예를 도시한 도면이다. 지리적 정보에 기반한 동적 언어 모델을 구현하는 시스템에서, 상기 시스템은 단어 시퀀스들에 지리적 정보로 주석을 단다(annotate). 쿼리 시간에서, 상기 시스템은 사용자 디바이스의 지리적 위치에 기반한 동적 언어 모델을 이용하고 상기 사용자 디바이스로부터 스피치 입력이 수신된다.
상기 시스템은 사용자 디바이스로부터 위치 정보를 수신하도록 구성되는 위치 인터페이스를 포함한다. 몇몇의 구현들에서, 상기 위치 인터페이스는 위치-인식 사용자 디바이스(location-aware user device)로부터 위도, 경도, 또는 고도 정보를 수신하도록 구성되는 다양한 모듈들을 포함할 수 있다. 몇몇의 구현들에서, 상기 위치 인터페이스는 다양한 모듈들을 포함할 수 있고 상기 모듈들은 사용자 디바이스의 인터넷 프로토콜(IP) 주소, 상기 사용자 디바이스가 접속된 무선 액세스 포인트, 또는 다른 정보에 기반해서 상기 사용자 디바이스의 위치를 결정하도록 구성된다. 상기 시스템은 사용자 디바이스가 서로 다른 지리적 위치들에 위치될 때 동일한 스피치 입력을 서로 다른 텍스트 검색 쿼리들로 전환할 수 있다.
상기 시스템은 지리적 영역을 가상 블럭들(310)의 모음으로 분리한다. 가상 블럭들(310)의 모음에서의 블럭 각각은 상기 블럭에 대해 커스터마이징된 언어 모델에 대응할 수 있다. 상기 블럭들은 블럭 각각의 중심 또는 블럭 각각의 하나 또는 그 이상의 꼭지점들(vertices)의 위도와 경도 좌표에 기반해서 정의될 수 있다. 몇몇의 구현들에서, 상기 블럭들은 블럭 각각의 모서리(corner), 및 블럭 사이즈에 기반해서 정의될 수 있다. 상기 블럭 사이즈는 킬로미터, 마일, 또는 위도 또는 경도로 정의될 수 있다.
상기 시스템은 가상 블럭들(310)의 모음의 블럭 7에 위치된 엔티티(312)를 식별한다. 상기 엔티티(312)는 블럭 7과 영구적으로 또는 반-영구적으로(quasi-permanently) 관련된 구성일 수 있다. 예를 들어, 상기 엔티티(312)는 블럭 7에 위치된 회사일 수 있고, 상기 회사는 상기 시스템에 등록되거나 상기 시스템에 결합된 레지스트리(registry)에 등록된 회사 이름(예를 들어, 단어 시퀀스 (Wx, Wy))을 갖는다. 상기 시스템은 블럭 7과 관련된 동적 언어 모델을 생성할 수 있다. 본 동적 언어 모델에서, 상기 엔티티와 관련된 상기 단어 시퀀스의 확률값 P(Wx, Wy)은상기 확률값이 증가되도록, 승수(multiplier)에 의해 조절된다.
상기 시스템은 가상 블럭들(310)의 모음의 블럭 각각에 대한 커스터마이징된 언어 모델을 생성할 수 있다. 커스터마이징된 언어 모델 각각에서, 상기 엔티티(312)와 관련된 단어 시퀀스의 확률값은 블럭 7과 상기 동적 언어 모델이 관련된 블럭 사이의 거리에 기반해서 결정되는 양에 의해 조절된다. 특별히, 상기 양은 거리에 기반해서 디스카운트(discount)될 수 있다. 상기 거리는, 예를 들어, 유클리드 거리(Euclidean distance), 맨해튼 거리(Manhattan distance), 또는 추정 여행 시간에 의해 측정된 거리일 수 있다. 블럭 7의 바로 이웃인 블럭들(예를 들어, 블럭 4, 5, 및 8)에 대해서, 대응하는 동적 언어 모델들은 확률값 P(Wx, Wy)에 대한 제1 조절량을 가질 수 있다. 블럭 7의 떨어진 이웃들인 블럭들(예를 들어, 블럭들 1-3, 6, 및 9)에 대해서, 대응하는 동적 언어 모델들은 확률값 P(Wx, Wy)에 대한 제2 조절량을 가질 수 있고, 상기 제2 조절량은 상기 제1 조절량보다 적다. 블럭 7로부터 더 멀리 있는 블럭들에 대해서(미도시), 확률값 P(Wx, Wy)은 조절되지 않은 채로 남을 수 있다.
상기 시스템이 사용자 디바이스로부터 스피치 입력을 수신할 때, 상기 시스템은 상기 사용자 디바이스가 위치된 가상 블럭들(310)의 모음을 결정한다. 상기 시스템은 이후에 스피치 입력을 텍스트 검색 쿼리로 전환하기 위해 상기 블럭들과 관련된 언어 모델을 적용한다.
도 4는 사용자의 사회적 그룹에 기반한 동적 언어 모델(400)의 예를 도시한 도면이다. 주어진 사용자에 대해서, 상기 시스템은 상기 단어 시퀀스가 상기 사용자의 사회적 그룹의 사용자들에 의해 임계치를 만족하는 빈도로 사용되는 때에 언어 모델에서의 단어 시퀀스의 확률값들을 조절한다. 상기 빈도는 절대 빈도(absolute frequency) 또는 상대 빈도(relative frequency)일 수 있다.
상기 시스템은 특정한 사회적 사이트의 등록된 사용자(사용자 A)의 사용자 데이터(402)를 수신할 수 있다. 사용자 데이터(402)는 사용자 A에 대한 사용자 식별자 및 사용자 A가 스피치 인식 향상을 요구한 이후의 사용자 A에 의해 제출된 사용자 정보를 포함할 수 있다. 상기 사용자 정보는, 예를 들어, 사용자의 집의 위치, 사용자의 선호, 및 상기 사용자와 관련된 다른 정보를 포함할 수 있다.
상기 시스템은 상기 사용자 데이터(402)에 기반해서 사용자 A에 대한 언어 모델 조절 규칙들(404)을 생성한다. 상기 시스템은 위치, 선호, 및 다른 정보에 기반해서 언어 모델 규칙들(404)을 발생시킬 수 있다. 예를 들어, 만약 사용자 A가 특정한 쿼리 용어를 포함하는 쿼리를 제출한 경우라면, 그리고 만약 사용자 A가 그 쿼리를 명시된 횟수(예를 들어, 한번, 또는 한번 이상)만큼 제출했다면, 상기 시스템은 상기 쿼리 용어를 포함하는 단어 시퀀스의 확률을 증가시키는 언어 모델 조절 규칙들(404) 내의 한 규칙을 생성할 수 있다.
상기 시스템은 상기 사용자에 의해 제공되거나 권한이 부여된 상기 사용자 데이터(402)에 기반해서 사용자 A의 사회적 네트워크를 식별할 수 있다. 상기 사회적 네트워크는 사용자에 의해 명시된(user-specified) 사회적 연결 서클(예를 들어, 친구 서클), 사용자 A의 연락처 목록에 기반한 사용자들의 목록, 또는 상기 사용자와 사용자 A 사이의 공통 활동들(예를 들어, 채팅방 참여)에 기반한 사용자들의 목록을 포함할 수 있다. 상기 시스템은 상기 사용자들과 사용자 A 사이의 관련성의 정도를 결정할 수 있다. 예를 들어, 상기 시스템은 사용자 B와 사용자 C는 사용자 A에 직접 관련되고 그러므로 사용자 A와 제1 정도(first degree)로 관련된다는 것을 결정할 수 있다. 상기 시스템은 사용자들 D, E, F 및 G는 사용자 B 및 C를 통해 사용자 A와 관련되고, 그러므로 사용자 A와 제2 정도(second degree)로 관련된다는 것을 결정할 수 있다.
상기 시스템은 이 사용자들이 이들 및 이들의 사회적 연결 서클에서의 사용자들에 대한 스피치 인식을 향상시켜 달라고 요청한 뒤에, 사용자 A의 사회적 네트워크에서의 사용자들(사용자 B부터 사용자 G까지)로부터 사용자 데이터들(412, 414, 416, 418, 420 및 422)을 수신한다. 상기 시스템은 사용자 B부터 사용자 G까지에 대한 모델 조절 규칙들(432, 434, 436, 438, 440, 및 442)을 각각 생성할 수 있다. 상기 시스템은 사용자 데이터(412-422) 또는 모델 조절 규칙들(432-442), 또는 둘 모두에 기반해서 언어 모델 조절 규칙들(404)의 적어도 한 부분을 생성할 수 있다.
몇몇의 구현들에서, 시스템은 커스터마이징된 언어 모델을 구축하기 위해서 사용자의 사회적 연결들의 쿼리들을 사용한다. 예를 들어, 사용자 데이터(412)에 따라, 사용자 B는 특정 쿼리 용어들을 하나 또는 그 이상의 횟수들만큼 포함하는 쿼리를 이용해서 검색을 수행했다. 상기 시스템은 사용자 B의 검색의 빈도 및 사용자 B와 사용자 A 사이의 관련성의 정도에 기반해서 상기 쿼리 용어들을 포함하는 단어 시퀀스의 확률값을 증가시킨다.
몇몇의 구현들에서, 상기 시스템은 커스터마이징된 언어 모델을 구축하기 위해서 사용자의 친구들의 쿼리들 외의 정보를 사용한다. 만약, 예를 들어, 사용자 B 및 사용자 C가 사용자 A의 참여와 함께 또는 사용자 A의 참여가 없이 이름 "Wx Wy"을 갖는 레스토랑을 논의했거나, 쿼리 "Wx Wy"를 사용하여 검색했다면, 상기 시스템은 사용자 A에 대한 커스터마이징된 언어 모델에서 단어 시퀀스 (Wx, Wy)에 대한 확률을 증가시킬 수 있다.
사용자 A의 사회적 네트워크의 적용은 사용자 각각의 프라이버시 세팅들(privacy settings)에 기반할 수 있다. 예를 들어, 상기 시스템은 만약 사용자 B 및 사용자 C 각각이 친구들의 서클 사이에 검색 정보를 공유하도록 허가를 부여한 경우, 또는 만약 사용자 B 및 사용자 C 각각이 친구들의 언어 모델들을 조정(tune)하기 위해 상기 사용자의 정보를 사용하도록 하는 허가를 부여한 경우라면, 사용자A의 상기 언어 모델을 조절하기 위해 사용자 B 및 사용자 C의 검색을 사용할 수 있다.
상기 시스템은 관련성의 정도에 기반해서 조절의 양을 결정할 수 있다. 더 낮은 관련성의 정도는 2명의 사용자들 사이의 더 가까운 관계를 나타내고 2명의 사용자들이 공유된 관심사들 및 검색 습관들을 갖을 더 높은 가능성을 표시한다. 따라서, 상기 시스템은 관련성의 정도가 증가할수록 조절의 양을 감소시킨다. 예를 들어, 상기 시스템은 만약 증가가 사용자 B에 의해 수행된 쿼리에 기반하는 경우 제1 양으로 사용자 A에 대한 단어 시퀀스에 대한 확률값을 증가시킬 수 있다. 상기 시스템은 만약 증가가 사용자 D에 의해 수행된 쿼리에 기반하는 경우 제2 양으로 사용자 A에 대한 단어 시퀀스에 대한 확률값을 이후에 증가시킬 수 있다. 상기 제1 양은 제2 양보다 클 수 있다.
상기 시스템은 쿼리 시간에 식별된 언어 모델 조절 규칙들(404)을 이용해서 기초 언어 모델을 커스터마이징 할 수 있거나, 또는 쿼리 시간 전의 커스터마이징된 언어 모델을 저장할 수 있다. 상기 시스템이 사용자 A로부터 스피치 입력을 수신할 때, 상기 시스템은 사용자 A의 식별자에 기반해서 사용자 A에 대한 언어 모델 조절 규칙들(404)을 식별하고, 상기 언어 모델 조절 규칙들(404)을 사용해서 기초 언어 모델을 커스터마이징 할 수 있다. 대안적으로 또는 추가적으로, 상기 시스템은 사용자 A에 특수한 미리-저장된 커스텀 언어 모델(pre-stored custom language model)을 사용한 스피치 인식을 수행할 수 있다.
도 5a 및 5b들은 동적 언어 모델들의 구현들의 예를 도시하는 블럭도들이다. 동적 언어 모델 기법들을 구현하는 시스템은 도 5a, 도 5b에 기술된 것을 참조로 하여, 또는 둘의 조합으로 된 구현들을 채택할 수 있다.
도 5a는 구현들의 예를 도시하는 블럭도(500)이고, 여기에서 상기 시스템은 예를 들어, 수신된 쿼리에 응답한 시간 외의 어떤 시간에서와 같이, 음성 쿼리와 비동기(asynchronous)인 커스터마이징된 언어 모델들(502, 504, 506 및 508)을 생성한다. 커스터마이징된 언어 모델들(502, 504, 506 및 508)의 각각은 기초 언어 모델의 몇몇의 또는 모든 단어 시퀀스들을 포함하고, 그리고 상기 커스터마이징된 언어 모델들 각각은 상기 커스터마이징된 언어 모델을 적용하기 위한 하나 또는 그 이상의 기준에 관련된다. 커스터마이징된 언어 모델에서의 개별적인 단어 시퀀스들과 관련된 확률값들은 상기 적용 기준(application criteria)에 기반해서 결정된다. 적용 기준 각각은 위치, 시간, 날씨, 또는 다른 인자들(예를 들어, 나이, 성, 소득 레벨, 또는 일반적 집단의 구매 습관에 의해 정의되는 사용자 세그먼트들(user segments)을 명시할 수 있다. 예를 들어, 상기 동적 언어 모델(506)은 적용 기준과 관련되고 상기 적용 기준은 명시된 날씨 상황 하에서 명시된 시간 윈도우에서 명시된 위치에서 적용되는 동적 언어 모델(506)을 명시한다. 상기 시스템은 주기적으로 또는 트리거 이벤트(triggering event)상에서 커스터마이징된 언어 모델들(502, 504, 506 및 508)를 구축하거나 업데이트할 수 있다. 상기 트리거 이벤트는 예를 들어, 사용자들을 세그먼트하는 새로운 방식이 구현된 것을 포함할 수 있다.
쿼리 시간에서, 상기 시스템은 스피치 입력을 수신하고 상기 스피치 입력의 문맥(context)을 획득한다. 예를 들어, 상기 시스템은 스피치 입력의 사용자의 위치, 시간을 결정할 수 있고, 상기 위치 및 시간에 기반해서 날씨 서비스로부터 날씨 정보를 검색할 수 있다. 상기 시스템은 사용자가 상기 시스템에 로그인할 때 상기 사용자에 의해 제공되는 사용자 식별자와 관련된 프로파일을 사용해서 상기 사용자가 속한 사용자 세그먼트를 식별할 수 있다. 상기 시스템은 상기 문맥을 언어 모델 선택기(501)에 제출한다. 상기 언어 모델 선택기(510)는 스피치 입력의 문맥을 커스터마이징된 언어 모델들(502, 504, 506 또는 508)에 관련된 적용 기준과 매칭하고, 상기 매칭에 기반해서 동적 언어 모델을 식별하도록 구성되는 시스템의 컴포넌트이다.
예를 들어, 상기 시스템은 사용자 위치, 쿼리 시간, 및 상기 사용자 위치에서의 쿼리 시간의 날씨를 수신할 수 있다. 상기 언어 모델 선택기(510)는 사용자 위치가 동적 언어 모델(506)과 관련된 적용 기준의 적용 가능 위치를 만난다는 것과, 쿼리 시간이 적용 기준의 적용 가능 시간 윈도우 내라는 것과, 사용자 위치에서의 쿼리 시간의 날씨가 적용 기준의 적용 가능 날씨와 매칭된다는 것을 결정할 수 있다. 따라서, 상기 언어 모델 선택기(510)는 커스터마이징된 언어 모델(506)을 선택한다. 상기 시스템은 이후에 커스터마이징된 언어 모델(506)을 사용해서 사용자의 스피치 입력을 텍스트 검색 쿼리로 전환하도록 스피치 인식을 수행한다. 만약, 예를 들어, 상기 시스템이 서로 다른 위치에서 또는 서로 다른 시간에서 동일한 스피치 입력을 수신한다면, 상기 시스템은 서로 다른 언어 모델(예를 들어, 언어 모델(504))을 적용할 수 있다.
도 5b는 구현들의 예를 도시한 블럭도(520)이고, 상기 시스템은 언어 모델(522)을 동적으로 조절한다. 상기 언어 모델(522)은 기초 언어 모델 또는 커스터마이징된 언어 모델일 수 있다.
상기 시스템은 언어 모델 변형기(524)를 포함한다. 상기 언어 모델 변형기는 사용자 디바이스 또는 서버 디바이스의 컴포넌트이고, 상기 언어 모델 변형기는 언어 모델(522)을 조절하기 위해 하나 또는 그 이상의 규칙들(526)을 적용하도록 구성된다. 상기 언어 모델 변형기(524)는 개인화된 정보, 위치 정보, 날짜/시간 정보, 날씨 정보, 최근 뉴스/시사(news/current affairs) 정보, 또는 하나 또는 그 이상의 사용자들로부터의 쿼리 스트림을 포함하는 입력들을 수신한다. 상기 언어 모델 변형기(524)는 상기 입력에 기반해서 언어 모델(522)에 상기 규칙들(526)을 적용한다. 상기 규칙들(526)의 적용 후에, 상기 언어 모델(522)은 커스터마이징된 어넝 모델이 될 수 있다.
예를 들어, 규칙들(526) 중 하나는, 명시된 시간의 기간 내에(예를 들어, 상기 규칙들(526)이 상기 언어 모델(522)에 적용되기 전의 지난 3일) 그리고 임계치를 만족하는 빈도로 용어가 나타날 때, 상기 시스템이 그 용어를 포함하는 단어 시퀀스의 확률값을 증가시킴을 명시할 수 있다. 또다른 규칙은 만약 사용자가 상기 시스템으로 하여금 상기 정보를 수집하도록 허용하기로 선택한 경우라면, 사용자는 상기 시스템으로 하여금 상기 사용자에 의해 제출된 쿼리들을 분석하고 상기 사용자들과 관련된 검색 패턴을 결정하도록 허용할 수 있음을 명시할 수 있다.
몇몇의 구현들에서, 상기 언어 모델 변형기(524)는 쿼리 시간에서 언어 모델(522)을 조절할 수 있다. 몇몇의 구현들에서, 상기 언어 모델 변형기(524)는 특정한 사용자를 위한 또는 특정한 현재 이벤트에 응답하여 커스터마이징된 언어 모델을 생성할 수 있고, 그리고 사용자 디바이스 또는 서버 디바이스 상에서 커스터마이징된 언어 모델을 저장할 수 있다.
도 6은 커스터마이징된 언어 모델을 사용하기 위한 방법(600)의 일 예의 순서도(flowchart)이다. 편의를 위해, 상기 방법은 방법(600)을 수행하는 시스템(예를 들어, 위에 기술된)에 관해 기술될 것이다. 상기 시스템은 스피치 인식을 위한 기초 언어 모델(base language model)을 수신한다(602). 상기 기초 언어 모델은 다수의 단어 시퀀스들을 포함하고, 단어 시퀀스 각각은 확률값과 관련된다. 상기 단어 시퀀스들은 텍스트 스트링, 압축된 텍스트 스트링들, 오브젝트들, 인덱스들로서 나타내질 수 있다. 상기 기초 언어 모델은 사용자의 모음의 비동기 쿼리 로그들(anonymous query logs)로부터 발생될 수 있다.
상기 시스템은 음성 검색 쿼리를 수신한다(604). 상기 음성 검색 쿼리는 쿼리 문맥과 관련된다. 상기 쿼리 문맥은 사용자 디바이스의 지리적 위치를 포함할 수 있고, 상기 사용자 디바이스로부터 상기 음성 검색 쿼리가 수신된다. 상기 지리적 위치는 지점(point) 또는 지리적 영역일 수 있다. 상기 지점 또는 지리적 영역은 예를 들어, 위도, 경도 또는 고도 좌표들의 하나 또는 그 이상의 집합들에 의해서 정의될 수 있다. 상기 쿼리 문맥은 예를 들어, 쿼리의 타임스탬프, 또는 상기 음성 검색 쿼리를 제공하는 사용자의 사용자 식별자를 포함할 수 있다.
상기 시스템은 상기 쿼리 문맥이 상기 커스터마이징된 언어 모델과 관련된 하나 또는 그 이상의 기준을 만족할 때 사용되어야 할 커스터마이징된 언어 모델을 결정한다(605). 만약 상기 쿼리 문맥이 어떤 기준도 충족시키지 않으면, 상기 시스템은 음성 검색 쿼리를 텍스트 검색 쿼리로 전환하기 위해 기초 언어 모델을 사용할 수 있다.
상기 시스템은 커스터마이징된 언어 모델을 획득한다(606). 상기 커스터마이징된 언어 모델은 조절된 확률값에 대응하는 하나 또는 그 이상의 단어 시퀀스들을 포함한다. 상기 조절된 확률값은, 상기 쿼리 문맥이 하나 또는 그 이상의 조절 기준과 매칭될 때, 상기 쿼리 문맥에 따라 조절된 기초 확률값이다. 커스터마이징된 언어 모델을 획득하는 것은 적어도 하나의: (1) 쿼리 문맥에 기반해서 하나 또는 그 이상의 미리-저장된(pre-stored) 커스터마이징된 언어 모델들로부터 커스터마이징된 언어 모델을 선택하는 것, 또는 (2) 커스터마이징된 언어 모델을 발생시키기 위해 하나 또는 그 이상의 언어 조절 규칙들을 사용해서 수신된 쿼리 문맥에 기반해서 쿼리 시간에서 기초 언어 모델을 조절하는 것을 포함할 수 있다. 상기 커스터마이징된 언어 모델은 도 1 내지 도 5에 관해 위에 기술된 것과 같이 획득될 수 있다.
몇몇의 구현들에서, 상기 쿼리 문맥은 사용자 디바이스의 지리적 위치를 포함하고, 상기 사용자 디바이스로부터 음성 검색 쿼리가 수신된다. 상기 시스템은 지리적 위치에 관한 하나 또는 그 이상의 단어 시퀀스들을 식별할 수 있다. 단어 시퀀스의 상기 조절된 확률값은 상기 단어 시퀀스와 상기 지리적 위치 사이의 관련성의 정도에 기반해서 조절된 기초 확률값을 포함한다. 예를 들어, 상기 단어 시퀀스는 상기 사용자 디바이스의 지리적 위치에 위치된 또는 상기 지리적 위치에 근접한 구성(feature)의 이름(예를 들어, 회사, 공원, 또는 스트리트)을 포함할 수 있다. 상기 관련성의 정도는 상기 구성과 상기 쿼리 문맥의 지리적 위치 사이의 거리에 기반해서 결정될 수 있다. 상기 지리적 위치는 위도, 경도, 또는 고도 좌표들의 하나 또는 그 이상의 집합들에 의해 정의된 지리적 영역일 수 있다.
몇몇의 구현들에서, 단어 시퀀스는 임계치를 초과하는 빈도로 상기 지리적 위치로부터 수신된 과거 쿼리의 용어를 포함한다. 상기 관련성의 정도는 상기 빈도에 기반해서 결정된다. 예를 들어, 만약 상기 시스템이 특정 위치에서 용어들 "정부 테스트에 의한 최고 기후(climate best by government test)"을 포함하는 쿼리들의 충분한 수 또는 퍼센트를 수신하면, 상기 시스템은 그 특정한 위치와 관련된 커스터마이징된 언어 모델에서의 단어 시퀀스 "정부 테스트에 의한 최고 기후"에 대한 확률값을 증가시킨다. 몇몇의 구현들에서, 상기 수 또는 퍼센트가 높을수록, 확률값의 증가 또한 더 높아진다.
몇몇의 구현들에서, 상기 쿼리 문맥은 상기 음성 검색 쿼리와 관련되는 것에 대한 사용자 제공 식별자(user provided identifier)(예를 들어, 사용자 이름 또는 사용자 식별자)를 포함한다. 상기 시스템은 상기 사용자 제공 식별자와 관련된 사회적 그룹을 결정한다. 상기 사회적 그룹은 저장된 사용자의 사회적 네트워크일 수 있다. 상기 사회적 그룹은 사회적 네트워크 내의 사용자 제공 식별자에 관한 하나 또는 그 이상의 사용자 식별자들을 포함할 수 있다. 상기 시스템은 저장된 쿼리 로그들을 사용해서 상기 단어 시퀀스의 발생 빈도를 결정하고, 상기 저장된 쿼리 로그들은 사회적 그룹 내의 사용자 식별자들과 관련되고, 상기 시스템은 발생 빈도에 기반해서 기초 확률값을 조절한다. 예를 들어, 상기 시스템은 검색 용어들 "수영 대회(swim meet)"을 포함하는 음성 또는 텍스트 중 하나인, 검색 쿼리가 육아(parenting)에 관해서 그룹 내에서 높은 빈도로 발생함을 결정할 수 있다. 상기 시스템은 단어 시퀀스 "수영 대회"에 대한 확률값이 기초 언어 모델에서보다 더 높은 커스터마이징된 언어 모델을 생성하고, 그리고 육아 그룹에서 사용자에 의해 스피치 입력에 대한 커스터마이징된 언어 모델을 적용할 수 있다. 상기 시스템은 추가적으로 또는 대안적으로 상기 사회적 그룹 내의 관련성의 정도에 기반해서 기초 확률값을 조절할 수 있다.
몇몇의 구현들에서, 상기 쿼리 문맥은 음성 검색 쿼리의 타임스탬프를 포함한다. 커스터마이징된 언어 모델을 획득하는 것은 하나 또는 그 이상의 전자 문서들(예를 들어, 뉴스 기사들)을 식별하는 것을 포함한다. 개별적으로 또는 모음으로서, 상기 전자 문서들 각각은 쿼리 로그에 따른 다수의 검색 쿼리들과 관련된다. 전자 문서는 만약 상기 전자 문서가 검색 엔진에 의해 쿼리의 검색 결과로서 지정되거나 사용자에 의한 검색 결과들의 리스트로부터 목적지로서 선택된 경우에 쿼리와 관련될 수 있다. 상기 시스템은 하나 또는 그 이상의 단어 시퀀스들을 포함하는 전자 문서들을 식별한다. 만약 상기 관련된 검색 쿼리들이 타임스탬프로부터 명시된 시간 윈도우(예를 들어, 하루 또는 1주일) 내에서 발생한다면, 상기 시스템은 커스터마이징된 언어 모델에서 하나 또는 그 이상의 단어 시퀀스들과 관련된 확률 값들을 증가시킬 수 있다. 예를 들어, 만약, 시간의 기간동안, 많은 교육 관련 뉴스 기사들이 단어 시퀀스 "호랑이 엄마(tiger mom)"를 포함한다면, 이는 기초 언어 모델에서 낮은 확률값과 관련될 수 있고, 커스터마이징된 언어 모델에서 더 높은 확률값과 관련될 수 있다.
상기 시스템은 상기 음성 검색 쿼리를 텍스트 검색 쿼리로 전환하고, 상기 텍스트 검색 쿼리는 상기 커스터마이징된 언어 모델에서의 대응하는 조절된 확률값에 기반한 단어 시퀀스를 포함한다(608). 상기 시스템은 디스플레이 디바이스 상에서의 디스플레이를 위해 음성 검색 쿼리의 응답으로서 텍스트 검색 쿼리의 하나 또는 그 이상의 검색 결과들을 제공할 수 있다(610).
본 발명의 실시예들 및 본 명세서에 기술된 동작들은 본 명세서에 개시된 구조들 및 이들의 구조적 등가물들을 포함하는 디지털 전자 회로망에서, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서, 또는 하나 또는 그 이상의 이들의 조합들에서 구현될 수 있다. 본 명세서에 기술된 본 발명의 실시예들은, 예를 들어, 컴퓨터 프로그램 명령들의 하나 또는 그 이상의 모듈들과, 상기 모듈들은 실행을 위해 컴퓨터 저장 매체 상에 인코딩되고, 상기 실행은 데이터 프로세싱 장치에 의해서 또는 상기 데이터 프로세싱 장치의 동작을 제어하기 위해서인 것과 같이, 하나 또는 그 이상의 컴퓨터 프로그램들로서 구현될 수 있다. 대안적으로 또는 추가적으로, 상기 프로그램 명령들은 예를 들어, 데이터 프로세싱 장치에 의한 실행을 위해 적절한 수신기 장치에 전송을 위해 정보를 인코딩하기 위해 발생되는 기계에 의해 발생된 전기적, 광학적, 또는 전자기적 신호와 같은 인공적으로 발생된 전파 신호 상에 인코딩될 수 있다. 컴퓨터 저장 매체는, 컴퓨터에 의해 판독 가능한 저장 디바이스, 컴퓨터에 의해 판독 가능한 저장 기판, 임의의 또는 직렬의 액세스 메모리 어레이 또는 디바이스, 또는 이들의 하나 또는 그 이상의 조합일 수 있거나 이들에 포함될 수 있다. 더욱이, 컴퓨터 저장 매체가 전파 신호가 아닌 반면에, 컴퓨터 저장 매체는 인공적으로-발생된 전파 신호에 인코딩된 컴퓨터 프로그램 명령들의 소스 또는 목적지일 수 있다. 상기 컴퓨터 저장 매체는 또한, 예를 들어, 다수의 CD들, 디스크들, 또는 다른 저장 디바이스들과 같은 하나 또는 그 이상의 개별적이고 물리적인 컴포넌트들 또는 매체일 수 있거나 이들에 포함될 수 있다.
본 명세서에 기술된 동작들은 데이터 프로세싱 장치에 의해 데이터 상에서 수행되는 동작들로서 구현될 수 있고, 상기 데이터는 하나 또는 그 이상의 컴퓨터에 의해 판독 가능한 저장 디바이스들에 저장되거나 다른 소스들로부터 수신된다.
상기 용어 "데이터 프로세싱 장치"는 데이터를 프로세싱하기 위한 모든 종류의 장치, 디바이스들, 및 머신들을 망라하고, 예시의 방식으로서 프로그래밍 가능한 프로세싱 유닛, 컴퓨터, 시스템 온 칩, 퍼스널 컴퓨터 시스템, 데스크탑 컴퓨터, 랩탑, 노트북, 넷북 컴퓨터, 메인프레임 컴퓨터 시스템, 핸드헬드 컴퓨터(handheld computer), 워크스테이션, 네트워크 컴퓨터, 어플리케이션 서버, 저장 디바이스 또는 카메라, 캠코더, 셋탑박스, 모바일 디바이스, 비디오 게임 콘솔, 핸드헬드 비디오 게임 디바이스와 같은 소비자 전자 디바이스 또는 스위치, 모뎀, 라우터와 같은 주변 디바이스 또는 일반적인 어떤 타입의 컴퓨팅 또는 전자 디바이스, 또는 이들의 다수, 또는 이들의 조합들을 포함한다. 상기 장치는, 예를 들어, 필드 프로그래밍 가능한 게이트 어레이(field programmable gate array, FPGA) 또는 주문형 집적회로(application-specific integrated circuit, ASIC)와 같은 특수한 목적의 논리 회로망을 포함할 수 있다. 상기 장치는 또한, 하드웨어에 추가하여, 예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 시스템, 크로스-플랫폼 런타임 환경, 가상 머신, 또는 이들 중 하나 또는 그 이상의 조합으로 구성되는 코드와 같이, 문제가 되는 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드를 또한 포함할 수 있다. 상기 장치 및 실행 환경은 웹 서비스들, 분배된 컴퓨팅 및 그리드 컴퓨팅 인프라구조들(grid computing infrastructure)과 같은 다양한 서로 다른 컴퓨팅 모델 인프라구조들을 실현할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트, 또는 코드로도 알려짐)은 컴파일된 또는 해석된 언어들, 선언적인 또는 절차적인 언어들을 포함하는 어떤 형태의 프로그래밍 언어로든지 기록될 수 있고, 컴퓨터 프로그램은 독립된 프로그램(stand-alone program)으로 또는 모듈, 컴포넌트, 서브루틴, 오브젝트, 또는 컴퓨팅 환경에서의 사용에 적합한 다른 유닛으로 사용되는 것을 포함하는 어떤 형태로서든지 배치될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 대응할 수 있으나, 상기 파일에 꼭 대응할 필요는 없다. 프로그램은, 문제가 되는 프로그램의 전용인 단일 파일에서, 또는 다수의 좌표로 된 파일들(예를 들어, 하나 또는 그 이상의 모듈들, 서브-프로그램들, 또는 코드의 부분들)에서, 다른 프로그램들 또는 데이터(예를 들어, 마크업 언어 문서(markup language document)에 저장된 하나 또는 그 이상의 스크립트들)를 갖고 있는 파일의 부분에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 다수의 컴퓨터상에서 실행되도록 배치될 수 있고, 상기 컴퓨터들은 한 장소에 위치되거나 다수의 장소들을 통해 분배되고 통신 네트워크를 통해 상호접속(interconnect)된다.
본 명세서에 기술된 프로세스들 및 논리 흐름들은 입력 데이터 상에서 동작하고 출력을 발생시킴에 의한 행동들을 수행하기 위해 하나 또는 그 이상의 컴퓨터 프로그램들을 실행하는 하나 또는 그 이상의 프로그래밍 가능한 프로세싱 유닛들에 의해 수행될 수 있다. 상기 프로세스들 및 논리 흐름들은 또한, 예를 들어, 필드 프로그래밍 가능한 게이트 어레이 또는 주문형 집적 회로와 같은, 특수한 목적의 논리 회로망에 의해 수행될 수 있고 또한 장치는 상기 특수한 목적의 논리 회로망으로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세싱 유닛들은, 예시의 방식으로서, 일반적인 목적의 마이크로프로세서들 및 특수한 목적의 마이크로프로세서들 둘 다와, 그리고 어떤 종류의 디지털 컴퓨터의 어떤 하나 또는 그 이상의 프로세싱 유닛들을 포함한다. 일반적으로, 프로세싱 유닛은 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령들 및 데이터를 수신한다. 컴퓨터의 필수적인 소자들은 명령들에 부합하게 행동들을 수행하는 프로세싱 유닛과 그리고 명령들 및 데이터를 저장하기 위한 하나 또는 그 이상의 메모리 디바이스들이다. 또한, 일반적으로, 컴퓨터는 예를 들어, 자기적, 자기광학적 디스크들, 또는 광학적 디스크들과 같은 데이터를 저장하기 위한 하나 또는 그 이상의 대용량 저장 디바이스들(mass storage devices)로부터 데이터를 수신하거나 상기 대용량 저장 디바이스들에 데이터를 전송하거나, 둘 모두를 하는 것을 포함하거나, 이에 동작적으로 결합된다. 하지만, 컴퓨터는 그러한 디바이스들을 가질 필요가 없다. 더욱이, 컴퓨터는 예를 들어, 아주 조금만 언급하자면, 모바일 전화, 퍼스널 디지털 어시스턴트(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, 글로벌 포지셔닝 시스템(GPS) 수신기, 네트워크 라우팅 디바이스, 또는 휴대용 저장 디바이스(예를 들어, 유니버설 시리얼 버스(USB) 플래시 드라이브)와 같은 또 다른 디바이스에 임베디드될 수 있다. 컴퓨터 프로그램 명령들 및 데이터를 저장하는데 적합한 디바이스들은 비-휘발성 메모리, 미디어 및 메모리 디바이스들의 모든 형태들을 포함하고, 이들은 예시적인 반도체 메모리 디바이스들의 방식으로, 예를 들어, EPROM, EEPROM, 및 플래시 메모리 디바이스들;과 자기적 디스크들, 예를 들어, 내부 하드 디스크들 또는 제거 가능한 디스크들;과 자기광학적 디스크들(magneto-optical disks); 및 CD-ROM 및 DVD-ROM 디스크들을 포함한다. 상기 프로세싱 유닛 및 상기 메모리는, 특수한 목적의 논리 회로망에 의해 보충되거나 상기 특수한 목적의 논리 회로망에 포함될 수 있다.
사용자와의 인터랙션을 제공하기 위해서, 본 명세서에 기술된 본 발명의 실시예들은, 사용자 및 키보드 및 예를 들어, 마우스 또는 트랙볼(trackball)과 같은, 사용자가 이에 의해 입력을 컴퓨터에 제공할 수 있는 포인팅 디바이스에 정보를 디스플레이하기 위해, 예를 들어, 캐쏘드 레이 튜브(cathode ray tube, CRT) 또는 리퀴드 크리스탈 디스플레이(liquid crystal display,LCD) 모니터와 같은, 디스플레이 디바이스를 갖는 컴퓨터 상에서 구현될 수 있다. 다른 종류들의 디바이스들은 사용자와의 인터랙션을 위해서 제공되기 위해 사용될 수도 있다; 예를 들어, 상기 사용자에게 제공되는 피드백은, 예를 들어 시각 피드백, 청각 피드백, 또는 촉각 피드백과 같은, 어떤 형태의 감각 피드백(sensory feedback)일 수 있다; 그리고 사용자로부터의 입력은 음향(acoustic), 스피치, 또는 촉각 입력을 포함하는, 어떤 형태로든 수신될 수 있다. 추가로, 컴퓨터는 사용자에 의해 사용되는 디바이스에 문서들을 보내고 상기 디바이스로부터 문서들을 수신함에 의해 사용자와 인터랙션할 수 있다; 예를 들어, 웹 브라우저로부터 수신된 요청들에 응답하여 사용자의 클라이언트 디바이스 상의 웹 브라우저에 웹 페이지들을 보냄에 의해서이다.
본 명세서에 기술된 본 발명의 실시예들은 예를 들어, 데이터 서버로서, 백-엔드 컴포넌트(back-end component)를 포함하거나 또는 예를 들어, 어플리케이션 서버와 같은, 미들웨어 컴포넌트(middleware component)를 포함하거나, 또는 예를 들어, 사용자가 본 명세서에 기술된 본 발명의 구현을 통해 인터랙션 할 수 있는 그래픽 유저 인터페이스 또는 웹 브라우저를 갖는 클라이언트 컴퓨터와 같은, 프론트-엔드 컴포넌트(front-end component)를 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 상기 시스템의 컴포넌트들은 예를 들어, 통신 네트워크와 같은 디지털 데이터 통신의 어떤 형태 또는 매체에 의해 상호접속 될 수 있다. 통신 네트워크들의 예들은 로컬 영역 네트워크(local area network, "LAN") 및 광역 네트워크(wide area network, "WAN"), 상호-네트워크(예를 들어, 인터넷), 및 피어-투-피어 네트워크들(peer-to-peer networks)(예를 들어, 즉석(ad hoc) 피어-투-피어 네트워크)을 포함한다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트 및 서버들은 일반적으로 서로 원격이고 전형적으로 통신 네트워크를 통해 인터랙션한다. 클라이언트 및 서버의 관계는 상기 각각의 컴퓨터들 상에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들에 의해서 일어난다. 몇몇의 실시예들에서, 서버는 클라이언트 디바이스(예를 들어, 클라이언트 디바이스와 인터랙션하는 사용자에게 데이터를 디스플레이하고 상기 사용자로부터 사용자 입력을 수신하기 위한 목적들로)에 데이터(예를 들어, HTML 페이지)를 전송한다. 클라이언트 디바이스에서 발생되는 데이터는 서버에서 클라이언트 디바이스(예를 들어, 사용자 인터랙션의 결과)로부터 수신될 수 있다.
하나 또는 그 이상의 컴퓨터들의 시스템은 시스템상에 설치된 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합에 의해서 특정 행동들을 수행하도록 구성될 수 있고, 이는 동작에서 시스템으로 하여금 행동들을 수행하도록 한다. 하나 또는 그 이상의 컴퓨터 프로그램들은 데이터 프로세싱 장치에 의해 실행되었을 때, 상기 장치로 하여금 상기 행동들을 수행하게 하는 명령들을 포함함에 의해서 특정 행동들을 수행하도록 구성된다.
(예를 들어, 간결성을 위해 단순히 문서라고 언급될 수 있는)전자 문서는, 파일에 대응할 수 있지만, 상기 파일에 필연적으로 대응하지는 않는다. 문서는 다른 문서들을 갖고 있는 파일의 부분이나, 문제되는 문서 전용의 단일 파일, 또는 다수의 좌표로 된 파일들에 저장될 수 있다.
본 명세서가 다수의 구체적인 구현 상세들을 포함하는 반면에, 이들은 어떤 발명들 또는 어떤 것이 청구항이 될 수 있는지의 범위 상의 한정들로서 해석되어서는 안 되고, 오히려 특정 발명들의 특정 실시예들에 구체적인 특징들의 기술들로서 해석되어야 한다. 개별적인 실시예들의 문맥에서 본 명세서에서 기술된 특정한 특징들은 단일 실시예에서 조합으로 구현될 수도 있다. 반대로, 단일 실시예의 문맥에서 기술된 다양한 특징들은 또한 개별적으로 또는 어떤 적절한 서브조합(subcombination)으로 다수의 실시예들에서 구현될 수 있다. 더욱이, 특징들이 어떤 조합들에서 행동하는 것으로, 심지어 그러하게 처음부터 청구되는 것으로 기술될 수 있고 청구된 조합으로부터의 하나 또는 그 이상의 특징들은 몇몇의 경우에 상기 조합으로부터 삭제될 수 있고, 청구된 발명은 서브조합에 관한 것이거나 서브조합의 변형에 관한 것일 수 있다.
유사하게, 동작들이 특정 순서로 도면들에 도시될 수 있는 반면에, 이는 원하는 결과들을 성취하기 위해서 이러한 동작들이 도시된 특정 순서 또는 순차적인 순서로 수행된다는 것, 또는 모든 도시된 동작들이 수행된다는 것을 요구하는 것으로 이해되어서는 안 된다. 어떤 환경들에서는, 멀티태스킹 및 병렬 프로세싱이 이점이 있을 수 있다. 더욱이, 위에 기술된 실시예들에서 다양한 시스템 컴포넌트들의 분리는 모든 실시예들에서 그러한 분리를 요구하는 것으로 이해되어서는 안 되고, 그리고 이는 원하는 프로그램 컴포넌트들 및 시스템들은 단일 소프트웨어 제품에 일반적으로 함께 통합될 수 있거나 다수의 소프트웨어 제품들로 패키징될 수 있다는 것으로 이해되어야 한다.
그러므로, 본 발명의 특정 실시예들은 기술되었다. 다른 실시예들은 다음의 청구항들의 범위 내에 있다. 몇몇의 경우들에서, 청구항들에 기재된 행동들은 다른 순서로 수행될 수 있고 여전히 원하는 결과들을 성취할 수 있다. 추가적으로, 첨부하는 도면들에 도시된 프로세스들은 원하는 결과들을 성취하기 위해서, 필연적으로 도시된 특정 순서, 또는 순차적 순서를 요구하지는 않는다. 특정한 구현들에서, 멀티태스킹 및 병렬 프로세싱은 이점이 있을 수 있다. 따라서, 다른 실시예들은 다음의 청구항들의 범위 내에 있다.

Claims (18)

  1. 적어도 하나의 프로세서에 의해 수행되는 방법에 있어서:
    적어도 하나의 프로세서에 의해, 스피치 인식(speech recognition)을 위한 기초 언어 모델(base language model)을 수신하는 단계와, 상기 기초 언어 모델은 기초 확률값(base probability value)을 갖는 제1 단어 시퀀스(first word sequence)를 포함하고;
    상기 적어도 하나의 프로세서에 의해, 음성 검색 쿼리(voice search query)를 수신하는 단계와, 상기 음성 검색 쿼리는 쿼리 문맥(query context)과 관련되고;
    상기 적어도 하나의 프로세서에 의해, 상기 쿼리 문맥이 커스터마이징된 언어 모델(customized language model)과 관련된 하나 또는 그 이상의 기준(criteria)을 만족할 때 상기 커스터마이징된 언어 모델이 사용되어야 한다고 결정하는 단계와;
    상기 적어도 하나의 프로세서에 의해, 상기 커스터마이징된 언어 모델을 획득하는 단계와, 상기 커스터마이징된 언어 모델은 조절된 확률값(adjusted probability value)을 갖는 상기 제1 단어 시퀀스를 포함하고, 상기 조절된 확률값은 상기 쿼리 문맥에 따라 조절된 상기 기초 확률값이고; 그리고
    상기 적어도 하나의 프로세서에 의해, 하나 또는 그 이상의 확률들에 기반해서 상기 음성 검색 쿼리를 텍스트 검색 쿼리(text search query)로 전환하는 단계를 포함하고, 상기 하나 또는 그 이상의 확률들 각각은 하나 또는 그 이상의 단어 시퀀스들의 그룹의 단어 시퀀스에 대응하고, 상기 하나 또는 그 이상의 단어 시퀀스들의 그룹은 상기 조절된 확률값을 갖는 상기 제1 단어 시퀀스를 포함하며,
    상기 커스터마이징된 언어 모델을 획득하는 단계는 하나 이상의 언어 모델 규칙들을 이용해서 상기 쿼리 문맥에 기반해서 상기 기초 언어 모델을 조절하는 단계를 포함하며, 상기 언어 모델 규칙들은 상기 기초 언어 모델의 상기 기초 확률값을 조절하기 위한 조절 인자들을 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 커스터마이징된 언어 모델을 획득하는 단계는:
    상기 쿼리 문맥에 기반해서 하나 또는 그 이상의 커스터마이징된 언어 모델들로부터 상기 커스터마이징된 언어 모델을 선택하는 것을 포함하는 것을 특징으로 하는 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 쿼리 문맥은 사용자 디바이스의 지리적 위치(geographic location)를 포함하고, 상기 사용자 디바이스로부터 상기 음성 검색 쿼리가 수신되는 것을 특징으로 하는 방법.
  5. 제4항에 있어서,
    상기 방법은:
    상기 단어 시퀀스가 상기 지리적 위치에 관련된다라고 결정하는 단계를 포함하고, 상기 조절된 확률값은 상기 단어 시퀀스와 상기 지리적 위치 사이의 관련성의 정도에 기반해서 조절된 상기 기초 확률값을 포함하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서,
    상기 단어 시퀀스는 상기 지리적 위치에 위치되거나 상기 지리적 위치에 근접한(proximate) 구성(feature)의 이름을 포함하고; 그리고
    상기 관련성의 정도는 상기 쿼리 문맥에서 상기 구성과 상기 지리적 위치 사이의 거리에 기반해서 결정되는 것을 특징으로 하는 방법.
  7. 제5항에 있어서,
    상기 단어 시퀀스는 상기 지리적 위치로부터 임계치(threshold)를 초과하는 빈도(frequency)로 수신된 과거 쿼리(past query)의 용어를 포함하고; 그리고
    상기 관련성의 정도는 상기 빈도에 기반해서 결정되는 것을 특징으로 하는 방법.
  8. 제4항에 있어서,
    상기 지리적 위치는 위도(latitude) 및 경도(longitude) 좌표들의 하나 또는 그 이상의 집합들에 의해 정의된 지리적 영역인 것을 특징으로 하는 방법.
  9. 제1항에 있어서,
    상기 쿼리 문맥은 상기 음성 검색 쿼리와 관련되기 위한 사용자 제공 식별자(user provided identifier)를 포함하는 것을 특징으로 하는 방법.
  10. 제9항에 있어서,
    상기 방법은:
    상기 사용자 제공 식별자와 관련된 사회적 그룹(social group)을 결정하는 단계와, 상기 사회적 그룹은 상기 사용자 제공 식별자와 관련된 하나 또는 그 이상의 사용자 식별자들을 포함하고;
    상기 사회적 그룹에서의 상기 사용자 식별자들에 관련된 저장된 쿼리 로그들을 사용해서 상기 단어 시퀀스의 발생 빈도(frequency of occurrence)를 결정하는 단계와; 그리고
    상기 발생 빈도에 기반해서 상기 기초 확률값을 조절하는 단계를 포함하는 것을 특징으로 하는 방법.
  11. 제10항에 있어서,
    상기 기초 확률값을 조절하는 단계는 상기 사용자 식별자들 각각과 상기 사용자 제공 식별자 사이의 상기 사회적 그룹에서의 관련성의 정도에 더 기반하는 것을 특징으로 하는 방법.
  12. 제1항에 있어서,
    상기 쿼리 문맥은 상기 음성 검색 쿼리의 타임스탬프(timestamp)를 포함하는 것을 특징으로 하는 방법.
  13. 제12항에 있어서,
    상기 커스터마이징된 언어 모델을 획득하는 단계는:
    하나 또는 그 이상의 전자 문서들(electronic documents)을 식별하는 것과, 상기 하나 또는 그 이상의 전자 문서들은 쿼리 로그(query log)에 따른 검색 쿼리들(search queries)의 개수와 관련되고, 상기 검색 쿼리들의 개수는 임계 개수(threshold number)를 만족하고, 상기 검색 쿼리들은 상기 타임스탬프의 명시된 시간 윈도우(specified time window) 내에서 발생되고, 상기 하나 또는 그 이상의 전자 문서들의 각각은 상기 단어 시퀀스를 포함하고; 그리고
    상기 기초 확률값을 상기 검색 쿼리들의 개수에 기반해서 조절하는 것을 포함하는 것을 특징으로 하는 방법.
  14. 제13항에 있어서,
    상기 하나 또는 그 이상의 전자 문서들의 각각은 뉴스 기사(news article)인 것을 특징으로 하는 방법.
  15. 제1항에 있어서,
    상기 방법은:
    디스플레이 디바이스(display device) 상에, 상기 음성 검색 쿼리에 대한 응답으로서, 상기 텍스트 검색 쿼리의 하나 또는 그 이상의 검색 결과들을 디스플레이를 위해 제공하는 단계를 포함하는 것을 특징으로 하는 방법.
  16. 제1항에 있어서,
    상기 음성 검색 쿼리를 텍스트 검색 쿼리로 전환하는 단계는 상기 커스터마이징된 언어 모델에서의 상기 대응하는 조절된 확률값에 기반해서 상기 음성 검색 쿼리를 상기 제1 단어 시퀀스를 포함하는 텍스트 검색 쿼리로 전환하는 것을 포함하는 것을 특징으로 하는 방법.
  17. 시스템에 있어서:
    하나 또는 그 이상의 컴퓨터들 및 명령들(instructions)을 저장하는 하나 또는 그 이상의 저장 디바이스들을 포함하고, 상기 명령들은 상기 하나 또는 그 이상의 컴퓨터들에 의해서 실행된 때, 상기 하나 또는 그 이상의 컴퓨터들로 하여금:
    스피치 인식을 위한 기초 언어 모델을 수신하는 것과, 상기 기초 언어 모델은 기초 확률값을 갖는 제1 단어 시퀀스를 포함하고;
    음성 검색 쿼리를 수신하는 것과, 상기 음성 검색 쿼리는 쿼리 문맥과 관련되고;
    상기 쿼리 문맥이 커스터마이징된 언어 모델과 관련된 하나 또는 그 이상의 기준을 만족할 때, 상기 커스터마이징된 언어 모델이 사용되어야 한다고 결정하는 것과;
    상기 커스터마이징된 언어 모델을 획득하는 것과, 상기 커스터마이징된 언어 모델은 조절된 확률 값을 갖는 상기 제1 단어 시퀀스를 포함하고, 상기 조절된 확률값은 상기 쿼리 문맥에 따라 조절된 상기 기초 확률값이고; 그리고
    하나 또는 그 이상의 확률들에 기반해서 상기 음성 검색 쿼리를 텍스트 검색 쿼리로 전환하는 것을 포함하는 동작들을 수행하게 하고,
    상기 하나 또는 그 이상의 확률들 각각은 하나 또는 그 이상의 단어 시퀀스들의 그룹의 단어 시퀀스에 대응하고, 상기 하나 또는 그 이상의 단어 시퀀스들의 그룹은 상기 조절된 확률값을 갖는 상기 제1 단어 시퀀스를 포함하며,
    상기 커스터마이징된 언어 모델을 획득하는 것은 하나 이상의 언어 모델 규칙들을 이용해서 상기 쿼리 문맥에 기반해서 상기 기초 언어 모델을 조절하는 것을 포함하며, 상기 언어 모델 규칙들은 상기 기초 언어 모델의 상기 기초 확률값을 조절하기 위한 조절 인자들을 포함하는 것을 특징으로 하는 시스템.
  18. 컴퓨터 프로그램(computer program)이 인코딩된 컴퓨터 저장 매체(computer storage medium)에 있어서, 상기 프로그램은 명령들(instructions)을 포함하고, 상기 명령들은 데이터 프로세싱 장치(data processing apparatus)에 의해 실행된 때, 상기 데이터 프로세싱 장치로 하여금:
    스피치 인식을 위한 기초 언어 모델을 수신하고, 상기 기초 언어 모델은 기초 확률값을 갖는 제1 단어 시퀀스를 포함하고;
    음성 검색 쿼리를 수신하고, 상기 음성 검색 쿼리는 쿼리 문맥과 관련되고;
    상기 쿼리 문맥이 커스터마이징된 언어 모델과 관련된 하나 또는 그 이상의 기준을 만족할 때 상기 커스터마이징된 언어 모델이 사용되어야 한다고 결정하고;
    상기 커스터마이징된 언어 모델을 획득하고, 상기 커스터마이징된 언어 모델은 조절된 확률값을 갖는 상기 제1 단어 시퀀스를 포함하고, 상기 조절된 확률값은 상기 쿼리 문맥에 따라 조절된 상기 기초 확률값이고; 그리고
    하나 또는 그 이상의 확률들에 기반해서 상기 음성 검색 쿼리를 텍스트 검색 쿼리로 전환하는 것을 포함하는 동작들을 수행하도록 하고,
    상기 하나 또는 그 이상의 확률들 각각은 하나 또는 그 이상의 단어 시퀀스들의 그룹의 단어 시퀀스에 대응하고, 상기 하나 또는 그 이상의 단어 시퀀스들의 그룹은 상기 조절된 확률값을 갖는 상기 제1 단어 시퀀스를 포함하며,
    상기 커스터마이징된 언어 모델을 획득하는 것은 하나 이상의 언어 모델 규칙들을 이용해서 상기 쿼리 문맥에 기반해서 상기 기초 언어 모델을 조절하는 것을 포함하며, 상기 언어 모델 규칙들은 상기 기초 언어 모델의 상기 기초 확률값을 조절하기 위한 조절 인자들을 포함하는 것을 특징으로 하는 컴퓨터 저장 매체.
KR1020157001665A 2012-06-21 2013-06-18 동적 언어 모델 KR102137767B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020207020870A KR102271264B1 (ko) 2012-06-21 2013-06-18 동적 언어 모델

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261662889P 2012-06-21 2012-06-21
US61/662,889 2012-06-21
US13/802,414 US9043205B2 (en) 2012-06-21 2013-03-13 Dynamic language model
US13/802,414 2013-03-13
PCT/US2013/046381 WO2013192218A2 (en) 2012-06-21 2013-06-18 Dynamic language model

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020207020870A Division KR102271264B1 (ko) 2012-06-21 2013-06-18 동적 언어 모델

Publications (2)

Publication Number Publication Date
KR20150031309A KR20150031309A (ko) 2015-03-23
KR102137767B1 true KR102137767B1 (ko) 2020-07-24

Family

ID=48703930

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020157001665A KR102137767B1 (ko) 2012-06-21 2013-06-18 동적 언어 모델
KR1020207020870A KR102271264B1 (ko) 2012-06-21 2013-06-18 동적 언어 모델

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020207020870A KR102271264B1 (ko) 2012-06-21 2013-06-18 동적 언어 모델

Country Status (6)

Country Link
US (5) US9043205B2 (ko)
EP (2) EP2864981B1 (ko)
JP (1) JP6254583B2 (ko)
KR (2) KR102137767B1 (ko)
CN (2) CN107845382A (ko)
WO (1) WO2013192218A2 (ko)

Families Citing this family (101)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8484191B2 (en) 2010-12-16 2013-07-09 Yahoo! Inc. On-line social search
US8352245B1 (en) 2010-12-30 2013-01-08 Google Inc. Adjusting language models
US9129606B2 (en) * 2011-09-23 2015-09-08 Microsoft Technology Licensing, Llc User query history expansion for improving language model adaptation
US9747895B1 (en) * 2012-07-10 2017-08-29 Google Inc. Building language models for a user in a social network from linguistic information
US8983836B2 (en) * 2012-09-26 2015-03-17 International Business Machines Corporation Captioning using socially derived acoustic profiles
US9601111B2 (en) * 2012-11-13 2017-03-21 GM Global Technology Operations LLC Methods and systems for adapting speech systems
US9542936B2 (en) 2012-12-29 2017-01-10 Genesys Telecommunications Laboratories, Inc. Fast out-of-vocabulary search in automatic speech recognition systems
US10585568B1 (en) 2013-02-22 2020-03-10 The Directv Group, Inc. Method and system of bookmarking content in a mobile device
US9786269B2 (en) * 2013-03-14 2017-10-10 Google Inc. Language modeling of complete language sequences
US9953630B1 (en) * 2013-05-31 2018-04-24 Amazon Technologies, Inc. Language recognition for device settings
US20150081294A1 (en) * 2013-09-19 2015-03-19 Maluuba Inc. Speech recognition for user specific language
KR102274317B1 (ko) * 2013-10-08 2021-07-07 삼성전자주식회사 디바이스 정보에 기초하여 음성 인식을 수행하는 방법 및 장치
WO2015091223A1 (en) * 2013-12-17 2015-06-25 Koninklijke Philips N.V. System and method for assessing the cognitive style of a person
US9842592B2 (en) 2014-02-12 2017-12-12 Google Inc. Language models using non-linguistic context
US9412365B2 (en) 2014-03-24 2016-08-09 Google Inc. Enhanced maximum entropy models
DE112015001468T5 (de) * 2014-03-27 2016-12-15 Sony Corporation Elektronische Vorrichtung und Verfahren zum Identifizieren von Eingabebefehlen eines Benutzers
US10140981B1 (en) * 2014-06-10 2018-11-27 Amazon Technologies, Inc. Dynamic arc weights in speech recognition models
KR102261552B1 (ko) 2014-06-30 2021-06-07 삼성전자주식회사 음성 명령어 제공 방법 및 이를 지원하는 전자 장치
US9881023B2 (en) * 2014-07-22 2018-01-30 Microsoft Technology Licensing, Llc Retrieving/storing images associated with events
EP3198593A4 (en) * 2014-08-01 2019-02-20 Maluuba Inc. VOICE RECOGNITION USING TEMPLATES ASSOCIATED WITH A GEOGRAPHICAL LOCATION
US10482184B2 (en) 2015-03-08 2019-11-19 Google Llc Context-based natural language processing
US10134394B2 (en) 2015-03-20 2018-11-20 Google Llc Speech recognition using log-linear model
US9965155B2 (en) 2015-03-27 2018-05-08 Google Llc Dynamically merging multiple screens into one view port
US9460713B1 (en) 2015-03-30 2016-10-04 Google Inc. Language model biasing modulation
US10229674B2 (en) * 2015-05-15 2019-03-12 Microsoft Technology Licensing, Llc Cross-language speech recognition and translation
US9922138B2 (en) 2015-05-27 2018-03-20 Google Llc Dynamically updatable offline grammar model for resource-constrained offline device
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
CN106205608A (zh) * 2015-05-29 2016-12-07 微软技术许可有限责任公司 利用知识图的用于语音识别的语言建模
US9905224B2 (en) * 2015-06-11 2018-02-27 Nice Ltd. System and method for automatic language model generation
US9691380B2 (en) 2015-06-15 2017-06-27 Google Inc. Negative n-gram biasing
KR102413693B1 (ko) * 2015-07-23 2022-06-27 삼성전자주식회사 음성 인식 장치 및 방법, 그를 위한 모델 생성 장치 및 방법
KR102386863B1 (ko) 2015-09-09 2022-04-13 삼성전자주식회사 사용자 기반 언어 모델 생성 장치, 방법 및 음성 인식 장치
CN105260396B (zh) * 2015-09-16 2019-09-03 百度在线网络技术(北京)有限公司 字词检索方法和装置
KR102420450B1 (ko) 2015-09-23 2022-07-14 삼성전자주식회사 음성인식장치, 음성인식방법 및 컴퓨터 판독가능 기록매체
US11868354B2 (en) * 2015-09-23 2024-01-09 Motorola Solutions, Inc. Apparatus, system, and method for responding to a user-initiated query with a context-based response
CN105654945B (zh) * 2015-10-29 2020-03-06 乐融致新电子科技(天津)有限公司 一种语言模型的训练方法及装置、设备
CN105895103B (zh) * 2015-12-03 2020-01-17 乐融致新电子科技(天津)有限公司 一种语音识别方法及装置
US10049666B2 (en) 2016-01-06 2018-08-14 Google Llc Voice recognition system
US9978367B2 (en) * 2016-03-16 2018-05-22 Google Llc Determining dialog states for language models
CN105654955B (zh) * 2016-03-18 2019-11-12 华为技术有限公司 语音识别方法及装置
CN105845133A (zh) * 2016-03-30 2016-08-10 乐视控股(北京)有限公司 语音信号处理方法及装置
CN105869629B (zh) * 2016-03-30 2018-03-20 乐视控股(北京)有限公司 语音识别方法及装置
US10026398B2 (en) * 2016-07-08 2018-07-17 Google Llc Follow-up voice query prediction
DE102016114265A1 (de) * 2016-08-02 2018-02-08 Claas Selbstfahrende Erntemaschinen Gmbh Verfahren zum zumindest teilweise maschinellen Transferieren einer in einer Quellsprache abgefassten Wortfolge in eine Wortfolge einer Zielsprache
US10832664B2 (en) 2016-08-19 2020-11-10 Google Llc Automated speech recognition using language models that selectively use domain-specific model components
US10565255B2 (en) * 2016-08-24 2020-02-18 Baidu Usa Llc Method and system for selecting images based on user contextual information in response to search queries
JP6440660B2 (ja) * 2016-09-12 2018-12-19 ヤフー株式会社 情報処理装置、情報処理方法、およびプログラム
US10529324B1 (en) * 2016-12-27 2020-01-07 Cognistic, LLC Geographical based voice transcription
CN106649825B (zh) * 2016-12-29 2020-03-24 上海智臻智能网络科技股份有限公司 语音交互系统及其创建方法和装置
US10741174B2 (en) * 2017-01-24 2020-08-11 Lenovo (Singapore) Pte. Ltd. Automatic language identification for speech
KR20180087942A (ko) * 2017-01-26 2018-08-03 삼성전자주식회사 음성 인식 방법 및 장치
US10311860B2 (en) 2017-02-14 2019-06-04 Google Llc Language model biasing system
US10535342B2 (en) * 2017-04-10 2020-01-14 Microsoft Technology Licensing, Llc Automatic learning of language models
CN108288467B (zh) * 2017-06-07 2020-07-14 腾讯科技(深圳)有限公司 一种语音识别方法、装置及语音识别引擎
CN109243430B (zh) * 2017-07-04 2022-03-01 北京搜狗科技发展有限公司 一种语音识别方法及装置
US10670415B2 (en) * 2017-07-06 2020-06-02 Here Global B.V. Method and apparatus for providing mobility-based language model adaptation for navigational speech interfaces
US11024316B1 (en) 2017-07-09 2021-06-01 Otter.ai, Inc. Systems and methods for capturing, processing, and rendering one or more context-aware moment-associating elements
US11100943B1 (en) 2017-07-09 2021-08-24 Otter.ai, Inc. Systems and methods for processing and presenting conversations
US10978073B1 (en) 2017-07-09 2021-04-13 Otter.ai, Inc. Systems and methods for processing and presenting conversations
US10847148B2 (en) 2017-07-14 2020-11-24 International Business Machines Corporation Dynamic personalized multi-turn interaction of cognitive models
EP3671733A1 (en) * 2017-08-17 2020-06-24 Sony Corporation Information processing device, information processing method, and program
US9998334B1 (en) * 2017-08-17 2018-06-12 Chengfu Yu Determining a communication language for internet of things devices
KR102479026B1 (ko) * 2017-09-27 2022-12-20 한국전자통신연구원 MPEG IoMT 환경에서의 질의응답 시스템 및 방법
US10747817B2 (en) 2017-09-29 2020-08-18 Rovi Guides, Inc. Recommending language models for search queries based on user profile
US10769210B2 (en) 2017-09-29 2020-09-08 Rovi Guides, Inc. Recommending results in multiple languages for search queries based on user profile
US10468019B1 (en) * 2017-10-27 2019-11-05 Kadho, Inc. System and method for automatic speech recognition using selection of speech models based on input characteristics
US11188706B2 (en) * 2018-01-18 2021-11-30 Christopher Anthony Silva System and method for regionalized resolution of a network path
US11106868B2 (en) * 2018-03-06 2021-08-31 Samsung Electronics Co., Ltd. System and method for language model personalization
US10896672B2 (en) 2018-04-16 2021-01-19 Google Llc Automatically determining language for speech recognition of spoken utterance received via an automated assistant interface
US10839793B2 (en) * 2018-04-16 2020-11-17 Google Llc Automatically determining language for speech recognition of spoken utterance received via an automated assistant interface
US11715042B1 (en) 2018-04-20 2023-08-01 Meta Platforms Technologies, Llc Interpretability of deep reinforcement learning models in assistant systems
US11307880B2 (en) 2018-04-20 2022-04-19 Meta Platforms, Inc. Assisting users with personalized and contextual communication content
US11676220B2 (en) 2018-04-20 2023-06-13 Meta Platforms, Inc. Processing multimodal user input for assistant systems
US11886473B2 (en) 2018-04-20 2024-01-30 Meta Platforms, Inc. Intent identification for agent matching by assistant systems
US11010436B1 (en) 2018-04-20 2021-05-18 Facebook, Inc. Engaging users by personalized composing-content recommendation
CN110853647A (zh) * 2018-07-27 2020-02-28 Tcl集团股份有限公司 一种视频搜索方法、视频播放终端及存储介质
US10834591B2 (en) * 2018-08-30 2020-11-10 At&T Intellectual Property I, L.P. System and method for policy-based extensible authentication protocol authentication
US11094327B2 (en) * 2018-09-28 2021-08-17 Lenovo (Singapore) Pte. Ltd. Audible input transcription
US11423911B1 (en) * 2018-10-17 2022-08-23 Otter.ai, Inc. Systems and methods for live broadcasting of context-aware transcription and/or other elements related to conversations and/or speeches
US10720149B2 (en) 2018-10-23 2020-07-21 Capital One Services, Llc Dynamic vocabulary customization in automated voice systems
US10977441B2 (en) * 2018-10-29 2021-04-13 Amazon Technologies, Inc. Normalizing addresses to facilitate sortation and routing solution using natural language text processing
KR20200059703A (ko) 2018-11-21 2020-05-29 삼성전자주식회사 음성 인식 방법 및 음성 인식 장치
JP7077487B2 (ja) * 2018-11-30 2022-05-30 グーグル エルエルシー 音声処理
CN113168829A (zh) * 2018-12-03 2021-07-23 谷歌有限责任公司 语音输入处理
CN110176230B (zh) * 2018-12-11 2021-10-08 腾讯科技(深圳)有限公司 一种语音识别方法、装置、设备和存储介质
CN111326147B (zh) * 2018-12-12 2023-11-17 北京嘀嘀无限科技发展有限公司 语音识别方法、装置、电子设备及存储介质
US10785171B2 (en) 2019-02-07 2020-09-22 Capital One Services, Llc Chat bot utilizing metaphors to both relay and obtain information
US11093720B2 (en) * 2019-03-28 2021-08-17 Lenovo (Singapore) Pte. Ltd. Apparatus, method, and program product for converting multiple language variations
CN110570843B (zh) * 2019-06-28 2021-03-05 北京蓦然认知科技有限公司 一种用户语音识别方法和装置
KR20210016767A (ko) 2019-08-05 2021-02-17 삼성전자주식회사 음성 인식 방법 및 음성 인식 장치
KR20210042523A (ko) 2019-10-10 2021-04-20 삼성전자주식회사 전자 장치 및 이의 제어 방법
US11276391B2 (en) 2020-02-06 2022-03-15 International Business Machines Corporation Generation of matched corpus for language model training
US11373657B2 (en) * 2020-05-01 2022-06-28 Raytheon Applied Signal Technology, Inc. System and method for speaker identification in audio data
JP7523785B2 (ja) 2020-05-27 2024-07-29 株式会社AQUA System Labo 廃水処理システム
US11315545B2 (en) * 2020-07-09 2022-04-26 Raytheon Applied Signal Technology, Inc. System and method for language identification in audio data
US12020697B2 (en) 2020-07-15 2024-06-25 Raytheon Applied Signal Technology, Inc. Systems and methods for fast filtering of audio keyword search
KR20220048374A (ko) * 2020-10-12 2022-04-19 삼성전자주식회사 전자 장치 및 이의 제어 방법
US11676623B1 (en) 2021-02-26 2023-06-13 Otter.ai, Inc. Systems and methods for automatic joining as a virtual meeting participant for transcription
US12087286B2 (en) * 2021-05-06 2024-09-10 Microsoft Technology Licensing, Llc Scalable entities and patterns mining pipeline to improve automatic speech recognition
US20230359973A1 (en) * 2022-05-04 2023-11-09 Kyndryl, Inc. Ad-hoc application development
CN115238130B (zh) * 2022-09-21 2022-12-06 之江实验室 基于模态定制协同注意力交互的时序语言定位方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002229584A (ja) * 2001-01-31 2002-08-16 Toyota Central Res & Dev Lab Inc 音声認識方法、音声情報検索方法、プログラム、記録媒体、音声認識システム、音声認識用サーバ・コンピュータおよび音声情報検索用サーバ・コンピュータ
US20110060587A1 (en) * 2007-03-07 2011-03-10 Phillips Michael S Command and control utilizing ancillary information in a mobile voice-to-speech application

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5524169A (en) 1993-12-30 1996-06-04 International Business Machines Incorporated Method and system for location-specific speech recognition
US6418431B1 (en) 1998-03-30 2002-07-09 Microsoft Corporation Information retrieval and speech recognition based on language models
US6519562B1 (en) 1999-02-25 2003-02-11 Speechworks International, Inc. Dynamic semantic control of a speech recognition system
CN1151489C (zh) * 2000-11-15 2004-05-26 中国科学院自动化研究所 中国人名、地名和单位名的语音识别方法
JP2005141049A (ja) * 2003-11-07 2005-06-02 Nec Corp パターン認識装置、音声認識装置、およびプログラム
US7707039B2 (en) * 2004-02-15 2010-04-27 Exbiblio B.V. Automatic modification of web pages
WO2006059451A1 (ja) * 2004-11-30 2006-06-08 Matsushita Electric Industrial Co., Ltd. 音声認識装置
KR100704508B1 (ko) * 2004-12-14 2007-04-09 한국전자통신연구원 N-gram 네트워크를 이용하는 한국어 연속음성인식의언어모델 적응장치 및 그 방법
US7953598B2 (en) * 2007-12-17 2011-05-31 Verizon Patent And Licensing Inc. Grammar weighting voice recognition information
US8255224B2 (en) * 2008-03-07 2012-08-28 Google Inc. Voice recognition grammar selection based on context
US20090249198A1 (en) * 2008-04-01 2009-10-01 Yahoo! Inc. Techniques for input recogniton and completion
CN101329868B (zh) * 2008-07-31 2011-06-01 林超 一种针对地区语言使用偏好的语音识别优化系统及其方法
US20110161072A1 (en) * 2008-08-20 2011-06-30 Nec Corporation Language model creation apparatus, language model creation method, speech recognition apparatus, speech recognition method, and recording medium
US8229743B2 (en) * 2009-06-23 2012-07-24 Autonomy Corporation Ltd. Speech recognition system
CN101604520A (zh) * 2009-07-16 2009-12-16 北京森博克智能科技有限公司 基于统计模型和语法规则的口语语音识别方法
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
US8892443B2 (en) * 2009-12-15 2014-11-18 At&T Intellectual Property I, L.P. System and method for combining geographic metadata in automatic speech recognition language and acoustic models
EP2339576B1 (en) * 2009-12-23 2019-08-07 Google LLC Multi-modal input on an electronic device
US8468012B2 (en) 2010-05-26 2013-06-18 Google Inc. Acoustic model adaptation using geographic information
CN101923854B (zh) * 2010-08-31 2012-03-28 中国科学院计算技术研究所 一种交互式语音识别系统和方法
US8341142B2 (en) * 2010-09-08 2012-12-25 Nuance Communications, Inc. Methods and apparatus for searching the Internet
CN102074231A (zh) * 2010-12-30 2011-05-25 万音达有限公司 语音识别方法和语音识别系统
US8630860B1 (en) * 2011-03-03 2014-01-14 Nuance Communications, Inc. Speaker and call characteristic sensitive open voice search
US8635201B2 (en) * 2011-07-14 2014-01-21 Nuance Communications, Inc. Methods and apparatus for employing a user's location in providing information to the user
US9292603B2 (en) * 2011-09-30 2016-03-22 Nuance Communications, Inc. Receipt and processing of user-specified queries

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002229584A (ja) * 2001-01-31 2002-08-16 Toyota Central Res & Dev Lab Inc 音声認識方法、音声情報検索方法、プログラム、記録媒体、音声認識システム、音声認識用サーバ・コンピュータおよび音声情報検索用サーバ・コンピュータ
US20110060587A1 (en) * 2007-03-07 2011-03-10 Phillips Michael S Command and control utilizing ancillary information in a mobile voice-to-speech application

Also Published As

Publication number Publication date
US20190138539A1 (en) 2019-05-09
US9043205B2 (en) 2015-05-26
WO2013192218A2 (en) 2013-12-27
US20150254334A1 (en) 2015-09-10
US20130346077A1 (en) 2013-12-26
US10140362B2 (en) 2018-11-27
US9418143B2 (en) 2016-08-16
US20160342682A1 (en) 2016-11-24
JP2015526797A (ja) 2015-09-10
CN107845382A (zh) 2018-03-27
US20160140218A1 (en) 2016-05-19
EP3754651A1 (en) 2020-12-23
US9251251B2 (en) 2016-02-02
EP3754651B1 (en) 2024-05-22
US10380160B2 (en) 2019-08-13
EP2864981B1 (en) 2020-08-26
EP2864981A2 (en) 2015-04-29
CN104508739B (zh) 2017-11-07
JP6254583B2 (ja) 2017-12-27
KR20150031309A (ko) 2015-03-23
KR20200091486A (ko) 2020-07-30
WO2013192218A3 (en) 2014-08-07
KR102271264B1 (ko) 2021-06-30
CN104508739A (zh) 2015-04-08

Similar Documents

Publication Publication Date Title
US10380160B2 (en) Dynamic language model
US20200258508A1 (en) Interfacing between digital assistant applications and navigation applications
JP6442000B2 (ja) 経験上のエキスパートを判断する及び質問をルーティングするシステム及び方法
US20200008008A1 (en) Travel Recommendations on Online Social Networks
US8782041B1 (en) Text search for weather data
CN107589855B (zh) 一种根据地理位置推荐候选词的方法和装置
KR102068788B1 (ko) 사용자 타겟 서비스를 제공하는 서버 및 그 서비스 제공방법
US20140280053A1 (en) Contextual socially aware local search
CN103699530A (zh) 根据语音输入信息在目标应用中输入文本的方法与设备
JP4950508B2 (ja) 施設情報管理システム、施設情報管理装置、施設情報管理方法および施設情報管理プログラム
JP7176011B2 (ja) デジタルアシスタントアプリケーションとナビゲーションアプリケーションとの間のインターフェーシング
JP2014521142A (ja) 凝縮空間コンテキスト情報のオーディオ・プレゼンテーション
CN103853437A (zh) 一种获取候选项的方法及装置
KR101836420B1 (ko) 히스토리 탐색을 위한 인덱싱
JP6246658B2 (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