KR102201937B1 - 후속 음성 쿼리 예측 - Google Patents

후속 음성 쿼리 예측 Download PDF

Info

Publication number
KR102201937B1
KR102201937B1 KR1020197001544A KR20197001544A KR102201937B1 KR 102201937 B1 KR102201937 B1 KR 102201937B1 KR 1020197001544 A KR1020197001544 A KR 1020197001544A KR 20197001544 A KR20197001544 A KR 20197001544A KR 102201937 B1 KR102201937 B1 KR 102201937B1
Authority
KR
South Korea
Prior art keywords
user
subsequent
initial
transcription
language model
Prior art date
Application number
KR1020197001544A
Other languages
English (en)
Other versions
KR20190021338A (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 KR20190021338A publication Critical patent/KR20190021338A/ko
Application granted granted Critical
Publication of KR102201937B1 publication Critical patent/KR102201937B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • 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
    • 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/02Feature extraction for speech recognition; Selection of recognition unit
    • 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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • 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

Landscapes

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

Abstract

발화의 초기 전사에 대한 후속 쿼리들을 예측하기 위한, 컴퓨터 저장 매체 상에 인코딩된 컴퓨터 프로그램을 포함하는 방법, 시스템 및 장치가 개시돤다. 일부 구현 예에서, 사용자의 초기 발화의 전사와 미리 연관되어 있는 하나 이상의 후속 쿼리들이 식별된다. 후속 쿼리들 중 하나 이상과 연관된 개별 확률이 초기 언어 모델과 관련하여 증가되는 신규 또는 조정된 언어 모델이 획득된다. 그 다음 사용자의 후속 발화에 해당하는 후속 오디오 데이터가 수신된다. 후속 오디오 데이터는 신규 또는 조정된 언어 모델을 사용하여 처리되어 후속 발화의 전사를 생성한다. 그 다음 사용자에게 출력하기 위해 후속 발화의 전사가 제공된다.

Description

후속 음성 쿼리 예측
본 명세서는 자동 음성 인식(ASR)에 관한 것이다.
음성 인식은 자동 음성 인식기(ASR)를 사용하여 음성 단어를 텍스트로 변환하는 것을 말한다. 일반적인 ASR 시스템에서, 수신된 오디오는 컴퓨터가 읽을 수 있는 사운드로 변환되어 소정의 언어와 연관된 단어 사전과 비교된다.
일반적으로, 본 명세서에 기술된 요지의 하나의 혁신적인 양태는 사용자에 의해 후속적으로 제공될 후속 음성 쿼리(follow-up voice queries)의 세트를 식별하고, 상기 후속 음성 쿼리와 연관된 각각의 확률을 증가시키도록 언어 모델을 조정함으로써 음성 인식 정확도를 향상시키는 방법으로 구현될 수 있다. 예를 들어, 사용자로부터 초기 쿼리, 예를 들어, 텍스트 쿼리 또는 다른 유형의 사용자 입력을 수신한 후에, 초기 음성 쿼리와 미리 연관되어 있는 예측된 후속 쿼리의 세트가 예측된다. 그 다음 ASRM은 예측된 후속 쿼리와 연관된 언어 모델 내의 각각의 확률을 조정하여 사용자로부터의 후속 음성 쿼리의 처리가 후속 음성 쿼리를 상기 예측된 후속 음성 쿼리들 중 하나로서 전사(transcribe)할 가능성을 높게 한다. 이와 관련하여, 설명된 방법은 ASRM이 사용자가 이미 초기 쿼리를 제공한 이후의 음성 쿼리 제출과 연관된 확률의 변화를 보다 정확하게 설명할 수 있게 한다.
구현예들은 다음 특징들 중 하나 이상을 포함할 수 있다. 예를 들어, 컴퓨터로 구현되는 방법은, 사용자의 초기 발화의 전사(transcription)와 미리 연관되어 있는 하나 이상의 후속 쿼리를 식별하는 단계; 후속 쿼리들 중 하나 이상과 연관된 각각의 확률이 초기 언어 모델에 대해 증가되는 신규(새로운) 또는 수정된 언어 모델을 획득하는 단계; 상기 사용자의 후속 발화에 대응하는 후속 오디오 데이터를 수신하는 단계; 상기 후속 발화의 전사를 생성하기 위해 상기 신규 또는 수정된 언어 모델을 사용하여 상기 후속 오디오 데이터를 처리하는 단계; 그리고 상기 후속 발화의 전사를 사용자에게 출력하기 위해 제공하는 단계를 포함할 수 있다.
일부 구현 예들에서, 컴퓨터로 구현되는 방법은 상기 사용자의 초기 발화의 전사와 연관된 하나 이상의 검색 결과들과 미리 연관되어 있는 하나 이상의 후속 쿼리들을 식별하는 단계; 후속 쿼리들 중 하나 이상과 연관된 각각의 확률이 초기 언어 모델에 대해 증가되는 신규 또는 수정된 언어 모델을 획득하는 단계; 상기 사용자의 후속 발화에 대응하는 후속 오디오 데이터를 수신하는 단계; 상기 후속 발화의 전사와 연관된 하나 이상의 검색 결과들을 생성하기 위해 신규 또는 수정된 언어 모델을 사용하여 후속 오디오 데이터를 처리하는 단계; 그리고 상기 후속 발화의 전사와 연관된 상기 하나 이상의 검색 결과들을 상기 사용자에게 출력하기 위해 제공하는 단계를 포함할 수 있다.
일부 구현 예들에서, 컴퓨터로 구현되는 방법은 상기 사용자의 상기 초기 발화의 전사와 연관된 하나 이상의 상기 검색 결과들과 연관된 데이터와 미리 연관되어 있는 하나 이상의 후속 쿼리들을 식별하는 단계; 상기 후속 쿼리들 중 하나 이상과 연관된 각각의 확률이 초기 언어 모델에 대해 증가되는 신규 또는 수정된 언어 모델을 획득하는 단계; 상기 사용자의 후속 발화에 대응하는 후속 오디오 데이터를 수신하는 단계; 상기 후속 발화의 전사와 연관된 하나 이상의 검색 결과들과 연관된 데이터를 생성하기 위해 신규 또는 수정된 언어 모델을 사용하여 후속 오디오 데이터를 처리하는 단계; 그리고 상기 후속 발화의 전사와 연관된 하나 이상의 검색 결과들과 연관된 데이터를 사용자에게 출력하기 위해 제공하는 단계를 포함할 수 있다.
다른 버전들은 컴퓨터 저장 장치들상에 인코딩된 방법들의 동작들을 수행하도록 구성된 시스템들 및 컴퓨터 프로그램들을 포함한다.
하나 이상의 구현 예들은 다음의 선택적인 특징들을 포함할 수 있다. 예를 들어, 일부 구현 예에서, 상기 방법은 사용자의 초기 발화에 대응하는 초기 오디오 데이터를 수신하는 단계; 그리고 초기 언어 모델을 사용하여 상기 오디오 데이터를 처리하여 상기 초기 발화의 전사를 생성하는 단계를 포함할 수 있다.
일부 구현 예들에서 신규 또는 수정된 언어 모델을 획득하는 단계는, 하나 이상의 후속 쿼리 맵핑들을 포함하는 데이터베이스에 액세스하는 단계 -각각의 후속 쿼리 매핑은 (i) 상기 사용자의 발화의 이전 전사, (ii) 상기 사용자와 연관된 이전 검색 결과들, 및 (iii) 사용자와 연관된 상기 이전 검색 결과들과 연관된 데이터에 대한 후보 후속 쿼리들의 리스트를 지정함 -; 상기 사용자의 최초 발화의 전사의 하나 이상의 용어들이 상기 하나 이상의 후속 쿼리 맵핑들 내에 포함되어 있는지를 결정하는 단계; 그리고 상기 하나 이상의 후속 쿼리 맵핑들 내에 포함된 상기 사용자의 상기 초기 발화의 전사의 상기 하나 이상의 용어들에 대응하는 상기 후보 후속 쿼리들의 리스트와 연관된 각각의 확률을 증가시키도록 상기 초기 언어 모델을 조정하는 단계를 포함할 수 있다.
일부 구현 예들에서, 상기 사용자의 최초 발화의 전사의 하나 이상의 용어들이 상기 하나 이상의 후속 쿼리 맵핑들 내에 포함되는지를 결정하는 단계는 상기 사용자의 상기 초기 발화와 연관된 상기 특정 컨텍스트가 상기 사용자의 이전 발화의 특정 전사와 연관된 컨텍스트와 매칭하는지를 결정하는 단계를 포함한다.
일부 구현 예들에서, 하나 이상의 후속 쿼리 맵핑들의 각각은 (i) 사용자의 발화의 이전 전사, (ii) 사용자와 연관된 이전 검색 결과들 및 (iii) 사용자와 연관된 이전 검색 결과들과 연관된 데이터에 대한 하나 이상의 후속 용어들을 추가로 지정한다.
일부 구현 예들에서, 신규 또는 수정된 언어 모델을 사용하여 오디오 데이터를 처리하는 단계는 상기 사용자의 상기 초기 발화와 연관된 특정 컨텍스트가 상기 사용자의 후속 발화와 연관된 특정 컨텍스트와 매칭하는지를 결정하는 단계를 포함한다.
일부 구현 예들에서, 신규 또는 수정된 언어 모델을 사용하여 오디오 데이터를 처리하는 단계는 상기 사용자의 초기 발화와 연관된 사용자 위치가 상기 사용자의 후속 발화와 연관된 사용자 위치와 매칭하는지를 결정하는 단계를 포함한다.
하나 이상의 구현예들의 세부 사항은 첨부된 도면 및 이하의 설명에서 설명된다. 다른 잠재적인 특징들 및 장점들은 상세한 설명, 도면 및 청구 범위로부터 명백해질 것이다.
이들 양태들의 다른 구현 예들은 컴퓨터 저장 장치들에 인코딩된, 상기 방법들의 동작들을 수행하도록 구성된 시스템들, 장치 및 컴퓨터 프로그램들을 포함한다.
도 1은 사용자에 대한 예측된 후속 쿼리들을 사용하여 음성 인식을 수행할 수 있는 예시적인 시스템이다.
도 2는 사용자에 대한 예측된 후속 쿼리들을 사용하여 음성 인식을 향상시키는 예시적인 프로세스를 도시한다.
도 3은 본 명세서에 개시된 프로세스 또는 그 일부가 구현될 수 있는 컴퓨팅 장치의 블록도이다.
도면에서, 동일한 참조 번호는 전체적으로 대응하는 부분을 나타낸다.
본 발명은, 후속 음성 쿼리들을 처리하는 데 사용되는 언어 모델은 특정 기간 또는 사용자 컨텍스트 내에서 동일한 사용자가 제출한 후속 음성 쿼리와 초기 음성 쿼리간의 고유 관계를 종종 반영하지 않기 때문에 사용자가 순차적으로 제출한 음성 쿼리들은 종종 자동화된 음성 인식 시스템에 의해 잘못 인식된다. 예를 들어, 언어 모델은 앤-그램들(n-grams)의 세트에 대한 정적 확률을 지정하기 때문에, 동일한 언어 모델에 기초한 후속 음성 쿼리에 대한 쿼리 처리는 이전에 제출된 음성 쿼리와 미리 연관되어 있는 용어들을 포함하는 후속 음성 쿼리를 제공하려는 사용자의 증가된 가능성을 종종 이해하지 못한다. 이로 인해 종종 정적 언어 모델에 의해 지정된 다수의 후보 전사들이 있는 후속하는 낮은 품질의 음성 쿼리들이 잘못 인식된다.
따라서, 기술들은 후속하여 사용자에 의해 제공될 가능성이 있는 후속 음성 쿼리들의 세트를 식별하고, 상기 후속 음성 쿼리들과 연관된 각각의 확률을 증가 시키도록 언어 모델을 조정함으로써 음성 인식 정확도를 향상시키기 위해 설명된다. 예를 들어, 사용자로부터 초기 쿼리를 수신한 후, 자동 음성 인식기 모듈(ASRM)은 초기 쿼리와 미리 연관되어 있는 예측된 후속 쿼리들의 세트를 식별할 수 있다. 그 후, 상기 ASRM은 예측된 후속 쿼리들과 연관된 언어 모델 내의 각각의 확률을 조정하여, 사용자로부터의 후속 음성 쿼리의 처리(프로세싱)가 후속 음성 쿼리를 예측된 후속 음성 쿼리들 중 하나로서 전사할 가능성을 높게 할 수 있다. 이와 관련하여, 설명된 방법들은 ASRM이 사용자가 이미 초기 쿼리를 제공한 이후에 이어지는 음성 쿼리 제출과 연관된 확률 변화를 보다 정확하게 설명할 수 있게 한다.
도 1은 사용자(102)에 대한 예측된 후속 쿼리들을 사용하여 음성 인식을 수행하는데 사용될 수 있는 예시적인 시스템(100)을 도시한다. 시스템(100)은 사용자(102)의 음성 쿼리의 발화를 인코딩하는 오디오 데이터(104b) 및 오디오 데이터(104b)와 연관된 컨텍스트 데이터(104c)(예를 들어, 사용자 위치)를 수신할 수 있고, 이하 더 상세하게 설명되는 음성 인식 기술을 이용하여 오디오 데이터(104b)의 전사(104d)를 생성할 수 있는 ASRM(110)를 포함한다.
일반적으로, 오디오 데이터(104b) 및 컨텍스트 데이터(104c)를 수신한 후, ASRM(110)은 사용자(102)가 제출된 쿼리와 후속 쿼리들(예를 들어, 동일한 사용자 위치 내에서 제출된 쿼리들 또는 공통 주제와 연관된 쿼리들) 사이의 특정 관계에 기초하여 사용자(102)가 제출할 가능성이 있는 후속 쿼리들을 식별하는 쿼리 매핑들의 세트를 포함하는 테이블(120)에 액세스한다.
보다 상세하게, 사용자(102)는 사용자 장치를 통해 초기 음성 쿼리(104a)를 발화한다. 사용자 장치는 스마트폰, 태블릿 컴퓨터, 랩톱 컴퓨터 또는 데스크톱 컴퓨터와 같은, 마이크로폰을 포함하는 임의의 유형의 컴퓨팅 장치일 수 있다. 사용자 장치는 사용자 쿼리에 응답하여 사용자(102)가 음성 쿼리 및/또는 시각적 콘텐츠, 예를 들어 검색 결과들을 제공할 수 있게 하는 임의의 모바일 또는 데스크톱 운영 체제를 통해 디스플레이되는 사용자 인터페이스를 사용자(102)에게 제공할 수 있다.
음성 쿼리(104a)는 일반적인 음성 인식 기술을 사용하여 ASRM(110)에 의해 인식되고 처리되는 음성 검색, 음성 명령 또는 구술과 같은 다양한 유형의 음성 가능 입력을 포함할 수 있다. ASRM(110)은 초기 음성 쿼리(104a)의 발화를 음성학적으로 전사하기 위해 음향 모델을 초기에 사용함으로써 오디오 데이터(104b)에 대한 초기 전사(104c)를 생성한다. 그 다음 ASRM(110)은 초기 음성 쿼리(104a)의 발화의 정확한 전사가 되는 가장 큰 가능성을 나타내는 언어 모델(130) 내에서 특정된 앤-그램을 선택한다. 일부 예에서, ASRM(110)은 수신된 컨텍스트 데이터(104c)에 기초하여 언어 모델(130)을 바이어스하여 컨텍스트 데이터(104c)에 의해 표시된 사용자(102)와 연관된 가능성 있는 컨텍스트가 주어진 초기 음성 쿼리(104a)의 발화의 정확한 전사가 되는 가장 큰 가능성을 반영하는 특정 앤-그램을 선택할 수 있다. 그 다음 생성된 초기 전사(104d)는 수신된 초기 음성 쿼리(104a)에 응답하여 사용자 장치로 출력을 위해 전송된다.
도 1에 도시된 예에서, 초기 음성 쿼리(104a)의 발화 "MU-SE-UMS IN PA-RIS"를 인코딩한 오디오 데이터(104b)를 수신한 것에 응답하여, ASRM(110)은 오디오 데이터(104b)에 대한 다른 후보 전사들과 비교하여 가장 높은 전사 점수 "0.9"를 지정하는 언어 모델(130a)에 기초하여 초기 전사(104d)로서 앤-그램 "MUSEUMS IN PARIS"을 전사한다. 사용자(102)로부터 음성 쿼리를 수신하면, ASRM(110)은 또한 음성 쿼리(104a) 내에 포함된 용어들이 주어진다면 사용자(102)가 제공할 가능성이있는 후속 쿼리들의 세트를 식별한다. 예를 들어, ASRM(110)은 초기 음성 쿼리에 대한 후속 쿼리를 지정하는 쿼리 매핑들의 세트에 액세스하는 것에 기초하여 사용자(102)에 대한 후속 쿼리를 식별할 수 있다. 각각의 쿼리 맵핑에 대해, 테이블(120)은 또한 사용자(102)가 지정된 초기 음성 쿼리를 제공한 후 미리 결정된 시간 내에 상기 지정된 후속 쿼리를 제공할 가능성을 반영하는 연관 점수를 특정한다.
일부 구현 예들에서, 특정 초기 음성 쿼리에 대한 사용자(102)에 대한 후속 쿼리들을 지정하는 대신에, 테이블(120) 내의 쿼리 매핑들은 특정 초기 음성 쿼리와 미리 연관되는 하나 이상의 용어들 또는 엔티티들을 대신 지정(특정)할 수 있다. 이러한 구현예들에서, 식별된 용어들 또는 엔티티들은 신규 또는 수정(조정)된 언어 모델(130b)을 생성하기 위해 초기 언어 모델(130a) 내의 개별 용어들과 연관된 각각의 전사 점수들을 업-웨이팅(up-weight)하는 데 사용될 수 있다.
일부 구현 예들에서, 테이블(120) 내에 포함된 쿼리 맵핑들은 초기 음성 쿼리(104a)에 대한 상부 전사 가설(top transcription hypothesis)과 그들의 음성적 유사성 때문에 그 자체로 식별되는 후속 쿼리들을 더 포함한다. 예를 들어, 특정 초기 음성 쿼리에 대한 전사 가설이 "OPENING HOURS OF LUFRE"인 경우, 테이블(120)은 용어들 "LUFRE"와 "LOUVRE" 사이의 음성적 유사성에 기초한 후속 쿼리로서 "OPENING HOURS OF LOUVRE"을 지정하는 쿼리 맵핑을 포함할 수 있다. 이와 관련하여, 사용자(120)가 ASRM(110)로부터의 출력으로서 부정확한 전사를 수신한 후에 동일한 쿼리를 재제출할 가능성이 높아지면, 일반적으로 부정확한 전사들이 테이블(120) 내에서 정확하게 식별된 후속 쿼리들과 연관될 수 있다.
일부 구현 예들에서, 테이블(120) 내의 쿼리 매핑들은 초기 음성 쿼리(104a)의 발화의 초기 전사(104d)와 연관된 검색 결과들에 대한 후속 쿼리들을 지정할 수 있다. 예를 들어, 사용자(102)는 검색 엔진에 입력 형식으로서 초기 음성 쿼리(104a)를 제출하여 초기 전사(104d) 내에 포함된 용어들에 대한 검색을 수행할 수 있다. 그 다음, 검색 엔진에 의해 리턴된 검색 결과 데이터는 ASRM(110)에 의한 사용을 위해 테이블(120) 내에 로그되고 포함되어 초기 전사(104d)에 대한 검색 결과 내에 포함된 용어들과 연관되거나 포함하는 후속 음성 쿼리를 처리할 수 있다.
일부 구현 예들에서, 테이블(120) 내의 쿼리 맵핑은 전사(104d)에 대한 검색 결들과 연관된 데이터에 대한 후속 쿼리들을 추가로 지정할 수 있다. 예를 들어, 검색 결과들과 연관된 데이터는 특정 시간주기 내에서 사용자(102)에 의해 전송된 이전 검색 쿼리들, 초기 전사(104d)와 연관된 검색 결과들과 유사한 것으로 결정된 검색 쿼리에 대해 획득된 이전 검색 결과들, 초기 전사(104)와 연관된 검색 쿼리에 응답하는 것으로 결정된 문서들 내에 포함된 용어들 등을 포함할 수 있다. 검색 결과들과 연관된 데이터는 또한 이전에 제출된 음성 쿼리들, 이전의 후보 전사들의 브라우징 활동 또는 다른 유형의 사용자 특정 정보와 같은 사용자(102)와 연관된 쿼리 로그 및 사용자 이력 데이터를 포함할 수 있다.
일부 구현 예에서, 테이블(120) 내의 쿼리 매핑들은 사용자(102) 이외에 다른 사용자와 연관된 데이터에 기초한 후속 쿼리들을 추가로 지정할 수 있다. 예를 들어, 테이블(120) 내의 후속 쿼리들은 예를 들어 동일한 위치의 사용자들, 또는 유사한 쿼리들을 제출한 사용자들 및/또는 사용자(102)와 유사한 검색 결과들 또는 후속 쿼리들을 수신한 사용자들과 같이, 사용자(102)와 유사한 것으로 결정된 사용자들의 클러스터들에 의해 제출된 이전 쿼리들에 기초하여 결정될 수 있다. 이들 각각의 예들에서, ASRM(110)은 데이터 클러스터링 기술들을 이용하여 다수의 사용자로부터 수신된 데이터를 모아서 사용자(102)와 관련된 패턴들 또는 예측들을 식별할 수 있다.
각각의 지정된 초기 음성 쿼리와 후속 쿼리 사이의 연관 점수의 크기는 상술 한 바와 같이 사용자(102)와 연관된 다양한 유형의 데이터에 기초하거나 및/또는 보강될 수 있다. 일부 구현 예들에서, 연관 점수의 크기는 오디오 데이터(104b)가 ASRM(110)에 의해 수신될 때 사용자(102)와 연관된 장치의 특정 위치에 기초할 수 있다. 그러한 구현 예들에서, 연관 점수의 값은 후속 쿼리 및 특정 초기 음성 쿼리 내에 포함된 용어들이 사용자(102) 또는 사용자(102)와 유사한 것으로 결정된 위치의 다른 사용자들에 의해 특정 기간 내에 반복적으로 전송될 가능성을 반영할 수 있다. 이 예에서, 이러한 결정은 사용자(102)에 의해 제출된 이전의 쿼리들 및 특정 위치의 다른 사용자들을 포함하는 훈련 데이터에 기초할 수 있다.
도 1에 도시된 예에서, 테이블(120)은 쿼리(104a) 내의 용어들, 예를 들어 "MUSEUMS(박물관)"및 "PARIS(파리)"와 연관이 있는 것으로 결정되는 용어들, 예컨대 "LOUVRE(루브르)", "BAGUETTE(바게트)"를 포함하는 후속 쿼리들을 특정한다. 테이블(120)은 설명된 용어 "LOUVRE"가 박물관에 관련되고 파리에 위치하기 때문에, "PLACES TO BAGUETTE(바게트에 대한 플레이스)"에 비해 후속 쿼리 "OPENING HOURS OF LOUVRE(루브르의 개장 시간)"에 대한 더 높은 연관 점수를 지정하는 반면, "BAGUETTE"라는 용어는 파리와의 관계에서 "MUSEUMS"이라는 용어와만 연관된다.
그 다음 ASRM(110)은 테이블(120) 내의 식별된 후속 쿼리들을 사용하여 언어 모델(130)을 조정한다. 특히, 식별된 후속 쿼리들은 테이블(120) 내에 포함된 후속 쿼리에 대응하는 언어 모델(130) 내의 특정 앤-그램과 연관된 각각의 확률을 증가시키도록 언어 모델(130)을 바이어스(bias)하는데 사용되며, ASRM(110)이 초기 음성 쿼리(104a)의 발화와 연관된 후속 쿼리의 전사로서 특정 앤-그램을 선택하는 가능성을 증가시킨다.
초기 언어 모델(130a)에 비해, 테이블(120)에 의해 지정된 후속 쿼리에 대응하는 신규 또는 업데이트된 언어 모델(130b) 내의 특정 앤-그램과 연관된 각각의 확률의 증가는 후속 음성 쿼리(106a)의 임의의 오류 전사를 방지하기 위해 특정 값으로 계산된다. 예를 들어, 일부 경우에는, 신규 또는 조정된 언어 모델(130b) 내의 보간(interpolate)된 전사 점수의 계산이 초기 언어 모델(130a) 내의 전사 점수에 비해 완만한 증가가 되도록 연관 점수의 값이 ASRM(110)에 의해 변조된다. 이는 초기 언어 모델(130a) 대신 신규 또는 조정된 언어 모델(130b)을 사용할 때 ASRM(110)에 의한 쿼리 처리의 극적인 변화를 야기하기 위해 상기 보간된 전사 점수가 현저히 높지 않도록 보장하기 위한 것이다. 다른 예에서, 후속 쿼리들 각각에 대한 연관 점수를 변조하는 대신에, ASRM(110)에 의해 사용되는 특정 계산 기술은 대신에 동일한 결과를 야기하도록 조정될 수 있다. 이러한 예들에서, 상기 보간된 전사 점수 계산 기술들은 초기에 계산된 보간된 전사 점수의 값을 감소시키기 위해 감쇠 계수(decay factors) 및/또는 다운 웨이트(down-weights)의 사용을 포함할 수 있다.
도 1에 도시된 바와 같이, ASRM(110)은 초기에 초기 음성 쿼리(104a)에 대한 가장 가능성 있는 후속 쿼리로서 연관 점수 "1.4"를 갖는 후속 쿼리 "OPENING HOURS OF LOUVRE"를 식별한다. 그 다음 ASRM(110)은 초기 언어 모델(130) 내의 동일한 앤-그램에 대한 해당 전사 점수에 비해 더 큰 값을 갖는 앤-그램 "OPENING HOURS OF LOUVRE"에 대한 보간된 전사 점수를 특정하는 업데이트된 언어 모델(130b)을 생성한다. 이 예에서, ASRM(110)은 "0.56"의 보간된 전사 점수를 할당하기 위해 초기 전사 점수 "0.5"와 테이블에 의해 지정된 연관 점수 "1.4"의 곱을 계산한다.
또한, 도 1은 언어 모델(130)의 상이한 동적 상태로서 초기 언어 모델(130a) 및 조정된 언어 모델(130b)을 도시하지만, 일부 구현 예에서, ASRM(110)은 대신 초기 음성 쿼리(104a)에 대해 특정된(지정된) 후속 쿼리들에 대응하는 특정 앤-그램에 대한 전사 점수를 보간하여 제공하는 신규 언어 모델을 생성할 수 있다. 그러한 구현 예들에서, ASRM(110)은 여기에 설명된 바와 같이 사용자(102)와 연관된 다양한 유형의 데이터에 기초하여 후속 음성 쿼리를 위한 전사를 생성하기 위해 복수의 가용 언어 모델들 중에서 특정 언어 모델을 동적으로 선택할 수 있다.
일부 구현 예들에서, 시스템(100)은 여기에 설명된 바와 같이 언어 모델 조정 또는 생성을 수행하기 위한 별도의 하드웨어 또는 소프트웨어 모듈을 포함할 수 있다. 예를 들어, ASRM(110)은 초기에 초기 음성 쿼리(104a)에 대한 후속 쿼리를 식별하고, 그 식별된 후속 쿼리에 대응하는 테이블(120)로부터 데이터를 추출하고, 초기 언어 모델(130a) 및 추출된 데이터를 언어 모듈 보간을 위한 후 처리(post-processing) 모듈로 전송할 수 있다. 본 명세서에서 설명된 바와 같이, 후 처리 컴포넌트는 보간된 전사 점수를 갖는 조정된 언어 모델을 생성하거나 해당 전사 점수를 갖는 신규 언어 모델을 생성할 수 있다.
일부 예에서, ASRM(110)은 테이블(120) 내의 다수의 식별된 후속 쿼리에 대응하는 언어 모델(130) 내의 다수의 앤-그램의 전사 점수를 보간할 수 있다. 예를 들어, ASRM(110)은 미리결정된 임계 값보다 큰 연관 점수를 갖는 해당 후속 쿼리의 앤-그램들의 전사 점수들을 보간할 수 있다. 대안적으로, 다른 구현예들에서, ASRM(110)은 그 대신에 가장 큰 연관 점수를 갖는 테이블(120) 내의 후속 쿼리에 대응하는 앤-그램의 전사 점수를 보간할 수도 있다. 이와 관련하여, 후속 쿼리에 대한 언어 모델 바이어싱의 민감도는 ASRM(110)에 의해 사용된 특정 보간 기술에 기초하여 조정될 수 있다.
신규 또는 조정된 언어 모델(130b)을 생성한 후, ASRM은 이어서 사용자(102)의 후속 음성 쿼리(106a)의 발화를 인코딩하는 오디오 데이터(106b)를 처리하기 위해 신규 또는 조정된 언어 모델(130b)을 사용할 수 있다. ASRM(110)이 오디오 데이터(106b)를 처리하는 시점(T2)에서, 신규 또는 조정된 언어 모델(130b)은 시점(T1)에서 제출된 사용자(102)에 의해 제출된 초기 음성 쿼리(104a)에 대해 이전에 식별된 후속 쿼리에 대응하는 특정 앤-그램에 대한 증가된 전사 점수를 포함하도록 이미 보간된다.
신규 또는 업데이트된 언어 모델(130)을 사용하는 오디오 데이터(106b)의 처리는 후속 전사(106d)에 대한 선택된 앤-그램이 테이블(120) 내에서 식별된 후속 쿼리들 중 적어도 하나일 가능성을 증가시킨다. 이는 후속하는 음성 쿼리(106a)가 ASRM(110)에 의해 부정확하게 전사될 가능성이 있는 모호한 발화를 포함할 때 특히 중요하다.
예를 들어, 도 1에 도시된 바와 같이, 예를 들어, "MUSEUMS IN PARIS"와 같이 모호하지 않게 전사된 초기 사용자 쿼리를 전송한 후, 사용자는 상대적으로 모호하고 부정확한 전사에 취약한 후속 음성 쿼리를 전송한다. 예를 들어, "AH-WA-AS OF TH-HE LU-UH"라는 발화는 "HOURS OF LOO", "HOURS OF LOUIE'S" 또는 "HOURS OF LOUVRE"로 전사될 수 있다. 그러나, ASRM(110)은 업데이트되거나 신규 언어 모드(130b)를 사용하여 오디오 데이터(106b)를 처리하기 때문에, ASRM(110)은 테이블(120)에서 식별되고 이전의 음성 쿼리(104a)에 포함된 "PARIS" 용어와 미리 연관되어 있다면 전사 "HOURS OF LOUVRE"를 선택할 가능성이 더 높다. 그러므로, 후속 전사(106d)는 초기 음성 쿼리(104a)와의 연관에 적어도 기초하여 선택되고, 결과적으로 출력을 위해 사용자(102)와 연관된 장치에 제공된다.
일부 구현 예들에서, 도 1과 관련하여 설명된 바와 같이, 식별된 후속 쿼리들에 기초하여 ASRM(110)에 의해 사용되는 음성 인식 기술들은 후속 전사(104d)가 실제로 후속 음성 쿼리(106a)와 연관되지 않은 후속 쿼리에 대해 우발적으로 및/또는 부정확하게 전사되지 않도록 하는 제한을 받는다. 예를 들어, 특정 언어 모델로 오디오 데이터(106b)를 처리하기 이전의 일부 구현에서, ASRM(110)은 컨텍스트 데이터(104c)에 의해 표시된 가능성 있는 사용자 컨텍스트가 컨텍스트 데이터(106)에 의해 표시된 가능성 있는 사용자 컨텍스트와 충분히 대응하는지 여부를 초기에 결정할 수 있다. 사용자 컨텍스트가 충분히 대응하지 않으면, ASRM(110)은 후속 음성 쿼리(106b)가 초기 음성 쿼리(104b)에 대한 식별된 후속 쿼리들 중 적어도 하나를 반영하지 않을 것임을 나타내는 사용자 컨텍스트가 시점들(T1과 T2) 사이에서 변경되었다고 결정할 수 있다. 이 경우, ASRM(110)은 신규 또는 조정된 언어 모델에 기초하여 처리를 종료하여 오디오 데이터(106b)에 대한 부정확한 전사를 생성하는 것을 방지할 수 있다.
다른 예에서, ASRM(110)은 초기 음성 쿼리(104a)와 후속 음성 쿼리(106a) 사이의 시멘틱 드리프트(semantic drift)를 식별하기 위해 추가적인 쿼리 처리 기술들을 사용할 수 있다. 예를 들어, ASRM(110)은 초기 음성 쿼리(104a) 및 후속 음성 쿼리(106a) 내의 식별된 용어들을 비교하여 시점(T1)에서 사용자(102)에 의한 단어 사용에 대해 사용자(102)에 의한 단어 사용이 시점(T2)에서 변경되었는지를 결정하기 위해 자연어 처리 기술들을 사용할 수 있다. 상기 시멘틱 드리프트가 미리 결정된 임계치보다 크다고 ASRM(110)이 결정하면, ASRM(110)은 신규 또는 조정된 언어 모델에 기초하여 오디오 데이터(106b)에 대한 부정확한 전사를 생성하는 것을 방지하기 위해 오디오 데이터(106b)의 처리를 종료할 수 있다.
ASRM(110)은 수신된 초기 음성 쿼리(104a)와 후속 음성 쿼리(106a) 사이에 충분한 연속성이 있는지를 검증하기 위해 다양한 후 처리 기술들을 추가로 수행하여 신규 또는 조정된 언어 모델(130b)을 사용하는 쿼리 처리가 정확한 전사를 초래함을 보장할 수 있다. 예를 들어, 초기 음성 쿼리(104a)와 후속 음성 쿼리(106a) 사이의 연속성은 쿼리들 사이의 유사성을 나타내는 인자들(예: 사용자 컨텍스트, 쿼리에 포함된 용어들 등)과 연관된 특정 가중치들에 기초하여 종합 점수로서 계산될 수 있다.
일부 구현 예들에서, ASRM(110)은 초기 언어 모델(130a) 또는 ASRM 어휘 내에서 특정되지 않은 초기 음성 쿼리(104a) 내에 포함된 새로운 용어들을 식별할 수 있고, 쿼리에 기초하여 조정된 언어 모델(130b) 및/또는 ASRUM 어휘에 새로운(신규) 용어들을 동적으로 추가할 수 있다. 예를 들어, 도 1에 도시된 예에서, 초기 언어 모델(130a)이 "LOUVRE"라는 용어를 포함하지 않으면, ASRM(110)은 이 용어가 초기 음성 쿼리 "MUSEUMS IN PARIS"와 연관되는 것으로 결정하고, 이에 응답하여 "LOUVRE"라는 용어를 조정된 언어 모델(130b)에 추가할 수 있다. 이와 관련하여, 이전 쿼리들 내에서 새롭게 식별된 용어들의 추가는 ASRM(110)이 초기 언어 모델(130a)을 사용하여 누락된 후보 음성 인식 가설들(hypotheses)을 생성하게 한다.
또한, 도 1은 초기 음성 쿼리(104a)를 수신한 것에 응답하여 후속 쿼리들의 세트를 식별하는 ASRM(110)의 예를 도시하지만, 일부 구현 예들에서, ASRM(110)은 다른 유형의 사용자 입력들을 수신하는 것에 응답하여 후속 쿼리들을 식별할 수 있다. 이러한 구현 예들에서, 사용자 입력은 유형화된 쿼리들, 예컨대 검색 엔진에 제공된 검색 쿼리들, 사용자(102)에 의해 전송된 최근의 메시지 및/또는 이메일, ASRM(110)과 별개인 다른 애플리케이션들 내에 제공되는 쿼리들을 포함할 수 있다. 이와 관련하여, ASRM(110)은 이전의 음성 쿼리 및 유형화된 쿼리 모두에 포함되는 용어들에 기초하여 후속 쿼리들을 식별할 수 있다.
도 2는 사용자에 대한 예측된 후속 쿼리들을 사용하여 음성 인식을 향상시키는 예시적인 프로세스(200)를 도시한다. 요약하면, 프로세스(200)는 초기 오디오 데이터를 수신하는 단계(210), 초기 언어 모델을 사용하여 오디오 데이터를 처리하는 단계(220), 하나 이상의 후속 쿼리를 식별하는 단계(230), 신규 또는 조정된 언어 모델을 획득하는 단계(240), 후속 오디오 데이터를 수신하는 단계(250), 상기 신규 또는 조정된 언어 모델을 사용하여 상기 오디오 데이터를 처리하는 단계(260)와, 처리된 오디오 데이터를 출력하도록 제공하는 단계(270)를 포함할 수 있다.
보다 상세하게는, 프로세스(200)는 초기 오디오 데이터를 수신하는 단계를 포함할 수 있다(210). 예를 들어, ASRM(110)은 사용자(102)의 초기 음성 쿼리(104a)의 발화에 대응하는 오디오 데이터(104b)를 수신할 수 있다.
프로세스(200)는 초기 언어 모델을 사용하여 오디오 데이터를 처리하는 단계를 포함할 수 있다(220). 예를 들어, ASRM(110)은 초기 음성 쿼리(104a)의 발화의 전사(104d)를 생성하기 위해 초기 언어 모델(130a)을 사용하여 오디오 데이터(104b)를 처리할 수 있다.
프로세스(200)는 하나 이상의 후속 쿼리들을 식별하는 단계를 포함할 수 있다(230). 예를 들어, ASRM(110)은 테이블(120)로부터 하나 이상의 후속 쿼리들을 식별할 수 있다. 후속 쿼리들은 사용자(102)의 초기 음성 쿼리(104a)의 발성의 전사(104d)와 미리연관될 수 있다. 일부 구현 예들에서, 상기 후속 쿼리들은 또한 발화의 전사(104d)와 연관된 하나 이상의 검색 결과들과 미리 연관되거나, 또는 예를 들어, 이전의 검색 쿼리들, 이전의 검색 결과들, 해당 검색 쿼리에 응답하는 문서와 같은 하나 이상의 검색 결과들과 연관된 데이터와 미리 연관될 수 있다.
프로세스(200)는 신규 또는 조정된 언어 모델을 획득하는 단계를 포함할 수 있다(240). 예를 들어, ASRM(110)은 언어 모델(130a)에 대하여 하나 이상의 후속 쿼리들과 연관된 각각의 전사 확률이 증가되는 언어 모델(130b)을 획득할 수 있다. 도 1의 예에 도시된 바와 같이, ASRM(110)은 테이블(120)을 사용하여 사용자(102)로부터 초기 음성 쿼리 "MUSEUMS IN PARIS"에 대한 후속 음성 쿼리로서 "OPENING HOURS OF LOUVRE"을 예측할 수 있다. 이는 언어 모델(130b) 내의 "OPENING HOURS OF LOUVRE"에 대한 전사 점수가 언어 모델(130a) 내의 대응하는 전사 점수보다 큰 것으로 반영된다(예를 들어, 각각 0.56 및 0.4).
프로세스(200)는 후속 오디오 데이터(250)를 수신하는 단계를 포함할 수 있다. 예를 들어, ASRM(110)은 사용자(102)의 후속 음성 쿼리(106a)의 발화에 대응하는 오디오 데이터(106b)를 수신할 수 있다.
프로세스(200)는 신규 또는 조정된(수정된) 언어 모델을 사용하여 오디오 데이터를 처리하는 단계를 포함할 수 있다(260). 예를 들어, ASRM(110)은 후속 음성 쿼리(106a)의 발화의 전사(106d)를 생성하기 위해 언어 모델(130b)을 사용하여 후속 오디오 데이터(106b)를 처리할 수 있다.
프로세스(200)는 출력을 위해 처리된 오디오 데이터를 제공하는 단계를 포함할 수 있다(270). 예를 들어, ASRM(110)은 사용자(102)와 연관된 장치에 출력하기 위해 후속 음성 쿼리(106a)의 발화의 전사(106d)를 제공할 수 있다.
도 3은 클라이언트 또는 서버 또는 복수의 서버로서 이 문서에서 설명된 시스템 및 방법을 구현하는데 사용될 수 있는 컴퓨팅 장치(300, 350)의 블록도이다. 컴퓨팅 장치(300)는 랩톱, 데스크톱, 워크스테이션, 개인용 디지털 보조 장치, 서버, 블레이드 서버, 메인 프레임 및 다른 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타내기 위한 것이다. 컴퓨팅 장치(350)는 개인용 디지털 보조 장치, 셀룰러 전화기, 스마트폰 및 다른 유사한 컴퓨팅 장치와 같은 다양한 형태의 모바일 장치를 나타내기 위한 것이다.
또한, 컴퓨팅 장치(300 또는 350)는 USB(Universal Serial Bus) 플래시 드라이브를 포함할 수 있다. USB 플래시 드라이브는 운영 체제 및 기타 응용 프로그램을 저장할 수 있다. USB 플래시 드라이브는 다른 컴퓨팅 장치의 USB 포트에 삽입될 수 있는 무선 송신기 또는 USB 커넥터와 같은 입력/출력 구성 요소를 포함할 수 있다. 여기에 나타낸 구성 요소, 이들의 접속 및 관계, 및 그 기능은 단지 예시적인 것을 의미하며, 본 명세서에 기재된 및/또는 청구된 발명의 구현을 제한하는 것을 의미하지는 않는다.
컴퓨팅 장치(300)는 프로세서(302), 메모리(304), 저장 장치(306), 메모리(304) 및 고속 확장 포트(310)에 연결되는 고속 인터페이스(308), 및 저속 버스(314) 및 저장 장치(306)에 연결되는 저속 인터페이스(312)를 포함한다. 구성요소들(302, 304, 306, 308, 310 및 312) 각각은 다양한 버스들을 사용하여 상호 연결되고, 공통 마더보드 상에 또는 적절한 다른 방식으로 장착될 수 있다. 프로세서(302)는 메모리(304) 또는 저장 장치(306)에 저장된 명령어들을 포함하여 컴퓨팅 장치(300) 내에서 실행하기 위한 명령어들을 처리하여 고속 인터페이스(308)에 결합된 디스플레이(316)와 같은 외부 입/출력 장치상의 GUI에 대한 그래픽 정보를 디스플레이할 수 있다. 다른 구현 예들에서, 다수의 메모리 및 다수의 유형의 메모리와 함께, 적절하게, 다수의 프로세서 및/또는 다수의 버스가 사용될 수 있다. 또한, 다수의 컴퓨팅 장치들(300)이 연결될 수 있으며, 각각의 장치는 예를 들어 서버 뱅크, 블레이드 서버 그룹, 또는 멀티 프로세서 시스템과 같은 필요한 동작의 일부를 제공한다.
메모리(304)는 컴퓨팅 장치(300) 내의 정보를 저장한다. 일 구현 예에서, 메모리(304)는 휘발성 메모리 유닛(들)이다. 또 다른 구현 예에서, 메모리(304)는 비 휘발성 메모리 유닛(들)이다. 메모리(304)는 또한 자기 또는 광학 디스크와 같은 컴퓨터 판독 가능 매체의 다른 형태일 수 있다.
저장 장치(306)는 컴퓨팅 장치(300)에 대용량 저장 장치를 제공할 수 있다. 일 구현 예에서, 저장 장치(306)는 플로피 디스크 장치, 하드 디스크 장치, 광학 디스크 장치, 또는 테이프 장치, 플래시 메모리 또는 다른 유사한 고체 상태 메모리 장치와 같은 컴퓨터 판독 가능 매체 일 수 있거나 포함할 수 있으며, 또는 스토리지 영역 네트워크의 장치 또는 다른 구성을 포함하는 장치의 어레이를 포함할 수 있다. 컴퓨터 프로그램 제품은 정보 매체에 유형적으로 구현될 수 있다. 컴퓨터 프로그램 제품은 또한 실행될 때 상술한 바와 같은 하나 이상의 방법을 수행하는 명령어들을 포함할 수 있다. 정보 매체는 메모리(304), 저장 장치(306) 또는 프로세서(302)상의 메모리와 같은 컴퓨터 또는 기계 판독 가능 매체이다.
고속 제어기(308)는 컴퓨팅 장치(300)에 대한 대역폭 집중적인 동작을 관리하고, 저속 제어기(312)는 낮은 대역폭의 집중적인 동작을 관리한다. 이러한 기능 할당은 단지 예시일 뿐이다. 일 실시 예에서, 고속 제어기(308)는 예를 들어 그래픽 프로세서 또는 가속기를 통해 메모리(304), 디스플레이(316) 및 다양한 확장 카드(미도시)를 수용할 수 있는 고속 확장 포트(310)에 결합된다. 구현시, 저속 제어기(312)는 저장 장치(306) 및 저속 확장 포트(314)에 결합된다. USB, 블루투스, 이더넷, 무선 이더넷과 같은 다양한 통신 포트를 포함할 수 있는 저속 확장 포트는 네트워크 어댑터를 통해, 키보드, 포인팅 장치, 마이크로폰/스피커 쌍, 스캐너, 또는 스위치 또는 라우터와 같은 네트워킹 장치와 같은 하나 이상의 입력/출력 장치에 결합될 수 있다. 컴퓨팅 장치(300)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 이는 표준 서버(320)로서 또는 그러한 서버들의 그룹에서 여러 번 구현될 수 있다. 또한, 랙 서버 시스템(324)의 일부로서 구현될 수도 있다. 또한, 이는 랩톱 컴퓨터(322)와 같은 퍼스널 컴퓨터에서 구현될 수 있다. 대안적으로, 컴퓨팅 장치(300)로부터의 컴포넌트는 장치(350)와 같은 모바일 디바이스(도시되지 않음)의 다른 컴포넌트와 결합될 수 있다. 이러한 장치 각각은 컴퓨팅 장치들(300, 350) 중 하나 이상을 포함할 수 있으며, 전체 시스템은 서로 통신하는 다수의 컴퓨팅 장치(300, 350)로 구성될 수 있다.
컴퓨팅 장치(300)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 표준 서버(320)로서 구현되거나, 또는 그러한 서버들의 그룹에서 여러 번 구현될 수 있다. 또한, 랙 서버 시스템(324)의 일부로서 구현될 수도 있다. 또한, 랩탑 컴퓨터(322)와 같은 퍼스널 컴퓨터에서 구현될 수도 있다. 대안적으로, 컴퓨팅 장치(300)로부터의 컴포넌트는 장치(350)와 같은 모바일 디바이스 (도시되지 않음)의 다른 컴포넌트와 결합될 수 있다. 이러한 장치 각각은 컴퓨팅 장치(300, 350) 중 하나 이상을 포함할 수 있으며, 전체 시스템은 서로 통신하는 다수의 컴퓨팅 장치(300, 350)로 구성될 수 있다.
컴퓨팅 장치(350)는 프로세서(352), 메모리(364), 및 디스플레이(354), 통신 인터페이스(366) 및 송수신기(368)와 같은 입/출력 장치를 포함한다. 장치(350)는 또한 추가 저장 장치를 제공하기 위해 마이크로드라이브 또는 다른 장치와 같은 저장 장치를 구비할 수 있다. 구성 요소들(컴포넌트들)(350, 352, 364, 354, 366 및 368) 각각은 다양한 버스를 사용하여 상호 접속되며, 일부 구성 요소는 공통 마더보드 상에 또는 적절하게 다른 방식으로 장착될 수 있다.
프로세서(352)는 메모리(364)에 저장된 명령어들을 포함하여 컴퓨팅 장치(350) 내의 명령어들을 실행할 수 있다. 프로세서는 개별 및 다중 아날로그 및 디지털 프로세서를 포함하는 칩들의 칩셋으로서 구현될 수 있다. 또한, 프로세서는 다수의 아키텍처 중 임의의 것을 사용하여 구현될 수 있다. 예를 들어, 프로세서 (310)는 CISC(Complex Instruction Set Computers) 프로세서, RISC (Reduced Instruction Set Computer) 프로세서 또는 MISC(Minimal Instruction Set Computer) 프로세서일 수 있다. 상기 프로세서는 예를 들어 사용자 인터페이스의 제어, 장치(350)에 의해 실행되는 애플리케이션들 및 장치(350)에 의한 무선 통신과 같은 장치(350)의 다른 구성 요소들의 조정을 제공할 수 있다.
프로세서(352)는 제어 인터페이스(358) 및 디스플레이(354)에 연결된 디스플레이 인터페이스(356)를 통해 사용자와 통신할 수 있다. 디스플레이(354)는 예를 들어, TFT(Thin-Film-Semiconductor Liquid Crystal Display) 디스플레이 또는 OLED(Organic Light Emitting Diode) 디스플레이이거나, 또는 다른 적절한 디스플레이 기술일 수 있다. 디스플레이 인터페이스(356)는 사용자에게 그래픽 및 다른 정보를 제공하기 위해 디스플레이(354)를 구동하기 위한 적절한 회로를 포함할 수 있다. 제어 인터페이스(358)는 사용자로부터 명령을 수신하고, 프로세서(352)에 제출하기 위해 이들을 변환할 수 있다. 또한, 외부 인터페이스(362)는 프로세서(352)와 통신하여 제공되어, 장치(350)와 다른 장치와의 근거리 통신을 가능하게 한다. 외부 인터페이스(362)는 예를 들어 일부 구현에서 유선 통신용으로 또는 다른 구현 예에서 무선 통신용으로 제공될 수 있으며, 다중 인터페이스가 또한 사용될 수 있다.
메모리(364)는 컴퓨팅 장치(350) 내의 정보를 저장한다. 메모리(364)는 컴퓨터 판독 가능 매체 또는 미디엄, 휘발성 메모리 유닛(들) 또는 비 휘발성 메모리 유닛(들) 중 하나 이상으로서 구현될 수 있다. 확장 메모리(374)는 또한 예를 들어 SIMM(Single In Line Memory Module) 카드 인터페이스를 포함할 수 있는 확장 인터페이스(372)를 통해 장치(350)에 제공되고 접속될 수 있다. 이러한 확장 메모리(374)는 장치(350)에 대한 여분의 저장 공간을 제공하거나 장치(350)에 대한 애플리케이션 또는 다른 정보를 저장할 수도 있다. 특히, 확장 메모리(374)는 전술 한 프로세스를 수행하거나 보충하기 위한 명령어들을 포함할 수 있으며, 또한 보안 정보를 포함할 수 있다. 따라서, 예를 들어, 확장 메모리(374)는 장치(350)에 대한 보안 모듈로서 제공될 수 있고, 장치(350)의 안전한 사용을 허용하는 명령어들로 프로그램될 수 있다. 또한, 보안 애플리케이션들은 SIMM 카드에 식별 정보를 해킹할 수 없게 배치하는 등의 추가 정보와 함께 SIMM 카드를 통해 제공될 수 있다.
상기 메모리는 예를 들어, 후술되는 바와 같이, 플래시 메모리 및/또는 NVRAM 메모리를 포함할 수 있다. 일 구현 예에서, 컴퓨터 프로그램 제품은 정보 매체에 유형적으로 구현된다. 컴퓨터 프로그램 제품은 실행될 때 위에 설명된 것과 같은 하나 이상의 방법을 수행하는 명령어들을 포함한다. 정보 매체는 예를 들어 송수신기(368) 또는 외부 인터페이스(362)를 통해 수신될 수 있는 메모리(364), 확장 메모리(374) 또는 프로세서(352)상의 메모리와 같은 컴퓨터 또는 기계 판독 가능 매체이다.
장치(350)는 필요에 따라 디지털 신호 처리 회로를 포함할 수 있는 통신 인터페이스(366)를 통해 무선으로 통신할 수 있다. 통신 인터페이스(366)는 GSM 음성 통화(호출), SMS, EMS 또는 MMS 메시징, CDMA, TDMA, PDC, WCDMA, CDMA2000 또는 GPRS와 같은 다양한 모드 또는 프로토콜들 하에서 통신을 제공할 수 있다. 이러한 통신은 예를 들어 무선 주파수 송수신기(368)를 통해 발생할 수 있다. 또한, 블루투스, WiFi 또는 다른 송수신기(도시되지 않음)를 사용하는 것과 같은 단거리 통신이 발생할 수 있다. 또한, GPS(Global Positioning System) 수신기 모듈(370)은 장치(350)상에서 실행되는 애플리케이션에 의해 적절히 사용될 수 있는 추가의 내비게이션 및 위치 관련 무선 데이터를 장치(350)에 제공할 수 있다.
장치(350)는 또한 사용자로부터 음성 정보를 수신하고 이를 이용 가능한 디지털 정보로 변환할 수 있는 오디오 코덱(360)을 사용하여 가청 통신할 수 있다. 오디오 코덱(360)은 마찬가지로, 예를 들어, 장치(350)의 핸드셋에 있는 스피커를 통해, 사용자를 위한 가청 사운드를 생성할 수 있다. 이러한 사운드는 음성 전화 통화로부터의 사운드를 포함할 수 있고, 음성 메시지, 음악 파일 등과 같은 기록 된 사운드를 포함할 수 있으며, 또한 장치(350)상에서 동작하는 애플리케이션들에 의해 생성된 사운드를 포함할 수 있다.
컴퓨팅 장치(350)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 셀룰러 폰(480)으로 구현될 수 있다. 이는 또한 스마트폰(382), 개인 휴대 정보 단말기 또는 다른 유사한 모바일 장치의 일부로 구현될 수도 있다.
여기에 설명된 시스템 및 방법의 다양한 구현 예는 디지털 전자 회로, 집적 회로, 특별히 설계된 ASIC(application specific integrated circuits), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 그러한 구현예들의 조합으로 실현될 수 있다. 이러한 다양한 구현예들은 저장 시스템, 적어도 하나의 입력 장치, 적어도 하나의 출력 장치와의 데이터 및 명령어들을 송수신하도록 결합된, 특수 또는 범용일 수 있는 적어도 하나의 프로그램 가능 프로세서를 포함하는 프로그램 가능 시스템상에서 실행 가능하고 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램에서의 구현을 포함할 수 있다.
이러한 컴퓨터 프로그램들(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드로도 알려짐)은 프로그램 가능 프로세서에 대한 기계 명령어를 포함하며, 높은 수준의 절차 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/ 기계어로 구현될 수 있다. 여기에서 사용되는 "기계 판독 가능 매체", "컴퓨터 판독 가능 매체"라는 용어는 자기 디스크, 광 디스크, 메모리, 프로그램 가능 논리 장치(PLD)와 같은 임의의 컴퓨터 프로그램 제품, 장치 및/또는 디바이스를 나타내며, 기계 판독 가능 신호로서 기계 명령을 수신하는 기계 판독 가능 매체를 포함하여, 프로그램 가능 프로세서에 기계 명령어 및/또는 데이터를 제공하는데 사용된다. "기계 판독 가능 신호"라는 용어는 기계 명령어 및/또는 데이터를 프로그램 가능 프로세서에 제공하기 위해 사용되는 모든 신호를 의미한다.
사용자와의 상호 작용을 제공하기 위해, 여기에 기술된 시스템 및 기술은 정보를 사용자에게 디스플레이하기 위한 CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터와 같은 디스플레이 장치와, 사용자가 컴퓨터에 입력을 제공할 수 있는 마우스 또는 트랙볼과 같은 포인팅 디바이스 및 키보드를 갖는 컴퓨터상에서 구현될 수 있다. 다른 종류의 장치들이 사용자와의 상호 작용을 제공하는 데 사용될 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각 피드백일 수 있으며, 사용자로부터의 입력은 어쿠스틱, 스피치 또는 촉각 입력을 포함하는 임의의 형태로 수신 될 수 있다.
여기에 설명된 시스템 및 기술은 예를 들어 데이터 서버와 같은 백엔드 구성 요소 또는 애플리케이션 서버와 같은 미들웨어 구성 요소를 포함하거나 프론트 엔드 구성 요소를 포함하는 컴퓨팅 시스템에서 구현될 수 있으며, 예를 들어, 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 클라이언트 컴퓨터로서, 여기서 사용자는 여기서 설명된 시스템 및 기술의 구현, 또는 이러한 백 엔드, 미들웨어 또는 프론트 엔드 구성 요소의 임의의 조합과 상호 작용할 수 있다. 시스템의 컴포넌트는 디지털 데이터 통신의 임의의 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호 접속될 수 있다. 통신 네트워크의 예는 근거리 통신망("LAN"), 광역 통신망("WAN") 및 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 일반적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터에서 실행되고 클라이언트-서버의 서로의 관계를 갖는 컴퓨터 프로그램으로 발생한다.
다수의 실시 예들이 설명되었다. 그럼에도 불구하고, 본 발명의 사상 및 범위를 벗어나지 않고 다양한 변형이 이루어질 수 있음이 이해될 것이다. 또한, 도면에 도시된 논리 흐름은 바람직한 결과를 달성하기 위해 도시된 특정 순서 또는 순차 순서를 요구하지 않는다. 또한, 설명된 흐름들로부터 다른 단계들이 제공되거나 단계들이 제거될 수 있으며, 설명된 시스템들에 다른 컴포넌트들이 추가되거나 제거될 수 있다. 따라서, 다른 실시 예들은 다음의 청구항들의 범위 내에 있다.

Claims (20)

  1. 컴퓨터로 구현되는 방법에 있어서,
    특정 위치에 제공되는 사용자의 초기 발화를 획득하는 단계;
    사용자의 초기 발화의 전사와 매칭하는 용어와 미리 연관되어있는 하나 이상의 후속 쿼리들을 식별하는 단계 -상기 후속 쿼리들은 (i) 상기 용어와 다르고, (ii) 특정 위치에서 상기 용어를 포함하는 초기 쿼리를 제출한 후 검색 엔진의 다른 사용자들이 특정 위치에서 상기 후속 쿼리들을 미리 제출했음을 나타내는 쿼리 로그 데이터에 기초한 상기 용어와 미리 연관됨-;
    수정된 언어 모델을 생성하도록 초기 언어 모델을 조정하는 단계 -상기 수정된 언어 모델은 초기 언어 모델에 대해 증가된 하나 이상의 후속 쿼리들과 연관된 각각의 확률을 지정함-;
    특정 위치에 제공된 상기 사용자의 후속 발화에 대응하는 후속 오디오 데이터를 수신하는 단계;
    상기 후속 발화의 전사를 생성하기 위해 상기 수정된 언어 모델을 사용하여 상기 후속 오디오 데이터를 처리하는 단계; 그리고
    상기 후속 발화의 전사를 상기 사용자에게 출력하기 위해 제공하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  2. 제1항에 있어서,
    사용자의 초기 발화에 대응하는 초기 오디오 데이터를 수신하는 단계; 그리고
    상기 초기 언어 모델을 사용하여 상기 오디오 데이터를 처리하여 상기 초기 발화의 전사를 생성하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  3. 제1항에 있어서,
    상기 초기 언어 모델을 조정하는 단계는,
    하나 이상의 후속 쿼리 맵핑들을 포함하는 데이터베이스에 액세스하는 단계 -각각의 후속 쿼리 매핑은 (i) 상기 사용자의 발화의 이전 전사, (ii) 상기 사용자와 연관된 이전 검색 결과들, 및 (iii) 상기 사용자와 연관된 상기 이전 검색 결과들과 연관된 데이터에 대한 후보 후속 쿼리들의 리스트를 특정함-;
    상기 사용자의 초기 발화의 전사의 하나 이상의 용어들이 상기 하나 이상의 후속 쿼리 맵핑들 내에 포함되는지를 결정하는 단계; 그리고
    상기 하나 이상의 후속 쿼리 맵핑들 내에 포함된 상기 사용자의 상기 초기 발화의 전사의 상기 하나 이상의 용어들에 대응하는 후보 후속 쿼리들의 리스트와 연관된 각각의 확률을 증가시키도록 상기 초기 언어 모델을 조정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  4. 제3항에 있어서,
    상기 하나 이상의 후속 쿼리 매핑들 내에 포함된 후보 후속 쿼리들의 리스트는 상기 사용자의 초기 발화와 연관된 사용자 위치에 적어도 기초하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  5. 제3항에 있어서,
    상기 사용자의 상기 초기 발화의 전사의 하나 이상의 용어들이 상기 하나 이상의 후속 쿼리 매핑들 내에 포함되는지를 결정하는 단계는,
    상기 사용자의 상기 초기 발화와 연관된 특정 컨텍스트가 상기 사용자의 이전 발화의 특정 전사와 연관된 컨텍스트와 매칭하는지를 결정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  6. 제3항에 있어서,
    상기 하나 이상의 후속 쿼리 맵핑들 각각은 (i) 상기 사용자의 발화의 이전 전사, (ii) 상기 사용자와 연관된 이전 검색 결과들, 및 (iii) 상기 사용자와 연관된 이전 검색 결과들과 연관된 데이터에 대한 하나 이상의 후속 용어들을 더 특정하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  7. 제1항에 있어서,
    상기 수정된 언어 모델을 사용하여 상기 오디오 데이터를 처리하는 단계는 상기 사용자의 초기 발화와 연관된 특정 컨텍스트가 상기 사용자의 후속 발화와 연관된 특정 컨텍스트와 매칭하는를 결정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  8. 삭제
  9. 컴퓨터로 구현되는 방법에 있어서,
    특정 위치에 제공되는 사용자의 초기 발화를 획득하는 단계;
    사용자의 초기 발화의 전사와 매칭하는 용어와 미리 연관되어있는 하나 이상의 후속 쿼리들을 식별하는 단계 -상기 후속 쿼리들은 (i) 상기 용어와 다르고, (ii) 특정 위치에서 상기 용어를 포함하는 초기 쿼리를 제출한 후 검색 엔진의 다른 사용자들이 특정 위치에서 상기 후속 쿼리들을 미리 제출했음을 나타내는 쿼리 로그 데이터에 기초한 상기 용어와 미리 연관됨-;
    수정된 언어 모델을 생성하도록 초기 언어 모델을 조정하는 단계 -상기 수정된 언어 모델은 초기 언어 모델에 대해 증가된 하나 이상의 후속 쿼리들과 연관된 각각의 확률을 지정함-;
    특정 위치에 제공된 상기 사용자의 후속 발화에 대응하는 후속 오디오 데이터를 수신하는 단계;
    상기 후속 발화의 전사와 연관된 하나 이상의 검색 결과들을 생성하기 위해 상기 수정된 언어 모델을 사용하여 상기 후속 오디오 데이터를 처리하는 단계; 그리고
    상기 후속 발화의 전사와 연관된 상기 하나 이상의 검색 결과들을 상기 사용자에게 출력하기 위해 제공하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  10. 제9항에 있어서,
    사용자의 초기 발화에 대응하는 초기 오디오 데이터를 수신하는 단계; 그리고
    상기 초기 언어 모델을 사용하여 상기 오디오 데이터를 처리하여 상기 사용자의 초기 발화의 전사와 연관된 하나 이상의 검색 결과들을 생성하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  11. 제9항에 있어서,
    상기 초기 언어 모델을 조정하는 단계는,
    하나 이상의 후속 쿼리 맵핑들을 포함하는 데이터베이스에 액세스하는 단계 -각각의 후속 쿼리 매핑은 (i) 상기 사용자의 발화의 이전 전사, (ii) 상기 사용자와 연관된 이전 검색 결과들, 및 (iii) 상기 사용자와 연관된 상기 이전 검색 결과들과 연관된 데이터에 대한 후보 후속 쿼리들의 리스트를 특정함-;
    상기 사용자의 초기 발화의 전사의 하나 이상의 용어들이 상기 하나 이상의 후속 쿼리 맵핑들 내에 포함되는지를 결정하는 단계; 그리고
    상기 하나 이상의 후속 쿼리 맵핑들 내에 포함된 상기 사용자의 상기 초기 발화의 전사의 상기 하나 이상의 용어들에 대응하는 후보 후속 쿼리들의 리스트와 연관된 각각의 확률을 증가시키도록 상기 초기 언어 모델을 조정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  12. 제11항에 있어서,
    상기 하나 이상의 후속 쿼리 매핑들 내에 포함된 후보 후속 쿼리들의 리스트는 상기 사용자의 초기 발화와 연관된 사용자 위치에 적어도 기초하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  13. 제11항에 있어서,
    상기 사용자의 상기 초기 발화의 전사의 하나 이상의 용어들이 상기 하나 이상의 후속 쿼리 매핑들 내에 포함되는지를 결정하는 단계는,
    상기 사용자의 상기 초기 발화와 연관된 특정 컨텍스트가 상기 사용자의 이전 발화의 특정 전사와 연관된 컨텍스트와 매칭하는지를 결정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  14. 제11항에 있어서,
    상기 하나 이상의 후속 쿼리 맵핑들 각각은 (i) 상기 사용자의 발화의 이전 전사, (ii) 상기 사용자와 연관된 이전 검색 결과들, 및 (iii) 상기 사용자와 연관된 이전 검색 결과들과 연관된 데이터에 대한 하나 이상의 후속 용어들을 더 특정하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  15. 제9항에 있어서,
    상기 수정된 언어 모델을 사용하여 상기 오디오 데이터를 처리하는 단계는 상기 사용자의 초기 발화와 연관된 특정 컨텍스트가 상기 사용자의 후속 발화와 연관된 특정 컨텍스트와 매칭하는를 결정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  16. 삭제
  17. 컴퓨터로 구현되는 방법에 있어서,
    특정 위치에 제공되는 사용자의 초기 발화를 획득하는 단계;
    사용자의 초기 발화의 전사와 매칭하는 용어와 미리 연관되어있는 하나 이상의 후속 쿼리들을 식별하는 단계 -상기 후속 쿼리들은 (i) 상기 용어와 다르고, (ii) 특정 위치에서 상기 용어를 포함하는 초기 쿼리를 제출한 후 검색 엔진의 다른 사용자들이 특정 위치에서 상기 후속 쿼리들을 미리 제출했음을 나타내는 쿼리 로그 데이터에 기초한 상기 용어와 미리 연관됨-;
    수정된 언어 모델을 생성하도록 초기 언어 모델을 조정하는 단계 -상기 수정된 언어 모델은 초기 언어 모델에 대해 증가된 하나 이상의 후속 쿼리들과 연관된 각각의 확률을 지정함-;
    특정 위치에 제공된 상기 사용자의 후속 발화에 대응하는 후속 오디오 데이터를 수신하는 단계;
    상기 후속 발화의 전사와 연관된 하나 이상의 검색 결과들과 연관된 데이터를 생성하기 위해 상기 수정된 언어 모델을 사용하여 후속 오디오 데이터를 처리하는 단계; 그리고
    상기 후속 발화의 전사와 연관된 하나 이상의 검색 결과들과 연관된 데이터를 사용자에게 출력하기 위해 제공하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  18. 제17항에 있어서,
    사용자의 초기 발화에 대응하는 초기 오디오 데이터를 수신하는 단계; 그리고
    상기 초기 언어 모델을 사용하여 상기 오디오 데이터를 처리하여
    상기 사용자의 초기 발화의 전사와 연관된 하나 이상의 검색 결과들을 생성하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  19. 제17항에 있어서,
    상기 초기 언어 모델을 조정하는 단계는,
    하나 이상의 후속 쿼리 맵핑들을 포함하는 데이터베이스에 액세스하는 단계 -각각의 후속 쿼리 매핑은 (i) 상기 사용자의 발화의 이전 전사, (ii) 상기 사용자와 연관된 이전 검색 결과들, 및 (iii) 상기 사용자와 연관된 상기 이전 검색 결과들과 연관된 데이터에 대한 후보 후속 쿼리들의 리스트를 특정함-;
    상기 사용자의 초기 발화의 전사의 하나 이상의 용어들이 상기 하나 이상의 후속 쿼리 맵핑들 내에 포함되는지를 결정하는 단계; 그리고
    상기 하나 이상의 후속 쿼리 맵핑들 내에 포함된 상기 사용자의 상기 초기 발화의 전사의 상기 하나 이상의 용어들에 대응하는 후보 후속 쿼리들의 리스트와 연관된 각각의 확률을 증가시키도록 상기 초기 언어 모델을 조정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  20. 제19항에 있어서,
    상기 하나 이상의 후속 쿼리 매핑들 내에 포함된 후보 후속 쿼리들의 리스트는 상기 사용자의 초기 발화와 연관된 사용자 위치에 적어도 기초하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
KR1020197001544A 2016-07-08 2017-06-23 후속 음성 쿼리 예측 KR102201937B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/205,505 US10026398B2 (en) 2016-07-08 2016-07-08 Follow-up voice query prediction
US15/205,505 2016-07-08
PCT/US2017/038917 WO2018009351A1 (en) 2016-07-08 2017-06-23 Follow-up voice query prediction

Publications (2)

Publication Number Publication Date
KR20190021338A KR20190021338A (ko) 2019-03-05
KR102201937B1 true KR102201937B1 (ko) 2021-01-13

Family

ID=60911024

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197001544A KR102201937B1 (ko) 2016-07-08 2017-06-23 후속 음성 쿼리 예측

Country Status (6)

Country Link
US (1) US10026398B2 (ko)
EP (1) EP3469489B1 (ko)
JP (1) JP6761100B2 (ko)
KR (1) KR102201937B1 (ko)
CN (1) CN109844740B (ko)
WO (1) WO2018009351A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10403273B2 (en) * 2016-09-09 2019-09-03 Oath Inc. Method and system for facilitating a guided dialog between a user and a conversational agent
KR20180084392A (ko) * 2017-01-17 2018-07-25 삼성전자주식회사 전자 장치 및 그의 동작 방법
US10535342B2 (en) * 2017-04-10 2020-01-14 Microsoft Technology Licensing, Llc Automatic learning of language models
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
JP7034027B2 (ja) * 2018-07-26 2022-03-11 ヤフー株式会社 認識装置、認識方法及び認識プログラム
US11238850B2 (en) 2018-10-31 2022-02-01 Walmart Apollo, Llc Systems and methods for e-commerce API orchestration using natural language interfaces
US11183176B2 (en) 2018-10-31 2021-11-23 Walmart Apollo, Llc Systems and methods for server-less voice applications
US11404058B2 (en) 2018-10-31 2022-08-02 Walmart Apollo, Llc System and method for handling multi-turn conversations and context management for voice enabled ecommerce transactions
US11195524B2 (en) * 2018-10-31 2021-12-07 Walmart Apollo, Llc System and method for contextual search query revision
US11295732B2 (en) * 2019-08-01 2022-04-05 Soundhound, Inc. Dynamic interpolation for hybrid language models
US11610588B1 (en) * 2019-10-28 2023-03-21 Meta Platforms, Inc. Generating contextually relevant text transcripts of voice recordings within a message thread
US11373657B2 (en) * 2020-05-01 2022-06-28 Raytheon Applied Signal Technology, Inc. System and method for speaker identification in audio data
US11620982B2 (en) * 2020-06-01 2023-04-04 Rovi Guides, Inc. Systems and methods for improving content discovery in response to a voice query using a recognition rate which depends on detected trigger terms
US11315545B2 (en) * 2020-07-09 2022-04-26 Raytheon Applied Signal Technology, Inc. System and method for language identification in audio data
US20230186898A1 (en) * 2021-12-14 2023-06-15 Google Llc Lattice Speech Corrections

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110077492A1 (en) 2009-09-29 2011-03-31 Allegiance DMS, LLC Systems for Bidirectional Communication With A Patient Via A Medical Measurement Device
US20150370787A1 (en) * 2014-06-18 2015-12-24 Microsoft Corporation Session Context Modeling For Conversational Understanding Systems
US20160140218A1 (en) 2012-06-21 2016-05-19 Google Inc. Dynamic language model
US20160148610A1 (en) 2014-11-26 2016-05-26 Voicebox Technologies Corporation System and method of providing intent predictions for an utterance prior to a system detection of an end of the utterance

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050131695A1 (en) * 1999-02-04 2005-06-16 Mark Lucente System and method for bilateral communication between a user and a system
US7725307B2 (en) 1999-11-12 2010-05-25 Phoenix Solutions, Inc. Query engine for processing voice based queries including semantic decoding
US7392185B2 (en) 1999-11-12 2008-06-24 Phoenix Solutions, Inc. Speech based learning/training system using semantic decoding
US7308404B2 (en) * 2001-09-28 2007-12-11 Sri International Method and apparatus for speech recognition using a dynamic vocabulary
US7542907B2 (en) * 2003-12-19 2009-06-02 International Business Machines Corporation Biasing a speech recognizer based on prompt context
KR20060070605A (ko) 2004-12-21 2006-06-26 한국전자통신연구원 영역별 언어모델과 대화모델을 이용한 지능형 로봇 음성인식 서비스 장치 및 방법
US7620549B2 (en) 2005-08-10 2009-11-17 Voicebox Technologies, Inc. System and method of supporting adaptive misrecognition in conversational speech
US20080154870A1 (en) 2006-12-26 2008-06-26 Voice Signal Technologies, Inc. Collection and use of side information in voice-mediated mobile search
US20080153465A1 (en) 2006-12-26 2008-06-26 Voice Signal Technologies, Inc. Voice search-enabled mobile device
US8880405B2 (en) 2007-03-07 2014-11-04 Vlingo Corporation Application text entry in a mobile environment using a speech processing facility
US8255224B2 (en) * 2008-03-07 2012-08-28 Google Inc. Voice recognition grammar selection based on context
US9978365B2 (en) * 2008-10-31 2018-05-22 Nokia Technologies Oy Method and system for providing a voice interface
US9892730B2 (en) * 2009-07-01 2018-02-13 Comcast Interactive Media, Llc Generating topic-specific language models
US8990085B2 (en) * 2009-09-30 2015-03-24 At&T Intellectual Property I, L.P. System and method for handling repeat queries due to wrong ASR output by modifying an acoustic, a language and a semantic model
CN103871403B (zh) 2012-12-13 2017-04-12 北京百度网讯科技有限公司 建立语音识别模型的方法、语音识别方法及对应装置
US9466294B1 (en) * 2013-05-21 2016-10-11 Amazon Technologies, Inc. Dialog management system
US9484025B2 (en) * 2013-10-15 2016-11-01 Toyota Jidosha Kabushiki Kaisha Configuring dynamic custom vocabulary for personalized speech recognition
US9196244B2 (en) 2014-01-08 2015-11-24 Nuance Communications, Inc. Methodology for enhanced voice search experience
US9502032B2 (en) 2014-10-08 2016-11-22 Google Inc. Dynamically biasing language models

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110077492A1 (en) 2009-09-29 2011-03-31 Allegiance DMS, LLC Systems for Bidirectional Communication With A Patient Via A Medical Measurement Device
US20160140218A1 (en) 2012-06-21 2016-05-19 Google Inc. Dynamic language model
US20150370787A1 (en) * 2014-06-18 2015-12-24 Microsoft Corporation Session Context Modeling For Conversational Understanding Systems
US20160148610A1 (en) 2014-11-26 2016-05-26 Voicebox Technologies Corporation System and method of providing intent predictions for an utterance prior to a system detection of an end of the utterance

Also Published As

Publication number Publication date
US10026398B2 (en) 2018-07-17
JP6761100B2 (ja) 2020-09-23
US20180012594A1 (en) 2018-01-11
CN109844740B (zh) 2023-06-20
KR20190021338A (ko) 2019-03-05
JP2019527379A (ja) 2019-09-26
WO2018009351A1 (en) 2018-01-11
EP3469489B1 (en) 2022-11-16
EP3469489A1 (en) 2019-04-17
EP3469489A4 (en) 2019-12-18
CN109844740A (zh) 2019-06-04

Similar Documents

Publication Publication Date Title
KR102201937B1 (ko) 후속 음성 쿼리 예측
US10957312B2 (en) Scalable dynamic class language modeling
US11282513B2 (en) Negative n-gram biasing
KR101859708B1 (ko) 개별화된 핫워드 검출 모델들
CN107430859B (zh) 将输入映射到表单域
US10204619B2 (en) Speech recognition using associative mapping
US9576578B1 (en) Contextual improvement of voice query recognition
JP2019507362A (ja) 外部データソースを用いた音声の再認識
US9135912B1 (en) Updating phonetic dictionaries
US11676577B2 (en) Speech processing
CN110895938B (zh) 语音校正系统及语音校正方法

Legal Events

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