KR102151681B1 - 언어 모델용 대화 상태들 결정 - Google Patents

언어 모델용 대화 상태들 결정 Download PDF

Info

Publication number
KR102151681B1
KR102151681B1 KR1020187019324A KR20187019324A KR102151681B1 KR 102151681 B1 KR102151681 B1 KR 102151681B1 KR 1020187019324 A KR1020187019324 A KR 1020187019324A KR 20187019324 A KR20187019324 A KR 20187019324A KR 102151681 B1 KR102151681 B1 KR 102151681B1
Authority
KR
South Korea
Prior art keywords
grams
conversation
voice input
conversation state
states
Prior art date
Application number
KR1020187019324A
Other languages
English (en)
Other versions
KR20180090869A (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 KR20180090869A publication Critical patent/KR20180090869A/ko
Application granted granted Critical
Publication of KR102151681B1 publication Critical patent/KR102151681B1/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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic 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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text 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/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • 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/065Adaptation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • G10L15/197Probabilistic grammars, e.g. word n-grams
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Machine Translation (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본 명세서에서는 음성 입력들에 대응하는 대화 상태들을결정하고 결정된 대화 상태들에 기초하여 언어 모델을 바이어스 하기 위한 시스템들, 방법들, 디바이스들 및 다른 기법들이 기술된다. 일부 구현예들에서, 방법은 컴퓨팅 시스템에서, 음성 입력을 표시하는 오디오 데이터를 수신하는 단계 및 복수의 대화 상태들 중에서, 상기 음성 입력에 대응하는 특정한 대화 상태를 결정하는 단계를 포함한다. 상기 음성 입력에 대응하는 상기 특정한 대화 상태와 연관된 n-gram들의 집합이 식별될 수 있다. 상기 음성 입력에 대응하는 상기 특정한 대화 상태와 연관된 상기 n-gram들의 집합을 식별함에 응답하여, 상기 n-gram들의 집합 내의 n-gram들에 대한, 상기 언어 모델이 표시하는, 확률 스코어들을 조정함으로써 상기 언어 모델은 바이어스될 수 있다. 상기 조정된 언어 모델을 사용하여 상기 음성 입력이 전사될 수 있다.

Description

언어 모델용 대화 상태들 결정
본 명세서는 일반적으로 컴퓨터 기반 음성 인식에 관한 것으로, 특히 대화 상태들에 기초한 언어 모델들을 바이어스(biasing) 하는 것에 관한 것이다.
점점 더, 컴퓨팅 디바이스들은 타이핑된 입력 이외에 또는 대안적으로 발화된 사용자 입력을 수신하는 능력을 제공 받는다. 음성 보조자 애플리케이션들은, 예를 들어, 음성 보조자와 사용자 간의 발화된 응답들 및 프롬프트들의 다중 단계 대화들에 기초하여 디바이스에서 수행할 작업들을 결정할 수 있다. 마찬가지로, 사용자가 입력을 필드들에 타이핑할 필요성을 제거하기 위해 일부 디바이스들 상의 웹 브라우저들 및 다른 애플리케이션들은 폼 필드들(form field)에 음성 입력을 수신하도록 배열되어있다. 사용자에 의해 컴퓨팅 디바이스에 제공되는 음성 입력들은 음성 인식기에 의해 처리될 수 있다. 음성 인식기는 음성 입력들을 텍스트로 전사하도록 집합적으로 구성된 음향 모델 및 언어 모델과 같은 컴포넌트들을 포함할 수 있다.
본 명세서에서는 음성 입력들에 대응하는 대화 상태들을 결정하고 결정된 대화 상태들에 기초하여 언어 모델을 바이어스 하기 위한 시스템들, 방법들, 디바이스들 및 다른 기법들이 기술된다. 일부 구현예들에서, 음성 인식 시스템은 각각의 대화 상태에 대한 모드를 바이어스하는 각각의 언어 모델 및 대화 상태들의 집합을 자동으로 학습할 수 있다. 대화 상태 및 바이어싱 모드들은 사용자에 의해 미리 정의되지 않고서 결정될 수 있다.
본 명세서에 기술된 발명의 일부 구현들은 컴퓨터로 구현되는 방법을 포함한다. 상기 방법은 컴퓨팅 시스템에서, 음성 입력을 표시하는 오디오 데이터를 수신하는 단계 및 복수의 대화 상태들 중에서, 상기 음성 입력에 대응하는 특정한 대화 상태를 결정하는 단계를 포함할 수 있다. 상기 음성 입력에 대응하는 상기 특정한 대화 상태와 연관된 n-gram들의 집합이 식별될 수 있다. 상기 n-gram들의 집합은 상기 대화 상태에 대응하는 이력적 음성 입력들에서 자주 발생하는 상기 n-gram들의 집합 내의 n-gram들에 적어도 기초하여 상기 특정한 대화 상태와 연관될 수 있다. 상기 음성 입력에 대응하는 상기 특정한 대화 상태와 연관된 상기 n-gram들의 집합을 식별함에 응답하여, 상기 n-gram들의 집합 내의 n-gram들에 대한, 상기 언어 모델이 표시하는, 확률 스코어들을 조정함으로써 상기 언어 모델이 바이어스될 수 있다. 상기 음성 입력은 상기 조정된 언어 모델을 사용하여 전사될 수 있다.
이들 및 다른 구현예들은 다음 구성들 중 하나 이상을 선택적으로 포함할 수 있다.
상기 복수의 대화 상태들은 특정한 작업과 관련된 컴퓨팅 디바이스와 사용자 음성 인터랙션들의 복수의 단계들을 각각 표시할 수 있다.
상기 컴퓨팅 시스템은 제2 음성 입력을 수신할 수 있으며, 상기 복수의 대화 상태들 중에서, 상기 제2 음성 입력에 대응하는 제2 특정한 대화 상태를 결정할 수 있다. 상기 제2 음성 입력에 대응하는 상기 제2 특정한 대화 상태와 연관된 n-gram들의 제2 집합이 식별될 수 있다. 상기 n-gram들의 제2 집합은 상기 음성 입력에 대응하는 상기 특정한 대화 상태와 연관된 상기 n-gram들의 집합과 상이할 수 있다.
상기 음성 입력에 대응하는 상기 특정한 대화 상태를 결정하는 단계는: 상기 복수의 대화 상태들 중에서, 상기 음성 입력에 선행하는 제2 음성 입력에 대응하는 제2 특정한 대화 상태를 식별하는 단계, 상기 음성 입력 및 상기 제2 음성 입력은 각각 동일한 작업과 관련되며; 및 상기 제2 특정한 대화 상태 이후에 발생할 가능성이 있는 상기 복수의 대화 상태들 중에서 하나 이상의 대화 상태들을 표시하는 데이터에 기초하여 상기 음성 입력에 대응하는 상기 특정한 대화 상태를 결정하는 단계를 포함할 수 있다.
상기 음성 입력에 대응하는 상기 특정한 대화 상태를 결정하는 단계는 상기 음성 입력의 전사를 생성하는 단계 및 상기 특정한 대화 상태와 연관된 상기 n-gram들의 집합 내의 하나 이상의 n-gram들 및 상기 음성 입력의 상기 전사에서 발생하는 하나 이상의 n-gram들 사이의 매칭(match)을 결정하는 단계를 포함할 수 있다.
상기 매칭을 결정하는 단계는, 상기 음성 입력의 상기 전사에서 발생하는 상기 하나 이상의 n-gram들과 상기 특정한 대화 상태와 연관된 상기 n-gram들의 집합 내의 상기 하나 이상의 n-gram들 사이의 의미론적 관계를 결정하는 단계를 포함할 수 있다.
상기 음성 입력과 연관된 컨텍스트를 표시하는 데이터가 수신될 수 있다. 상기 음성 입력에 대응하는 상기 특정한 대화 상태를 결정하는 단계는 상기 음성 입력과 연관된 상기 컨텍스트에 기초하여 상기 특정한 대화 상태를 식별하는 단계를 포함할 수 있다.
상기 음성 입력과 연관된 상기 컨텍스트는 상기 음성 입력이 수신되었던 시간에 상기 음성 입력이 수신되었던 컴퓨팅 디바이스에서의 사용자 인터페이스의 디스플레이를 특징으로 하는 데이터를 포함할 수 있다. 상기 음성 입력과 연관된 상기 컨텍스트에 기초하여 상기 특정한 대화 상태를 식별하는 단계는, 상기 음성 입력이 수신되었던 시간에 상기 음성 입력이 수신되었던 상기 컴퓨팅 디바이스에서의 상기 사용자 인터페이스의 상기 디스플레이를 특징으로 하는 데이터에 기초하여, 상기 특정한 대화 상태를 식별하는 단계를 포함할 수 있다.
상기 음성 입력이 유도되었던 애플리케이션을 표시하는 애플리케이션 식별자가 컴퓨팅 시스템에서 수신될 수 있다. 상기 복수의 대화 상태들은 상기 음성 입력이 유도되었던 상기 애플리케이션에 대한 애플리케이션-특정 작업에 관련될 수 있다.
본 명세서에 게시된 발명의 일부 구현예들은 다른 컴퓨터로 구현되는 방법을 포함한다. 상기 방법은 다중-상태 대화에서 상이한 상태들에 대응하는 음성 입력들의 복수의 전사들을 획득하는 단계를 포함할 수 있다. 상기 복수의 전사들 중 각각의 전사에 대하여, 상기 전사에서 발생하는 n- 그램의 집합이 식별될 수 있다. 상기 식별된 n-gram들의 집합들과 관련이 있다고 결정된 상기 복수의 전사들 중에서 전사들 각각의 서브세트를 그룹들 각각에 할당함으로써 전사들의 상기 복수의 그룹들이 생성될 수 있다. 전사들의 상기 복수의 그룹들에 기초하여, 상기 다중 상태 대화에서 발생하는 복수의 대화 상태들 및 각각의 대화 상태와 연관된 n-그램들 각각의 집합을 표시하는 모델이 결정될 수 있다. 음성 인식에 언어 모델을 바이어스 하기 위해 상기 결정된 모델이 제공될 수 있다.
이들 및 다른 구현예들은 다음 구성들 중 하나 이상을 선택적으로 포함할 수 있다.
상기 복수의 대화 상태들 중 각각은 전사들의 상기 그룹들의 각각의 서브세트에 대응하고 상기 복수의 대화 상태들의 각각에 대한 전사들의 상기 그룹들 상기 각각의 서브세트들이 서로 상이하도록, 전사들의 상기 복수의 그룹들 내의 상기 그룹들 각각을 상기 복수의 대화 상태들 중 각각의 대화 상태에 할당함으로써 상기 복수의 대화 상태들이 결정될 수 있다. 상기 복수의 대화 상태들 중 각 대화 상태와 연관된 n-gram들의 상기 각각의 집합은 상기 대화 상태에 대응하는 전사들의 상기 그룹들의 상기 각각의 서브세트 내의 전사들에서 발생하는 상기 식별된 n-gram들의 집합들에 기초하여 선택될 수 있다.
상기 복수의 대화 상태들 중 제1 대화 상태는 전사들의 상기 그룹들 중 둘 이상을 포함하는, 전사들의 상기 그룹들의, 제1 서브세트에 대응할 수 있다.
전사들의 상기 복수의 그룹들을 생성하는 단계는 서로 의미론적으로 유사하다고 결정된 전사들의 그룹들을 형성하는 단계를 포함할 수 있다.
상기 컴퓨팅 시스템은 상기 다중 상태 대화에서 상기 음성 입력들 중 적어도 일부가 제출되었던 순서를 표시하는 데이터를 수신할 수 있다. 상기 다중 상태 대화에서 상기 음성 입력들의 적어도 일부가 제출되었던 상기 순서를 표시하는 상기 데이터에 적어도 기초하여, 상기 복수의 대화 상태들 내의 상기 대화 상태들의 시퀀스가 결정될 수 있다. 상기 시퀀스 정보는, 각각의 대화 상태에 대해, 상기 각각의 대화 상태 또는 상기 각각의 대화 상태에 선행하는 하나 이상의 다른 대화 상태들을 뒤따르는 하나 이상의 다른 대화 상태들을 표시할 수 있다.
음성 입력의 상기 복수의 전사들은, 상기 다중 상태 대화의 상기 복수의 대화 상태들 중 각각의 대화 상태에 대해, 상기 복수의 대화 상태들 중에서 상기 각각의 대화 상태에 대응하는 음성 입력들의 다수의 전사들을 포함할 수 있다.
상기 컴퓨팅 시스템은 상기 복수의 전사들 중 적어도 일부에 대응하는 상기 음성 입력들과 연관된 각각의 컨텍스트들을 표시하는 데이터를 수신할 수 있다. 전사들의 상기 복수의 그룹들을 생성하는 단계는 상기 데이터에 더 기초하여 전사들을 그룹화하는 단계를 포함할 수 있으며, 상기 데이터는 상기 복수의 전사들의 상기 적어도 일부에 대응하는 상기 음성 입력들과 연관된 상기 각각의 컨텍스트들을 표시한다.
상기 복수의 전사들 중에서 제1 전사에 대응하는 제1 음성 입력과 연관된 상기 각각의 컨텍스트는 데이터를 할 수 있으며, 상기 데이터는 상기 제1 음성 입력이 수신되었던 시간에 상기 제1 음성 입력이 수신되었던 컴퓨팅 디바이스에서의 사용자 인터페이스의 디스플레이를 특징으로 한다.
본 명세서에 게시된 발명의 일부 구현예들은 컴퓨팅 시스템을 포함할 수 있다. 컴퓨팅 시스템은 하나 이상의 프로세서들 및 하나 이상의 컴퓨터 판독가능 매체를 포함할 수 있다. 컴퓨팅 판독가능 매체는 명령어들을 저장하며, 상기 명령어들은 실행시, 동작들을 수행케 하며, 상기 동작들은: 음성 입력을 표시하는 오디오 데이터를 수신하는 동작; 복수의 대화 상태들 중에서, 상기 음성 입력에 대응하는 특정한 대화 상태를 결정하는 동작; 상기 음성 입력에 대응하는 상기 특정한 대화 상태와 연관된 n-gram들의 집합을 식별하는 동작, 상기 n-gram들의 집합은 상기 대화 상태에 대응하는 이력적 음성 입력들에서 자주 발생하는 상기 n-gram들의 집합 내의 n-gram들에 적어도 기초하여 상기 특정한 대화 상태와 연관되며; 상기 음성 입력에 대응하는 상기 특정한 대화 상태와 연관된 상기 n-gram들의 집합을 식별함에 응답하여, 상기 n-gram들의 집합 내의 n-gram들에 대한, 상기 언어 모델이 표시하는, 확률 스코어들을 조정함으로써 상기 언어 모델을 바이어스하는 동작; 및 상기 조정된 언어 모델을 사용하여 상기 음성 입력을 전사하는 동작을 포함한다.
일부 구현예들에서, 여기에 기술된 기법들은, 일정 경우들에서, 다음 이점들 중 하나 이상을 실현할 수 있다. 음성 인식기는 음성 입력들에 대응하도록 결정된 대화 상태들에 기초하여 바이어스된 언어 모델을 사용하여 음성 입력들의 보다 정확한 전사들을 생성할 수 있다. 또한, 인간-기계 대화에서 발생하는 대화 상태들이 컴퓨팅 시스템에 의해 자체적으로 결정될 수 있어, 애플리케이션 개발자들이 그들 각각의 애플리케이션들에서 대화 상태들을 추적하거나 각각의 애플리케이션들에 대한 음성 입력들을 전사하는 음성 인식 시스템에 대화 상태 식별자들을 제공할 필요가 없다. 일부 구현예들에서, 컴퓨팅 시스템은 이력적 음성 입력들 및 전사들의 분석에 기초하여, 복수의 대화 상태들과 연관된 n-gram들의 각 집합을 결정할 수 있다. n-gram들의 집합들은 주어진 전사 요청에 대해 어떤 대화 상태가 검출되었는지에 기초하여 언어 모델을 상이한 방식들로 바이어스 하는데 사용될 수 있다. 유익하게도, 일부 구현예들에서, 이들 기법들은 애플리케이션 개발자들이 음성 인식 시스템에 각 대화 상태와 연관된 n-gram들의 집합들을 수동으로 제공할 필요를 제거할 수 있다.
도 1은 음성 입력과 연관하여 식별된 대화 상태에 기초하여 바이어스되었던 언어 모델을 사용하여 음성 입력을 텍스트로 전사하기 위한 예시적 프로세스의 개념적 시스템-흐름도를 도시한다.
도 2는 바이어스된 언어 모델을 사용하여 음성 입력을 텍스트로 전사하기 위한 예시적 프로세스의 제 2 개념적 시스템 흐름도를 도시한다. 도 2에 표현된 언어 모델은, 시스템이 음성 입력에 선행하는 하나 이상의 대화 상태들에 기초하여 식별한, 특정한 대화 상태와 연관된 n-gram들에 기초하여 바이어스 된다.
도 3은 예시적 대화 상태-흐름 모델을 표현하는 그래프이다. 그래프는 복수의 대화 상태들 및 특정한 대화 상태들 간의 전이들에 대응하는 방향 엣지들에 대응하는 노드들을 포함한다.
도 4는 이력적 음성 입력의 분석 또는 전사 기록들에 기초하여 대화 상태들 및 대화 상태들과 연관된 n-gram들의 각각의 집합들을 결정하기 위한 예시적 프로세스의 흐름도이다.
도 5a 및 도 5b는 대화에서 발생하도록 결정된 대화 상태들에 대응하는 최종 그룹들의 집합을 형성하기 위해 전사들의 유사한 그룹들을 병합하기 위한 기법들의 개념도들이다.
도 6은 인식된 음성 입력과 연관된 대화 상태에 기초하여 선택된 바이어스된 언어 모델을 사용하여 음성 인식을 수행하기 위한 예시적 프로세스의 흐름도이다.
도 7은 본 명세서에 기술된 컴퓨터로 구현되는 방법들 및 다른 기법들을 수행하는데 사용될 수 있는 컴퓨팅 디바이스 및 모바일 컴퓨팅 디바이스의 예시들을 도시한다.
다양한 도면들의 동일한 참조 부호들은 동일한 요소들을 표시한다.
본 명세서는 음성 입력을 텍스트로 전사하기 위해 음성 인식기에 의해 사용될 수 있는 언어 모델들과 같은, 언어 모델들을 바이어스 하기 위해 대화 상태들을 식별하고 사용하기 위한 시스템들, 방법들, 디바이스들 및 다른 기법들을 일반적으로 기술한다. 예를 들어, 주어진 음성 입력 전사 요청과 연관된 n-gram들 또는 대화 상태를 명시적으로 식별하는 애플리케이션 개발자 또는 애플리케이션 없이 대화 상태들 및 n-gram들을 자동으로 결정하기 위해 기법들이 기술된다. 이 기법들 및 다른 기법들은 도면들과 관련하여 보다 상세하게 기술된다.
도 1을 참조하면, 음성 입력(110)에 대응하는 식별된 대화 상태에 기초하여 바이어스되었던 언어 모델(120)을 사용하여 음성 입력(110)을 텍스트로 전사하는 예시적 프로세스(100)를 수행하는 컴퓨팅 시스템의 개념도가 도시된다. 상기 시스템은 사용자 디바이스(108)와 통신하는 음성 인식기(102)를 포함한다. 사용자 디바이스(108)는 일반적으로 사용자로부터 음성 입력들을 검출할 수 있는 임의의 유형의 컴퓨팅 디바이스일 수 있다. 예를 들어, 사용자 디바이스(108)는 데스크탑 컴퓨터, 노트북 컴퓨터, 스마트폰, 태블릿 컴퓨팅 디바이스, 텔레비전 또는 다른 멀티미디어 디바이스, 또는 스마트워치와 같은 웨어러블 컴퓨팅 디바이스일 수 있다. 사용자 디바이스(108)는 음성 입력을 검출하는 마이크로폰, 소프트웨어 및 음성 입력을 디지털 오디오 데이터로 변환하는 회로(예를 들어, 아날로그-디지털 변환기)를 포함할 수 있다.
일부 구현예들에서, 음성 인식기(102)는 사용자 디바이스(108)로부터 멀리 떨어진 하나 이상의 컴퓨터들 상에서 동작될 수 있다. 예를 들어, 음성 인식기(102)는 하나 이상의 네트워크들(예를 들어, 인터넷)를 통해 음성 인식기(102)와 통신하는 많은 상이한 사용자 디바이스들로부터 음성 입력들을 전사하는 클라우드 기반 음성 인식 서비스를 제공할 수 있다. 이러한 방식으로, 음성 인식 작업들이 잠재적으로 훨씬 더 큰 연산력을 갖는 원격 서버들로 오프로드되기 때문에 각 사용자 디바이스들에서의 컴퓨팅 리소스들이 보전될 수 있다. 일부 구현예들에서, 사용자 디바이스(108) 오프라인이고 네트워크 연결이 불가능할 때에도 음성 인식 기능들을 인에이블하도록 하기 위해, 음성 인식기(102)가 사용자 디바이스(108) 상에 로컬하게 제공될 수 있다.
프로세스(100)는 사용자(106)가 음성 입력(110)을 사용자 디바이스(108)에 제공할 때 시작된다. 발화 전, 사용자(106)는 검출된 음성의 전사를 생성하기 위해, 디바이스(108)로 하여금 음성 입력들을 검출하고 음성 인식기(102)와 통신을 인에이블하도록 하는 모드를 디바이스(108) 상에서 활성화할 수 있다. 도 1에 표현된 예시에서, 사용자(106)는 "pepperoni and mushroom"이라는 구문을 발화하였었다. 상기 구문은 피자 레스토랑에 주문하기 위해 사용자가 디바이스(108) 상의 애플리케이션을 가지고서 참여하는 다중-단계 대화의 컨텍스트에서 발화될 수 있다. 예를 들어, 사용자(106)는 사용자 입력을 수신하기 위한 입력 필드들(예를 들어, 텍스트 필드들, 드롭-다운 메뉴들, 또는 라디오 버튼 선택기들)의 집합을 포함하는 사용자 인터페이스(예를 들어, 디바이스(108)상의 네이티브 애플리케이션 또는 웹 페이지의 프리젠테이션)에 제시된 폼을 완성함으로써 자신의 피자 주문에 대한 옵션을 선택할 수 있다. 일부 구현예들에서, 디바이스(108)는 타이핑 또는 음성 입력들과 같은 상이한 입력 메카니즘들을 사용하여 사용자(106)로 하여금 필드 각각에 입력을 제공하도록 할 수 있다. 타이핑된 입력으로, 사용자(106)는 키보드를 통해 다양한 필드들에 텍스트를 직접 입력할 수 있는 반면, 음성 입력들로, 사용자는(106) 텍스트로 변환되는 음성 입력들로써 다양한 필드들에 제공될 텍스트를 구술한다. 일부 구현예들에서, 사용자(106)는, 사용자(106)에게 시각 및/또는 청각으로 제시된 일련의 질문들에 응답하여 음성 입력들을 제공하기 위해 디바이스(108)가 사용자(106)에게 촉구하는, 디바이스(108) 상의 음성 보조자와 대화를 수행할 수 있다(예를 들어, "What size pizza would you like to order?" "Which toppings would you like on your pizza?" "you like to add any sides?").
동작 A(104)에서, 음성 입력(110)을 수신하면, 디바이스(108)는 음성 인식기(102)가 음성 입력(110)을 텍스트로 전사하도록 하는 요청(112)을 생성한다. 음성 인식기(102)가 사용자 디바이스(108)로부터 멀리 떨어지는 경우, 전사 요청(112)은 네트워크를 통해 음성 인식기(102)로 전송될 수 있다. 요청(112)은 하나 이상의 컴포넌트들을 포함할 수 있다. 일반적으로, 요청은 음성 입력(110)에 대한 디지털 오디오 데이터를 포함할 것이다. 일부 구현예들에서, 요청(112)은 컨텍스트 데이터, 애플리케이션 식별자, 대화 식별자, 대화 상태 식별자, 또는 이들 중 둘 이상의 조합을 더 포함할 수 있다. 일부 구현예들에서, 요청(112)은 추가적 컨텍스트 데이터, 애플리케이션 식별자, 대화 식별자 또는 대화 상태 식별자 없이 음성 입력(110)에 대한 디지털 오디오만을 포함할 수 있다.
요청(112) 내의 컨텍스트 데이터는 일반적으로 인식기(102)가 전사를 결정하기 위해 사용할 수 있는 음성 입력(110)에 대한 오디오 데이터 이외에, 임의의 데이터를 포함할 수 있다. 일부 유형의 컨텍스트 데이터는 음성 입력(108)이 디바이스(108)에 의해 검출되었던 시간 또는 그 근방에서 사용자 디바이스(108)의 상태 또는 컨디션을 표시할 수 있다. 후술되는 바와 같이, 컨텍스트 데이터의 예시들은 사용자 계정 정보, 익명화된 사용자 프로파일 정보(예를 들어, 성별, 연령, 브라우징 이력 데이터, 디바이스(108)에 제출되었던 이전 쿼리를 표시하는 데이터), 위치 정보 및 스크린 서명(즉, 음성 입력(110)이 디바이스(108)에 의해 검출되었었을 때 또는 그 근방에서 디바이스(108)에 의해 디스플레이되었던 컨텐츠를 표시하는 데이터)를 포함한다. 일부 구현예들에서, 애플리케이션 식별자, 대화 식별자 및 대화 상태 식별자는 특별한 유형의 컨텍스트 데이터로 고려될 수 있지만, 여기에서는 예시로써 별도로 논의된다.
음성 인식기(102)에 의해 식별될 수 있는 다수의 애플리케이션들 중에서, 음성 입력(110)이 유도되었던, 특정한 애플리케이션을 식별하기 위해 애플리케이션 식별자가 요청(112)에 포함될 수 있다. 일부 구현예들에서, 음성 인식기(102)는 상이한 애플리케이션들에 대한 데이터를 바이어스하는 다른 언어 모델 또는 대화 상태들의 상이한 세트들을 저장할 수 있으며, 음성 입력(110)을 전사하는데 사용할 대화 상태들의 적절한 집합을 결정하기 위해 애플리케이션 식별자가 음성 인식기(102)에 의해 사용될 수 있다. 예를 들어, 음성 인식기(102)는 피자 주문 애플리케이션에 대한 데이터를 바이어스 하는 언어 모델 및 대화 상태들의 제1 집합을 저장할 수 있다. 예를 들어, 요청(112)에 애플리케이션 식별자를 포함시킴으로써, 음성 인식기(102)는 요청(112)이 피자 주문 애플리케이션에 관련된다고 인식할 수 있다. 따라서, 피자 주문 애플리케이션과 연관된 데이터를 바이어스하는 언어 모델링 및 대화 상태들의 제1 집합은 음성 입력(110)을 전사하는데 사용하기 위해 선택될 수 있다.
일부 구현예들에서, 음성 입력(110)을 전사하기 위한 요청(112)은 대화 식별자를 포함할 수 있다. 대화 식별자는, 다수의 대화들 중에서, 전사 요청(112)이 관련된 특정한 대화를 표시할 수 있다. 일부 구현예들에서, 대화 식별자는 단일 애플리케이션에서 제공되는 다수의 대화들 중에서 구별하는데 사용될 수 있다. 예를 들어, 피자 주문 애플리케이션의 주요 대화는 피자 주문을 제출하기 위한 대화일 수 있다. 그러나 애플리케이션은, 사용자가 고객 피드백을 제출할 수 있도록 하는 대화 또는 사용자가 계정 세팅들을 조정할 수 있도록 하는 대화와 같이, 사용자가 애플리케이션과 다른 방식들로 인터랙팅할 수 있도록 하는 다른 대화들을 추가로 제공할 수 있다. 음성 입력(110)을 전사하고 언어 모델을 바이어스하기 위한 파라미터들 및 적절한 모델들을 선택하기 위해 그리고 가능한 대화들을 서로 구별하기 위해 음성 인식기(102)는 대화 식별자를 사용할 수 있다.
일부 구현예들에서, 음성 입력(110)을 전사하기 위한 요청(112)은 대화 상태 식별자를 포함할 수 있다. 대화 상태 식별자는, 주어진 대화의 다수의 대화 상태들 중에서, 전사 요청(112)이 관련된 특정한 대화 상태를 표시할 수 있다. 대화 상태는 일반적으로 사용자가 음성 입력들을 컴퓨팅 디바이스에 제공하는 하나 이상의 대화 상태들의 표현이다. 대화의 단계들은 특정한 작업 또는 활동과 관련된 일련의 사용자 인터랙션들을 구성할 수 있다. 예를 들어, 피자 주문 활동을 위한 대화는 단계들을 포함할 수 있으며, 상기 단계들은 피자 크기 선택, 토핑들 선택, 배달 주소 지정 및 지불 정보 제공을 위해 각각의 음성 입력들이 수신되는 단계들이다. 대화 상태는 활동의 각 단계에 할당될 수 있으며, 일부 대화 상태들은 다수의 단계들에 할당될 수 있다. 대화 상태 식별자는 상태들 중 음성 입력(110)이 유도되는 상태를 표시할 수 있다. 일부 구현예들에서, 대화 상태 식별자는 언어 모델(120)을 바이어스하기 위한 방식을 결정하기 위해 음성 인식기(102)에 의해 사용되는 대화 상태의 진표시(ture indication)일 수 있다. 일부 구현예들에서, 대화 상태 또는 진대화 상태(ture dialog state)의 디바이스 추정치를 표시하는 대화 상태 "힌트"가 (예를 들어, 정수의 형태로) 제공될 수 있다. 음성 인식기(102)는 대화 상태 힌트를 신뢰하거나 힌트가 정확한지를 검증하기 위해 다른 데이터(예를 들어, 컨텍스트 데이터, 대화 상태 이력 데이터)를 사용할 수 있다.
동작 B(114)에서, 음성 인식기(102)는 요청(112)과 연관된 대화 상태를 결정하기 위해 요청(112)을 처리한다 (따라서, 음성 입력(110)과 연관된다). 일부 구현예들에서, 음성 인식기(102)는 요청(112)과 연관된 대화 상태를 결정하기 위해 음성 입력(110)에 대한 오디오 데이터 이외의 요청(112)에 포함된 정보를 사용한다. 예를 들어, 요청(112)이 애플리케이션 식별자, 대화 식별자 및 대화 상태 식별자를 포함하면, 그 후 3개의 정보 모두가 대화 상태를 결정하는데 사용될 수 있다. 애플리케이션 식별자는 하나 이상의 대화들의 집합과 연관된 특정한 애플리케이션을 식별할 수 있다. 대화 식별자는 이 대화들 중 요청(112)이 관련된 대화를 식별할 수 있고, 대화 상태 식별자는 식별된 대화에서 요청(112)이 어느 대화 상태와 관련되었는지 식별할 수 있다. 이러한 3개의 정보 모두가 음성 인식기(102)에 그 보다 적게 제공 되거나 또는 제공되지 않는 경우에도 대화 상태는 일부 구현예들에서 결정될 수 있다.
일부 구현예들에서, 음성 인식기(102)는 대화 상태를 선택하기 위해 다른 유형의 컨텍스트 데이터를 사용할 수 있다. 예를 들어, 음성 입력(110)이 디바이스(108)에 제공되는 시간 또는 그 근방에서 (즉, 스크린 서명) 요청(112)은 디바이스(108) 상에 디스플레이된 사용자 인터페이스를 특징으로하는 해시(hash) 값을 포함할 수 있다. 후속하여, 음성 인식기(102)는 요청(112)에서 수신된 해시 값을 상이한 대화 상태들과 연관된 미리 결정된 해시 값들과 비교할 수 있다. 요청(112)에서 수신된 해시 값과 일치하는, 미리 결정된 해시 값과 연관된 특정한 대화 상태는 그 후 음성 입력(110) 및 요청(112)이 대응한다고 결정되는 대화 상태로 선택될 수 있다. 일부 구현예들에서, 대화 상태의 선택은 둘 이상 유형의 컨텍스트 데이터(예를 들어, 음성 입력(110)이 검출되었었을 때 디바이스(108)의 지리적 위치를 표시하는 위치 표시기, 스크린 서명, 대화 상태 힌트)에 기초할 수 있다. 일부 구현예들에서, 음성 인식기(102)는 여러 유형의 컨텍스트 데이터를 포함하는 다수의 신호들에 기초하여 예측된 대화 상태를 출력하는 분류기를 사용함으로써 대화 상태를 선택할 수 있다. 분류기는 규칙 기반일 수 있거나 기계 학습 프로세스들(예를 들어, 신경 네트워크)에 의해 트레이닝될 수 있다.
도 1의 예시에서, 복수의 대화 상태들 중 각각을 각각의 컨텍스트 데이터 및 하나 이상의 n-gram들(예를 들어, 데이터를 바이어스 하는 언어 모델)의 각각의 집합와 상관시키는, 데이터 구조(116)의 표현이 도시되어 있다. 특히 피자 주문 대화의 상이한 단계들에 대응하는 5 개의 대화 상태들이 도시된다. 예를 들어, 대화 상태 '1'은 배달 또는 캐리 아웃 옵션에 대한 사용자의 선호도와 관련되며, 대화 상태 '2'는 빵껍질 유형에 대한 사용자의 선호도와 관련이 있으며 대화 상태 '3'은 피자 토핑들에 대한 사용자의 선호도와 관련된다. 일부 구현예들에서, 대화는 대화의 다수의 상이한 단계들에서 사용자들로부터 유사한 응답들을 이끌어내는 각각의 프롬프트들을 포함할 수 있다. 상이한 프롬프트들 중 각각이 상이한 컨텍스트 데이터와 연관될 수 있지만, 음성 인식기(102)는 유사한 프롬프트들 및 응답들을 단일 대화 상태로 병합할 수 있었다. 예를 들어, 피자 주문 애플리케이션은 사용자(106)에게 피자에 어떤 토핑들을 포함할지 묻는 제1 프롬프트 및 사용자(106)에게 할인된 가격으로 추가 토핑들을 추가하기를 원하는지를 묻는 제2 프롬프트를 포함할 수 있다. 디바이스(108)는 제1 프롬프트에 대한 요청(112)에서 컨텍스트 값(예를 들어, 대화 상태 식별자) '1'을 제공할 수 있고 제2 프롬프트에 대한 요청(112)에서 컨텍스트 값 '7'을 제공할 수 있다. 그러나 이러한 프롬프트들 각각에 응답하는 음성 입력들 사이의 유사성 때문에, 음성 인식기(102)는 두 프롬프트들 모두에 대응하는 단일 대화 상태를 유지할 수 있다.
데이터 구조(116)는 각 대화 상태와 연관된 하나 이상의 n-gram의 각각의 집합을 식별한다. 주어진 대화 상태와 연관된 n-gram들의 집합은 일반적으로 단어, 구, 숫자 또는 주어진 대화 상태에 대응하는 것으로 결정되었던 음성 입력들에서 자주 발생하는 다른 언어 단위들(즉, n-gram들)을 표시한다. 예를 들어, 데이터 구조(116)는 대화 상태 '5'에서 사용자에 의해 발언될 가능성이 있는 용어들로써 n-gram들 "신용", "지불", "달러", "센트", "매장-내" 및 "현금"을 표시하며, 그것은 피자 주문에 대한 지불 옵션들과 관련된다. 일부 구현예들에서, 각 대화 상태에 할당된 각각의 n-gram들은 이전의 전사 요청들의 결과 분석에 기초하여 음성 인식기(102)에 의해 결정될 수 있다. 예를 들어, 음성 인식기(102) (또는 다른 컴퓨팅 시스템)은 일정 기간 동안 많은 상이한 사용자들로부터의 음성 입력들의 전사들을 기록(log)할 수 있다. 음성 입력 전사들에서 발생하는 가장 인기 있는 용어들(n-gram들)의 집합이 그 후 결정되어 대화 상태와 상관될 수 있다. 이와 같이, 애플리케이션 개발자가 음성 인식기(102)에 각 대화 상태와 연관시키기 위한 n-gram들의 집합을 제공할 필요가 없을 수 있다. 오히려, 음성 인식기(102)는 이력적 전사 결과들의 분석에 의해 자동적으로 n-gram들의 집합들을 결정할 수 있다. 일부 구현예들에서, 주어진 대화 상태와 연관된 n-gram들의 집합은 애플리케이션 개발자에 의해 지정된 다른 n-gram들과 함께 애플리케이션 개발자로부터의 입력 없이 자동으로 결정되는 n-gram들의 조합을 포함할 수 있다.
동작 C(118)에서, 음성 인식기(102)에 의해 사용된 언어 모델(120)을 바이어스하여 음성 입력(110)을 텍스트로 전사하기 위해 프로세스들(100)은 선택된 대화 상태와 관련된 n-gram들의 집합을 사용한다. 일반적으로, 언어 모델(120)은 언어 시퀀스가 음성 입력의 정확한 전사를 표현하는 가능성들 (예를 들어, 확률들)를 결정하도록 구성된다. 예를 들어, 언어 모델(120)은 음성 입력(110)의 하나 이상의 후보 전사들을 결정하기 위해 음성 인식기(102)의 음향 모델에 의해 생성된 음소들의 시퀀스 또는 다른 음성 특징들을 처리할 수 있다. 언어 모델(120)은 각각의 후보 전사가 음성 입력의 정확한 전사일 가능성을 표시하는 확률을 각 후보 전사들에 할당할 수 있다. 상위 n 개의 후보 전사들은 사용자 디바이스(108)에 전사 결과들로써 리턴될 수 있으며, n은 미리 결정된 정수(예를 들어, 1, 2, 3, 4 또는 그 이상)이다.
일부 구현예들에서, 언어 모델(120)은 언어 데이터의 하나 이상의 코퍼스들에서 용어들의 상이한 시퀀스들이 얼마나 자주 발생 하는지를 표시하는 확률 데이터에 기초하여 후보 전사를 위한 확률을 결정할 수 있다. 예를 들어, 언어 모델(120)은 "tree blind mice" 보다 "three blind mice"의 전사에 더 높은 스코어를 할당할 수 있는데, 이는 전자 언어 시퀀스가 후자보다 검색 쿼리들의 코퍼스에서 더 자주 발생하기 때문이다. 일부 구현예들에서, 언어 모델(120)은 시퀀스 내의 n 또는 n-1 개의 선행 용어들에 기초하여 언어 시퀀스의 용어들을 연속적으로 예측하기 위한 조건부 확률들을 사용하는 n-gram 언어 모델일 수 있으며, n은 소정의 정수(예를 들어, 1, 2, 3, 4 또는 그 이상)이다.
음성 인식기(102)는 음성 입력(110)에 대한 전사 결과가 선택된 대화 상태와 연관된 n-gram들의 집합으로부터의 n-gram들을 포함할 가능성을 증가 또는 감소 시키도록 언어 모델(120)을 바이어스할 수 있다. 일부 구현예들에서, 언어 모델(120)은 선택된 대화 상태에 할당된 n-gram들의 집합으로부터의 n-gram들을 포함하는 후보 전사들을 선호하도록 바이어스될 수 있다. 예를 들어, 도 1의 막대 차트(122)는 피자 토핑에 관련된, 선택된 대화 상태(3)와 연관된 n-gram들의 각각에 적용된 확률 "부스트"를 도시한다. 따라서, 바이어스되지 않은 언어모델이 0.20의 확률 스코어를 후보 전사 "pepperoni and mushroom"에 할당할 수 있는 반면, 바이어스된 언어 모델은 0.85의 확률 스코어를 할당할 수 있으며, 따라서 후보 전사가 사용자의 음성 입력(110)의 컨텐츠를 정확하게 표현할 높은 가능성을 표시한다.
일부 구현예들에서, 언어 모델(120)에 의해 저장된 확률 데이터가 비록 선택된 대화 상태와 연관된 n-gram들의 집합에 대하여 증가될 수 있을 지라도, 바이어스된 언어 모델(120)은 여전히 선택된 집합 내에 n-gram들을 포함하지 않는 (또는 선택된 집합의 외부에 하나 이상의 n-gram들을 적어도 포함하는) 전사들을 생성할 수 있다. 그러나, 선택된 n-gram들의 집합으로부터의 n-gram들을 포함하지 않는 바이어스된 언어 모델(120)로 전사를 생성할 가능성은 그러한 n-gram들을 포함하지 않는 바이어스되지 않은 언어 모델로 전사를 생성할 가능성과 비교함에 따라 감소될 수 있다. 일부 구현예들에서, 언어 모델(120)은 선택된 대화 상태에 대한 n-gram들과 연관된 확률들을 감소시킴으로써 바이어스될 수 있다. 일부 구현예들에서, 주어진 대화 상태는 바이어스된 언어 모델(120)에서 증가된 확률을 갖는 n-gram들의 제1 집합 및 바이어스된 언어 모델(120)에서 감소된 확률을 갖는 n-gram들의 제2 집합과 연관될 수 있다.
동작 D(124)에서, 음성 입력(110)에 대한 하나 이상의 전사 결과들을 결정하기 위해 음성 인식기(102)는 바이어스된 언어 모델(120)을 사용한다. 일부 구현예들에서, 바이어스된 언어 모델(120)이 표시하는 음성 입력(110)의 가장 정확한 전사일 가능성이 높은, 최상위 전사 결과(126) (예를 들어, "pepperoni and mushroom")가 요청(112)에 응답하여 선택되거나 사용자 디바이스(108)로 리턴될 수 있다(동작 E(128)). 사용자 디바이스(108)는 예를 들어, 그 후 폼 필드에 텍스트로 전사 결과를 입력할 수 있다.
도 2는 바이어스된 언어 모델(228)을 사용하여 음성 입력(210)을 텍스트로 전사하는 예시적 처리(200)를 수행하는 컴퓨팅 시스템의 개념도이다. 프로세스(200)는 도 1의 프로세스(100)와 유사하다. 그러나, 프로세스(200)에서 대화 상태 이력 데이터는 음성 입력(210)에 대응하는 대화 상태를 결정하기 위해 적어도 부분적으로 사용된다. 일반적으로, 대화 상태 이력 데이터는 주어진 사용자의 대화 세션에서 이전에 발생했었던 하나 이상의 대화 상태들을 식별한다. 일부 경우들에서, 대화 상태 기록 데이터는 새로운 전사 요청에 대한 대화 상태 바로 앞의 대화 상태를 식별할 수 있다. 어떤 대화 상태가 새로운 요청에 대한 음성 입력의 바로 앞인지에 대한 표시에 기초하여 새로운 전사 요청에 대한 대화 상태를 예측하기 위해, 음성 인식기(102)는 그 후 대화 상태-흐름 모델을 평가할 수 있다. 일부 구현예들에서, 다음 단락에 기술되는 바와 같이, 대화 상태 이력 데이터는 전사 요청과 연관된 대화 상태를 결정하기 위해 단독으로 (즉, 다른 컨텍스트 데이터 없이) 사용될 수 있다. 일부 구현예들에서, 컨텍스트 데이터 및 대화 상태 이력 데이터 둘 모두를 포함하는, 다수의 신호들이 전사 요청과 연관된 대화 상태를 결정하기 위해 음성 인식기(102)에 의해 함께 사용될 수 있다.
동작 A(204)에서, 사용자의 디바이스(208)는 전사 요청(212)을 생성하고 음성 인식기(202)에 요청(212)을 전송한다. 요청(212)은 디바이스(208)에 의해 검출된 음성 입력(210)을 특징으로 하는 오디오 데이터를 포함한다. 이 예시에서, 음성 입력(210)은 사용자 발언 "pepperoni and mushroom"의 레코드이다. 요청(212)은 음성 입력(210)을 전사하기 위해 음성 인식기(202)에 의해 가능한 다른 데이터를 포함하거나 포함하지 않을 수 있다. 일부 구현예들에서, 요청(212)은 애플리케이션 식별자, 대화 식별자, 대화 상태 식별자, 다른 컨텍스트 데이터, 대화 상태 이력 데이터, 세션 식별자, 또는 이들 중 둘 이상의 조합을 더 포함할 수 있다. 일부 구현예들에서, 요청(212)은 대화 세션에서 발생되었던 마지막 n개의 대화 상태들을 식별하는 대화 상태 이력 데이터를 포함할 수 있다. 음성 인식기(202)는 애플리케이션 프로그래밍 인터페이스(API)를 디바이스(208)에 노출 시키거나 사용자 디바이스(208)에 주어진 요청에 대응하는 대화 상태 식별자의 표시를 요청된 전사 결과(230)와 함께 제공함으로써, 대화 상태 이력 데이터를 사용자 디바이스(208)에 이용 가능하게 할 수 있다. 예를 들어, 사용자 디바이스(208)는 음성 인식기(202)에 제1 전사 요청을 제출할 수 있으며, 이에 응답하여 음성 인식기(202)는 전사 결과 및 제1 요청과 연관된 대화 상태 식별자를 사용자 디바이스(208)에 제공한다. 후속하여, 사용자 디바이스(208)는, 대화 상태 이력 데이터의 일부로써, 제1 (선행) 요청과 연관된 대화 상태 식별자를 포함하는 제2 전사 요청을 음성 인식기(202)에 제출할 수 있다. 제1 요청과 연관된 대화 상태 식별자는 그 후 제2 요청과 연관된 대화 상태를 결정하기 위해, 대화 상태-흐름 모델과 함께, 음성 인식기(202)에 의해 사용될 수 있다.
일부 구현예들에서, 요청(212)은 대화 상태 이력 데이터에 추가로 또는 대안적으로 대화 세션 식별자를 포함할 수 있다. 대화 세션 식별자는 요청(212)과 연관된 특정한 대화 세션을 표시하는 데이터이다. 대화 세션 식별자는 동일한 대화 세션과 관련된 일련의 전사 요청들을 상관시키기 위해 음성 인식기(202)에 의해 사용될 수 있다. 예를 들어, 대화 세션 식별자를 포함하는 제1 전사 요청이 사용자 디바이스(208)로부터 음성 인식기(202)로 전송될 수 있다. 음성 인식기(202)는 제1 전사 요청과 연관된 대화 상태를 결정할 수 있고 결정된 대화 상태를 세션 식별자와 연관시키는 레코드를 저장할 수 있다. 음성 인식기(202)가 나중에 동일한 세션 식별자를 포함하는 제2 전사 요청을 수신하는 경우, 음성 인식기(202)는 제1 요청과 연관된 선행 대화 상태를 식별하기 위해 저장된 레코드에 액세스할 수 있다. 선행하는 대화 상태 및 대화 상태-흐름 모델에 기초하여, 음성 인식기(202)는 제2 요청과 연관된 대화 상태를 결정하고 제2 대화 상태를 세션 식별자와 상관시키는 레코드를 저장할 수 있다. 동일한 세션의 선행 대화 상태들에 기초하여 후속 전사 요청들에 대한 후속 대화 상태들을 연속적으로 결정하기 위해, 음성 인식기(202)는 이 프로세스를 계속할 수 있다.
동작 (B)(214)에서, 요청(212)을 수신하면, 음성 인식기(202)는 음성 인식기(202)가 동일한 대화에 세션에 대해 사용자 디바이스(208)로부터 수신되었던 최종 전사 요청과 연관되어 있다고 결정한 대화 상태를 식별한다. 예를 들어, 피자 주문을 완성하는데 있어서, 사용자(206)는 음성 인식기(202)에 대한 연속적인 전사 요청에서 제공되는, "carryout", 다음으로 "thin crust", 및 그 다음으로 "pepperoni and mushroom"과 같은 연속적 음성 입력들을 제공할 수 있다. 제 3 요청(212)을 수신함 응답하여, 음성 인식 디바이스(202)는 대화 상태 '2'(차트(216)에 하이라이트 됨)와 동일한 대화 세션에서 선행 요청과 연관된 대화 상태를 식별할 수 있다. 일부 구현예들에서, 음성 인식기(202)는 요청(212)에 포함된 대화 세션 식별자를 음성 인식기(202)에 의해 저장된 정보와 상관시킴으로써 선행 대화 세션을 결정할 수 있으며, 그것은 동일한 대화 세션에 대해 결정된 마지막 하나 이상의 대화 상태들을 표시한다. 일부 구현예들에서, 음성 인식기(202)는 선행 상태를 직접 식별하는 요청(212)에 포함된 대화 상태 이력 데이터에 기초하여 선행 대화 상태를 결정할 수 있다.
동작 C(218)에서, 음성 인식기(202)는 전사 요청(212)과 연관될 가능성이 가장 높은 (따라서 요청(212)에 포함된 음성 입력(110)과 관련 있을 가능성이 가장 높은) 대화 상태를 결정한다. 일부 구현예들에서, 대화 상태는 동작 B(214)에서 식별되었던 하나 이상의 선행 대화 상태 및 대화 상태-흐름 모델에 기초하여 결정될 수 있다. 대화 상태-흐름 모델은 일반적으로 주어진 대화에서 발생할 것으로 예상되는 대화 상태의 시퀀스를 표시하며, 본 명세서에서는 도 3을 참조하여 기술된다.
도 3은 예시적 대화 상태-흐름 모델의 개념적 표현을 도시한다. 대화 상태-흐름 모델은 복수의 노드들(302a-g) 및 노드들(302a-g)의 상이한 노드를 연결하는 복수의 엣지들(304a-l)를 포함하는 그래프(300)로 표현된다. 모델에 의해 표현된 대화 내의 각각의 대화 상태는 그래프(300)의 각각의 노드(302a-g)에 의해 표현된다. 엣지들(304a-l)은 대화 상태들 간의 후보 전이들을 표현한다. 예를 들어, 노드(302a) (제1 대화 상태를 나타냄)는 노드들(302b) (제2 대화 상태를 나타냄) 및 (302c) (제3 대화 상태를 나타냄)를 각각 포인팅하는 2개의 아웃바운드 화살표들(304a 및 304b)을 갖는다. 따라서, 모델에 따라, 제1 대화 상태(302a)를 따르는 대화 상태는 제2 대화 상태(302b) 또는 제3 대화 상태(302c)일 수 있다. 그러나, 어떠한 엣지들도 제1 대화 상태에 대한 노드(302a)로부터 제4, 제5, 제6 또는 제7 대화 상태들(302d-g)에 대한 각각의 노드들로 포인팅하지 않기 때문에, 대화가 제1 대화 상태에서 다른 대화 상태들로 흐를 수 없다.
일부 구현예들에서, 대화 상태-흐름 모델은 모델에 표현된 대화 상태들의 각 쌍 사이의 전이들에 확률들을 할당할 수 있다. 예를 들어, 모델은 제1 대화 상태(302a) 다음에 제2 또는 제3 대화 상태들(302a, 302b) 중 어느 하나가 동일한 확률이 있음을 표시한다. 그러나, 제4 대화 상태(302d) 직후에 제1 대화 상태(302a)로 리턴할 가능성은 40 퍼센트이지만, 대화가 제4 대화 상태(302d)에서 제7 대화 상태(302g)로 진행할 가능성은 60 퍼센트이다. 일부 구현예들에서, 시간 경과에 따른 하나 이상의 사용자 디바이스들로부터의 다수의 대화 세션들에 걸쳐 발생하는 대화 상태들의 시퀀스들의 분석들에 기초하여, 대화 상태-흐름 모델이 음성 인식기 또는 다른 컴퓨팅 시스템에 의해 자동으로 학습될 수 있다. 일부 구현예들에서, 대화 상태-흐름 모델은 주어진 대화를 개발했던 애플리케이션 개발자와 같은, 사용자에 의해 수동으로 정의될 수 있다. 일부 구현예들에서, 음성 인식기는 복수의 대화들 각각에 대한 각각의 모델들에 액세스하여 이들을 사용할 수 있다.
다시 도2 및 동작 C(218)에 대한 논의를 참조하면, 요청(212) 또는 음성 입력(210)과 매칭되는 각 대화 상태의 가능성을 표시하는 대화 상태들의 집합에 대해 결정되는 각각의 스코어들에 기초하여, 음성 입력(210) (및 요청(212))에 대한 대화 상태가 결정될 수 있다. 피자 주문 대화와 연관된 5개의 대화 상태들의 집합에 대한 예시 점수들은 표(220)에 도시된다. 일부 구현예들에서, 음성 인식기(202)는 가장 높은 확률 스코어를 갖는 대화 상태를 선택한다. 도 2의 예시에서, 대화의 피자 토핑들 선택 단계에 대응하는, 대화 상태 '3'은 가장 높은 확률 스코어를 가지며 전사 요청(212)에 대응하는 대화 상태로 결정된다.
일부 구현예들에서, 대화 상태 확률 스코어들은 요청(212)과 연관된 컨텍스트 데이터에 더 기초할 수 있다. 대화 상태들 각각에 대한 각각의 컨텍스트 유사성 스코어를 결정하기 위해, 음성 인식기(202)는 요청(212)에 포함된 컨텍스트 데이터를 각 대화 상태와 연관된 각각의 컨텍스트 데이터와 비교할 수 있다. 일반적으로, 높은 컨텍스트 유사성 스코어는 요청(212) 내의 컨텍스트 데이터와 주어진 대화 상태와 연관된 컨텍스트 데이터 사이의 더 가까운 매칭을 표시한다. 일부 구현예들에서, 컨텍스트 유사성 스코어는 사용자 인터페이스 해시들, 위치 데이터 및 사용자 프로필 데이터와 같은, 여러 유형의 컨텍스트 데이터 중에서 유사성 스코어들의 가중된 조합에 기초할 수 있다. 일부 구현예들에서, (예를 들어, 표(220)의 맨 오른쪽 열에 도시된) 각 대화 상태들에 할당된 최종 확률 스코어는 컨텍스트 유사성 스코어 및 시퀀스 스코어의 가중된 조합에 기초할 수 있다. 시퀀스 스코어는 대화 상태-흐름 모델의 확률들로부터 도출될 수 있고, 하나 이상의 선행 대화 상태들이 주어진 대화 상태의 확률을 표시할 수 있다.
동작들 D(222), E(226) 및 F(232)에서, 프로세스(200)는 도 1에 도시된 프로세스(100)의 동작들 C(118), D(124) 및 E(128)와 유사한 방식으로 진행한다. 특히, 동작 D(222)에서, 언어 모델(228)은 동작 C(218) 동안 선택되었던 대화 상태와 연관된 n-gram들의 집합에 기초하여 바이어스 된다. 동작 E(226)에서, 음성 인식기(202)는 바이어스된 언어 모델(228)을 사용하여 음성 입력(110)의 전사 결과(230)를 생성한다. 마지막으로, 동작 F(232)에서, 전사 결과(230)는 음성 인식기(202)로부터 사용자 디바이스(208)로 서비스된다. 일부 구현예들에서, 전사 결과(230)는 대화 상태 식별자와 함께 디바이스(208)에 서비스될 수 있고, 디바이스(208)는 다음 대화 상태를 결정하기 위해 음성 인식기(202)에 의한 사용을 위해 대화 세션에서 그것을 후속 전사 요청에 포함할 수 있다.
도 4를 참조하면, 다중-인터랙션 음성 대화에서 대화 상태들을 결정하기 위해 음성 입력들의 전사들을 분석하기 위한 예시적 프로세스(400)의 흐름도가 도시된다. 일부 구현예들에서, n-gram들의 각각의 집합은 대화 상태들 각각에 할당될 수 있고, 이 n-gram 집합들은 언어 모델을 바이어스하기 위해 런타임에 음성 인식기에 의해 나중에 사용될 수 있다. 예를 들어, 주어진 대화 상태에 대한 n-gram들과 연관된 확률 데이터는 음성 입력이 주어진 대화 상태에 대응한다는 결정에 응답하여 언어 모델에서 조정될 수 있다. 일부 구현예들에서, 대화에 대한 대화 상태를 자동으로 학습하고 각 대화 상태에 대한 언어 모델을 어떻게 바이어스 하는지를 자동으로 학습하기 위해, 프로세스(400)가 음성 인식 시스템에 의해 이용될 수 있다. 따라서, 일부 구현예들에서, 음성 인식 시스템의 음성 인식 서비스를 사용하는 애플리케이션은 사용자와의 주어진 일련의 음성 인터랙션들 동안 대화 상태들의 흐름을 계속 파악할 필요가 없으며, 주어진 전사 요청이 대응하는 대화 상태, 주어진 전사 요청에 대한 언어 모델을 바이어스 하는데 사용될 n-gram들의 집합, 또는 둘 모두를 음성 인식 시스템에 명시적으로 알릴 필요가 없다.
단계(402)에서, 컴퓨팅 시스템은 복수의 컴퓨팅 디바이스들로부터 사용자들의 음성 입력들을 표시하는 오디오 데이터를 수신한다. 음성 입력들은 일반적으로 사용자들에 의해 대화의 일부로써 발화되는 발언이다. 각 사용자에 대해, 대화는 특정한 활동과 관련된 일련의 음성 입력들을 포함할 수 있다. 예를 들어, 약속 스케줄 활동을 위한 대화는 약속의 시작 시간, 기간, 위치, 설명 및 초대자를 식별하는 각각의 음성 입력들을 포함할 수 있다. 일부 경우들에서, 사용자들은 사용 가능한 모든 약속 스케줄 파라미터들에 대한 입력을 제공할 수 있다. 다른 경우들에서, 사용자들은 사용 가능한 약속 스케줄 파라미터들의 일부분에 대해서만 입력을 제공할 수 있다. 추가적으로, 음성 입력들 내의 파라미터들이 제공되는 순서는 사용자마다 다를 수 있다. 따라서, 음성 입력들이 모두 동일한 활동들 (예를 들어, 약속 스케줄)에 대한 대화와 관련될 수 있을지라도, 음성 입력들의 수 및 시퀀스는 대화 세션들에 따라 다양할 수 있다. 일부 구현예들에서, 컴퓨팅 시스템은 다수의 상이한 대화들에 대응하는 음성 입력들을 수신할 수 있다. 프로세스(400)는 일반적으로 특정한 대화 (예를 들어, 약속 스케줄)에 대한 대화 상태들 및 n-gram 집합들을 결정하는 것과 관련되기 때문에, 시스템은 그 대화에 대응하는 음성 입력들에 대한 데이터만을 포함하기 위해 수신된 데이터를 필터링할 수 있다. 다른 대화들 (예를 들어, 피자 주문, 금융 거래, 소셜 미디어 포스팅)에 대응하는 음성 입력들에 대한 데이터는 삭제될 수 있다.
단계(404)에서, 컴퓨팅 시스템은 수신된 음성 입력들과 연관된 컨텍스트 데이터를 선택적으로 식별한다. 일부 구현예들에서, 전사 요청들 내의 컨텍스트 데이터는 사용자 디바이들스에 의해 컴퓨팅 시스템에 제공될 수 있다. 전사 요청들은 전사될 요청된 음성 입력들에 대한 오디오 데이터를 포함할 수 있다. 컨텍스트 데이터는 일반적으로 음성 인식기가 음성 입력의 전사를 결정하기 위해 사용할 수 있는 (음성 입력 오디오 데이터 이외의) 임의의 데이터를 포함한다. 예를 들어, 사용자 디바이스는 디바이스가 음성 입력을 검출할 때 또는 그 근방에서 디바이스 상의 사용자 인터페이스의 디스플레이를 특징으로하는 스크린 서명을 계산할 수 있다. 스크린 서명은 디바이스가 음성 입력을 검출할 때 또는 그 근방에서 디바이스에 의해 디스플레이되었던 사용자 인터페이스 요소들과 연관된 값들에 기초하여 결정되는 해시 값일 수 있다. 스크린 서명 (또는 컨텍스트 데이터의 다른 개별 조각들)은 컴퓨팅 시스템이 음성 입력과 연관된 대화 상태를 결정하기에 충분하거나 또는 충분하지 않을 수 있다. 일부 구현예들에서, 주어진 음성 입력은 컨텍스트 데이터의 한 조각 (예를 들어, 스크린 서명)와 연관될 수 있다. 일부 구현예들에서, 음성 입력은 컨텍스트 데이터의 다수의 조각들 (예를 들어, 스크린 서명 및 대화 힌트)와 연관될 수 있다. 대화 힌트는 사용자 디바이스의 예상 대화 상태를 표시하는 컨텍스트 데이터 유형이다. 사용자 디바이스가 대화 동안 대화 상태들을 계속 신뢰성 있게 파악한다면, 그 후 대화 힌트는 효과적으로 대화 상태 식별자로써 역할 할 수 있다. 사용자 디바이스가 대화 상태를 신뢰성 있게 파악하지 않으면, 그 후 컴퓨팅 시스템은 사용자 디바이스와 연관된 대화 상태를 결정함에 있어서 대화 힌트를 덜 가중시킬 수 있다. 일부 구현예들에서, 컴퓨팅 시스템은 수신된 음성 입력들과 연관된 컨텍스트 데이터를 식별하지 않을 수 있고, 컨텍스트 데이터 없이 대화 상태들 및 n-gram 집합들을 결정할 수 있다.
단계(406)에서, 시스템은 수신된 음성 입력들 (또는 적어도 분석을 위해 필터링되었던 음성 입력들)의 전사들을 결정한다. 전사들은 음성 입력들을 텍스트로 변환하는 음성 인식기에 의해 결정될 수 있다. 음성 인식기는, 음성 입력에 대한 오디오 데이터의 텍스트로의 변환을 인에이블하는 컴포넌트들의 집합을 포함할 수 있다. 언어 모델이 이러한 컴포넌트들 중에 포함될 수 있으며, 일반적으로 언어 모델은 일반적으로 언어의 용어들 시퀀스들의 확률을 결정하도록 구성될 수 있다. 언어 모델은 전사를 위한 용어들의 후보 시퀀스들을 평가할 수 있고 음성 인식기에 의해 궁극적으로 출력으로써 제공되는 전사로써 가장 가능성 있는 용어들의 시퀀스를 선택할 수 있다. 일부 구현예들에서, 대화 상태 및 데이터 (예를 들어, n-gram 집합들)을 바이어스 하는 언어 모델이 프로세스(400)의 이 단계에서 아직 결정되지 않았었기 때문에, 단계(406) 동안 음성 입력들의 전사들을 결정하기 위해, 일반적인 바이어스되지 않은 언어 모델이 사용될 수 있다. 일부 구현예들에서, 컴퓨팅 시스템은 음성 입력들의 오디오 데이터를 수신할 필요 없이 그리고 프로세스(400)의 일부로써 전사들을 생성하지 않고서, 하나 이상의 다른 컴퓨팅 시스템들에 의해 결정되었던 음성 입력들의 전사들을 간단히 획득할 수 있다.
단계(408)에서, 적어도 전사들 각각의 일부에서 발생하는 하나 이상의 n-gram들의 각 집합을 식별하기 위해 컴퓨팅 시스템은 음성 입력의 전사들을 분석한다. 각 전사에 대해 식별된 n-gram들의 각각의 집합은 전사를 표현하는 벡터에 제공될 수 있다. 전사에서 n-gram들이 발생한 순서에 관계없이 벡터는 각 전사에 대해 식별된 n-gram들의 각각의 집합을 표시할 수 있다. 일부 구현예들에서, 전사에서 발생하는 모든 n-gram이 식별될 수 있으며, 그 전사에 대한 대응하는 벡터에 부가될 수 있다. 일부 구현예들에서, 전사에서 발생하는 모든 n-gram들 중에서 적절한 서브세트만이 식별될 수 있으며 그 전사에 대한 대응하는 벡터에 부가될 수 있다. n-gram들의 서브세트는, 예를 들어, n-gram들과 연관된 프로미넌스 스코어들(prominence score)에 기초하여 선택될 수 있다. 예를 들어, 언어 (예를 들어, 대명사, 관사, 일반 형용사 및 명사)에서 더 자주 발생하는 n-gram들이 낮은 프로미넌스 스코어를 할당 받을 수 있는 반면에, 언어에서 자주 발생하지 않는 n-gram들은 더 높은 프로미넌스 스코어를 할당 받을 수 있다. 임계 스코어를 초과하는 프로미넌스 스코어들이 할당된 n-gram들이 전사의 벡터에 포함을 위해 선택되거나, 예를 들어, 또는 전사에 최상위 n 개의 프로미넌스 스코어들을 갖는 n-gram들이 선택될 수 있다(n은 미리 정의된 1, 2, 3, 4 또는 그 이상의 정수이다).
단계(410)에서, 컴퓨팅 시스템은 전사들 사이의 유사성들에 기초하여 전사의 그룹들을 생성한다. 특히, 이 기술(description)은 예시로만 전사의 그룹들을 참조한다. 각 전사는 하나의 음성 입력 및 전사에서 발생하는 것으로 식별된 n-gram들의 단일 집합에만 대응하기 때문에, 컴퓨팅 시스템은 전사 그룹들을 생성하기 위해 본 명세서에 기술된 것들과 유사한 기법들에 기초하여 음성 입력 그룹들 또는 n-gram 집합 그룹들을 동등하게 생성할 수 있다. 전사 그룹들과 관련된 본 명세서의 논의는 다른 유형의 그룹들에도 적용된다.
일부 구현예들에서, 전사들은 전사들에서 발생하는 n-gram들의 의미론적 유사성들에 기초하여 그룹화될 수 있다. 예를 들어, 약속 스케줄 애플리케이션에 대한 음성 입력들의 전사 그룹들을 결정할 때, 약속 시간(예를 들어, "정오", "오후 12시", "오전 8시:30분", "밤에", "오후 4시")과 관련된 n-gram들을 갖는 전사들 중에서 제1 그룹의 전사들이 형성될 수 있고; 약속 장소(예를 들어, "회의실", "커피 숍", "시내", "사무실", "거리", "도로", "플로어", "스위트룸")과 관련된 n-gram들을 갖는 전사들 중에서 제2 그룹의 전사들이 형성될 수 있으며; 그리고 약속 종류(예를 들어, "미팅", "점심", "화상회의", "리뷰", "파티")와 관련된 n-gram들을 갖는 전사들 중에서 제3 그룹의 전사들이 형성될 수 있다. 일부 구현예들에서, 전사들의 의미론적 유사성들은 주어진 전사에서 n-gram들과 연관된 하나 이상의 토픽들을 식별함으로써 결정될 수 있다. 토픽들은 예를 들어, n-gram들을 토픽들과 연관시키고 텍스트 샘플들에 있는 n-gram들에 기초하여 토픽들을 텍스트 샘플들에 라벨링할 수 있는, 명명된-엔티티 인식 엔진에 의해 식별될 수 있다. 토픽들이 결정되면, 하나 이상의 동일한 토픽들과 관련된 전사들이 그룹화될 수 있다. 일부 구현예들에서, 유사하지만 상이한 토픽들과 관련된 전사들이 그룹화될 수 있다.
일부 구현예들에서, 전사들이 도출되었던 음성 입력들과 연관된 식별된 컨텍스트 데이터 간의 유사성들에 기초하여 전사들은 그룹화될 수 있다. 예를 들어, 전사들의 제1 그룹은 제1 스크린 서명을 갖는 음성 입력들의 전사들 사이에서 형성될 수 있고, 전사들의 제2 그룹은 제2 스크린 서명을 갖는 음성 입력들의 사이에서 형성될 수 있다. 다른 예시에서, 전사들의 제1 그룹은 제1 시간 주기 (예를 들어, 오전 8시-오후 12시) 내의 시간에 발화된 음성 입력들의 전사들 사이에서 형성될 수 있으며, 전사들의 제2 그룹은 제2 시간 주기 (예를 들어, 오후 12시:01분-오후 4시) 내의 시간에 발화된 음성 입력들의 전사들 사이에서 형성될 수 있다. 예를 들어, 그룹들은, 위치 데이터, 사용자 프로필 데이터, 사용자 인구통계적 데이터, 대화 힌트들 또는 발화된 입력이 검출되었던 경우에 디바이스 상에서 작동 중이었던 하나 이상의 애플리케이션들의 표시들과 같은, 유사 컨텍스트 데이터 또는 다른 유형들의 매칭에 기초하여 또한 형성될 수 있다. 일부 구현예들에서, 전사들이 도출되었던 음성 입력들과 연관된 여러 유형의 컨텍스트 간의 유사성들에 기초하여 전사들이 그룹화될 수 있다. 예를 들어, 전사의 그룹들은 음성 입력들이 사용자 디바이스에서 검출되었던 시간 및 스크린 서명들 모두에서 유사성들을 갖는 음성 입력들의 전사들 사이에서 형성될 수 있다. 일부 구현예들에서, 상이한 유형의 컨텍스트 데이터는 서로에 대해 가중될 수있어, 일정 유형의 컨텍스트 사이의 유사성들은 다른 유형의 컨텍스트 보다 그룹화에 더 영향을 미칠 가능성이 높다.
일부 구현예들에서, 전사의 그룹들은 전사들에서 발생하는 n-gram들의 의미론적 유사성들에 기초하여 생성될 수 있으며, 전사들이 도출되었던 음성 입력들과 연관된 컨텍스트 데이터에 기초하지 않는다. 일부 구현예들에서, 전사 그룹들은 전사들이 도출되었던 음성 입력들과 연관된 컨텍스트 데이터에 기초하여 생성될 수 있으며, 전사들에서 발생하는 n-gram들의 의미론적 유사성들에 기초하지 않는다. 그러나, 일부 구현예들에서, 전사 그룹들은 (i) 전사들에서 발생하는 n-gram들의 의미론적 유사성들 및 (ii) 전사들이 도출되었던 음성 입력들과 연관된 컨텍스트 데이터 모두에 기초하여 생성될 수 있다. 후자의 구현예들에서, 예를 들어, 둘 모두 의미론적으로 유사하고 유사한 컨텍스트 데이터를 갖는 전사들이 함께 그룹화될 수 있다. 따라서, 의미론적으로 약간만 유사한 n-gram들을 갖는 전사들은 그들의 컨텍스트가 매우 유사하다면 그룹화될 수 있으며, 의미론적으로 약간만 유사한 컨텍스트를 갖는 전사들은 그들이 의미론적으로 매우 관련된다면 그룹화될 수 있다.
일부 구현예들에서, 컴퓨팅 시스템이 전사 그룹들의 초기 집합을 생성한 이후에, 유사한 것으로 결정된 그룹들은 전사 그룹들의 전체 수를 감소시키기 위하여 병합될 수 있다. 컴퓨팅 시스템에 의해 생성된 전사 그룹들의 최종 집합은 대화에서 발생하도록 결정된 각각의 대화 상태들에 대응한다. 각 대화 상태는 음성 인식기에 의해 언어 모델을 상이하게 바이어스하는데 사용될 수 있기 때문에, 음성 인식기에 의해 검출 가능한 대화 상태들의 수를 줄이기 위해 그룹을 통합하는 것이 유리할 수 있다. 특히, 그룹을 병합하는 것은, 각 대화 상태간에 언어 모델이 어떻게 바이어스 되어 있는지에 대한 유의미한 차이들을 보장하기 위해, 중복 그룹들을 제거하고 그룹들 간의 분리 (그리고, 따라서 대화 상태들 간의 다양성)을 증가시킬 수 있다. 예를 들어, 대화의 제1 단계는 약속 시작 시간에 대한 사용자들의 음성 입력들을 요구할 수 있으며, 대화의 제2 단계는 약속 종료 시간에 대한 사용자들의 음성 입력들을 요구할 수 있으며, 대화의 제3 단계는 약속에 대한 다수의 참석자들에 대한 사용자들의 음성 입력들을 요구할 수 있다. 이 단계들 각각에서 음성 입력들 (예를 들어, 숫자 및 시간의 스테이트먼트) 의 n-gram들 사이에 실질적인 중첩이 있을 수 있기 때문에, 음성 입력들의 전사들은 단일 그룹으로 병합될 수 있다. 동일한 집합의 n-gram들이 이 단계들의 각각에서 동일한 방식으로 언어 모델을 효과적으로 바이어스 하기 위해 사용될 수 있기 때문에, 병합된 그룹들의 결과들로 결정된 대화 상태는 따라서 음성 인터랙션들의 3가지 개별 단계들에 대응할 수 있다.
컴퓨팅 시스템은 다양한 기법들에 따라 병합할 전사 그룹들을 식별할 수 있다. 일부 구현예들에서, 각 그룹으로부터의 n-gram들의 집합은 다른 각 그룹으로부터의 n-gram들의 각 집합과 비교될 수 있으며, 각 그룹 쌍의 n-gram들의 집합들 사이의 유사성 스코어들은 상기 비교들에 기초하여 결정될 수 있다. 주어진 그룹 쌍의 n-gram들 사이의 유사성 스코어가 임계 유사성 스코어를 만족 (예를 들어, 초과)하면, 그 후 그룹들은 병합될 수 있다. 병합의 결과는 병합된 각 그룹들로부터의 전체 또는 적어도 일부의 전사들을 포함하는 그룹일 수 있다. 유사성 스코어는 예를 들어, 비교되는 그룹들의 n-gram들 사이의 매칭의 수 또는 빈도에 기초하여 결정될 수 있다. 예를 들어, 초기 컨텍스트 기반의 전사들의 그룹화가 제1 스크린 서명 값에 대한 제1 그룹 및 제2 스크린 서명 값에 대한 제2 그룹을 결과로 하였지만, 각 그룹들 사이의 음성 입력들의 전사들은 대체로 동일한 경우, 상기 그룹들은 컴퓨팅 시스템에 의해 생성된 그룹들의 집합 내의 단일 그룹으로 병합될 수 있다. 일부 구현예들에서, 그룹들은 한도에 도달할 때까지 (예를 들어, 미리 결정된 반복들의 횟수가 완료될 때까지, 그룹들간의 유사성 스코어들 중 어느 것도 임계 유사성 스코어를 만족하지 않을 때까지, 남아있는 그룹들의 수가 미리 결정된 최대 그룹 수를 초과하지 않을 때까지, 또는 이들의 조합까지) 연속적 반복들로 병합될 수 있다. 일부 구현예들에서, 전사의 그룹들 사이의 유사성 스코어는 각 그룹들로부터 n-gram들의 각 집합들 사이의 코사인 거리를 취함으로써 결정될 수 있다. 코사인 거리는 (예를 들어, bag-of-word 기법에 따라) 각 그룹으로부터 n-gram들의 벡터들을 생성하고, 벡터들 사이의 거리를 결정함으로써 계산될 수 있다. 일부 구현예들에서, 전사의 그룹들 사이의 유사성 스코어는 n-gram들의 집합들을 저-차원 공간으로 가져와 저-차원 공간에서의 유사성을 결정함으로써 결정될 수 있다.
도 5a 및 도 5b는 대화에서 발생하도록 결정된 대화 상태에 대응하는 그룹들의 최종 집합을 형성하기 위해 유사한 전사 그룹들을 병합하는 기법들의 개념도를 도시한다.
도 5a에서, 전사들의 초기 그룹들(504, 506, 및 510)은 전사들 내의 용어들(n-grams)의 의미론적 유사성에 기초하여 그룹화된다. 이러한 유형의 그룹화는, 예를 들어, 컨텍스트 데이터가 사용 가능하지 않거나 음성 인식기가, 런타임때 음성 입력 전사 요청의 대화 상태들을 검출하기 위해, 컨텍스트 데이터가 아닌, 대화 상태-흐름 모델을 사용하도록 구성된 경우에 유리할 수 있다. 초기 그룹들(504, 506, 및 510)이 생성된 후에, 그룹들 중 2개(504 및 506)는 n-gram들 중 유사한 집합들을 포함하도록 결정되고 따라서 단일 그룹(502)으로 병합된다. 병합된 그룹(502) 및 제3 초기 그룹(510)은 그 후 주어진 대화에서 각각의 대화 상태들(508 및 512)과 상관된다.
도 5b에서, 전사들의 초기 그룹들(552, 556, 및 558)은 전사들과 연관된 컨텍스트 데이터에 기초하여 그룹화된다 (따라서 전사들이 결정되었던 음성 입력들과 연관된다). 예를 들어 컨텍스트 데이터가 대화 상태들에 강한 상관관계를 갖는 경우, 컨텍스트적 그룹화가 유용할 수 있으며, 컨텍스트적 그룹화는 런타임 중에 음성 입력을 전사하기 위한 음성 인식기가 사용 가능할 것이다. 일부 구현예들에서, 컨텍스트에 기초하여 결정된 대화 상태들은 예를 들어, 대화 상태 이력 데이터 또는 대화 상태-흐름 모델에 기초하여 대화 상태들을 결정하기 위한 음성 인식기에 대한 필요성을 제거할 수 있다. 초기 그룹들(552, 556 및 558)이 생성된 이후에, 그룹들 중 2개(556 및 558)는 n-gram들 중 유사한 집합들을 포함하도록 결정되고 따라서 단일 그룹(554)으로 병합된다. 병합된 그룹(554) 및 제1 초기 그룹(552)은 그 후 주어진 대화에서 각각의 대화 상태들(560 및 562)과 상관된다.
다시 도 4를 참조하면, 단계(414)에서, 프로세스(400)는, 단계들(410 및 412)에서 결정된 대화 상태들 각각에, 각 대화 상태에 대응하는 음성 입력을 전사할 때 음성 인식기가 언어 모델을 바이어스 하기 위해 사용하는 n-gram들 각각의 집합을 할당한다. 일부 구현예들에서, 주어진 대화 상태에 할당된 n-gram들의 집합은 주어진 대화 상태에 대응하는 그룹을 포함하는 전사들에서 발생하는 모든 n-gram들 중에서 선택될 수 있다. 일부 구현예들에서, 전사 그룹에서 각 n-gram이 발생하는 횟수의 카운트가 결정될 수 있고, 가장 빈번하게 발생하는 n-gram들은 카운트에 기초하여 선택될 수 있다 (예를 들어, 임계 카운트를 만족시키는 카운트들을 갖는 n-gram들이 선택될 수 있고 및/또는 가장 높은 카운트들을 갖는 미리 결정된 수의 n-gram들이 선택될 수 있다). 일부 구현예들에서, 선택된 n-gram들은, 예를 들어 중요하지 않은 용어들 (예를 들어, "of", "the", "a", "to", "for" 등)을 제외하는, n-gram들의 필터링된 집합 중에서 선택될 수 있다. 선택된 n-gram들의 집합들은 각각의 대화 상태들과 연관되어 저장될 수 있다.
일부 구현예들에서, 전사의 그룹들이 전사와 연관된 컨텍스트 데이터에 적어도 부분적으로 기초하여 생성되었었으며, 단계(416)에서 컴퓨팅 시스템은, 단계들(410 및 412)에서 결정된 대화 상태들 각각에, 주어진 음성 입력 또는 전사 요청을 각각의 대화 상태와 연관시키기 위해 음성 인식기에 의해 사용될 수 있는 컨텍스트 데이터의 각 집합을 할당할 수 있다. 주어진 대화 상태에 할당된 컨텍스트 데이터의 집합은 대화 상태를 고유하게 식별하는 지문으로 분석될 수 있다. 따라서, 음성 인식기가 컨텍스트 데이터를 포함하는 음성 입력 전사 요청을 수신하면, 요청으로부터의 컨텍스트 데이터는 각각의 대화 상태에 할당된 컨텍스트 데이터의 각각의 집합들과 비교될 수 있다. 요청 내의 컨텍스트 데이터와 할당된 컨텍스트 데이터 집합들 중 하나 사이에 매칭 또는 강한 상관관계가 결정되면, 그 후 음성 인식기는 요청이 컨텍스트 데이터의 매칭 집합에 대응하는 대화 상태와 관련되어 있음을 식별할 수 있다. 일부 구현예들에서, 컴퓨팅 시스템이 대화 상태에 할당하는 컨텍스트 데이터의 집합은 대화 상태에 대응하는 그룹 내의 전사들의 전체 또는 일부와 연관된 컨텍스트 데이터에 기초할 수 있다. 예를 들어, 주어진 그룹 내의 전사들의 상당수 또는 대다수가 제1 스크린 서명 값과 연관되면, 그 후 제1 스크린 서명 값은 그 그룹에 대응하는 대화 상태에 할당될 수 있다.
일부 구현예들에서, 단계(418)에서의 컴퓨팅 시스템은 대화 세션에서 발생할 가능성이 있는 대화 상태들의 시퀀스들을 표시하는 대화 상태-흐름 모델을 결정할 수 있다. 일부 구현예들에서, 대화 상태 흐름 모델은, 단계들(410 및 412)에서 결정된 각 대화 상태에 대해, 하나 이상의 다른 대화 상태들이 대화 세션에서 다음 대화 상태가 될 확률들을 표시할 수 있다. 예를 들어, 도 3에 도시된 흐름 모델에서, 대화 상태(4)에 뒤따르는 대화 상태(7)의 확률은 0.6이고 대화 상태(4)에 뒤따르는 대화 상태(1)의 확률은 0.4이다. 대화 상태(4)를 뒤따르는 임의의 다른 대화 상태들의 확률들은 0이다. 일부 구현예들에서, 컴퓨팅 시스템은 이력적 대화 세션들의 레코드들에서 발생되었던 대화 상태들의 식별된 시퀀스들에 기초하여 대화 상태-흐름 모델을 결정할 수 있다. 예를 들어, 이력적 대화 세션들의 레코드들에서 제1 대화 상태 다음에 시간의 80 %에 해당하는 제2 대화 상태가 뒤따르고 시간의 20 %에 해당하는 제3 대화 상태가 뒤따르는 경우, 그 후 0.8의 확률은 대화 상태-흐름 모델에서 제1 대화 상태로부터 제2 대화 상태까지의 전이에 할당될 수 있고, 0.2의 확률은 제1 대화 상태로부터 제3 대화 상태로의 전이에 할당될 수 있다.
도 6은 음성 입력과 연관된 대화에 기초하여 선택된 바이어스 언어 모델을 사용하여 음성 입력에 대해 음성 인식을 수행하기 위한 예시적 프로세스(600)의 흐름도이다. 일부 구현예들에서, 프로세스(600)는 도 1 및 도 2에 도시된 음성 인식기들과 같은 음성 인식 컴퓨팅 시스템에 의해 수행될 수 있다. 프로세스(600)는 대화, n-gram들, 컨텍스트 데이터, 및 대화 상태-흐름 모델들에 관한 도 4의 프로세스(400)에서 결정된 데이터를 사용하여 또한 수행될 수 있다.
단계(602)에서, 음성 인식 시스템은 전사되도록 요청된 음성 입력을 수신한다. 일부 구현예들에서, 단계(602)에서 시스템은 음성 입력과 연관된 컨텍스트 데이터를 또한 수신한다. 컨텍스트 데이터는 음성 입력이 검출되었던 시간 또는 그 근방에서 음성 입력을 검출했었던 사용자 디바이스의 상태를 표시할 수 있다. 예를 들어, 컨텍스트 데이터는 음성 입력이 검출되었었을 때 사용자 디바이스의 디스플레이, 대화 힌트, 또는 이들 및 다른 유형의 컨텍스트 데이터의 조합을 특징으로 하는 스크린 서명을 표시할 수 있다.
단계(606)에서, 음성 인식 시스템은 음성 입력에 대한 대화 상태를 결정하기 위해 음성 입력, 컨텍스트 데이터 또는 둘 모두를 분석한다. 일부 구현예들에서, 대화 상태는, 전사 요청의 컨텍스트 데이터를 대응하는 대화 상태(단계 608)와 관련되었었고 저장되어있었던 특정한 컨텍스트 데이터의 집합에 매칭함으로써, 결정될 수 있다. 일부 구현예들에서, 대화 상태는 대화 상태 이력 데이터 및 대화 상태들의 시퀀스들을 예측하는 대화 상태-흐름 모델에 기초하여 결정될 수 있다. 대화 상태 이력 데이터는 현재의 전사 요청에 대한 대화 상태보다 선행했었던 하나 이상의 대화 상태들을 표시할 수 있으며, 음성 인식 시스템에 의해 미리 저장되거나 사용자 디바이스로부터의 전사 요청에 제공될 수 있다.
단계(612)에서, 음성 인식 시스템은 단계(606)에서 결정되었던 대화 상태에 할당되었던 n-gram들의 집합을 식별한다. 단계(614)에서, 식별된 n-gram들의 집합은 언어 모델을 바이어스 하기 위해 적용된다. 예를 들어, 식별된 n-gram들의 집합 내의 n-gram들과 연관된 확률들은, 언어모델이 할당된 n-gram들을 선택할 가능성을 높이기 위해, 언어 모델에서 증가될 수 있다. 일부 구현예들에서, 언어 모델은 음성 입력이 수신되고 음성 입력에 대한 대화 상태가 결정된 이후에 바이어스될 수 있다. 일부 구현예들에서, 음성 인식 시스템은 음성 입력이 수신되기 전에 각 대화 상태에 대한 바이어스된 언어 모델을 생성할 수 있다. 이후, 음성 입력을 전사에 대한 요청이 수신되면, 음성 시스템은 음성 입력에 대한 대화 상태에 대응하는 미리-바이어스된 언어 모델에 액세스할 수 있다. 단계(616)에서, 음성 입력은 바이어스된 언어 모델을 사용하여 텍스트로 전사될 수 있다. 전사된 텍스트는 그 후 전사를 요청했었던 컴퓨팅 디바이스로 전송될 수 있다.
도 7은 본 명세서에 기술된 컴퓨터로 구현되는 방법들 및 다른기법들을 구현하기 위해 사용될 수 있는 모바일 컴퓨팅 디바이스 및 컴퓨팅 디바이스(700)의 예시를 도시한다. 컴퓨팅 디바이스(700)는 랩탑들, 데스크탑들, 워크스테이션들, 개인 휴대 정보 단말기들, 서버들, 블레이드 서버들, 메인 프레임들, 및 다른 적절한 컴퓨터들과 같은 다양한 형태의 디지털 컴퓨터들을 표현하도록 의도된 것이다. 모바일 컴퓨팅 디바이스는 개인 휴대 정보 단말기, 셀룰러 전화기들, 스마트폰들 및 다른 유사한 컴퓨팅 디바이스들과 같은 다양한 형태의 모바일 디바이스들을 표현하도록 의도된 것이다. 여기에 도시된 컴포넌트들, 그들의 연결들 및 관계들, 및 그들의 기능들은 단지 예시적인 것이며, 본 명세서에 기술된 및/또는 청구된 본 발명들의 구현예들을 제한하지 않는다.
컴퓨팅 디바이스(700)는 프로세서(702), 메모리(704), 저장 디바이스(706), 메모리(704) 및 다수의 고속 확장 포트들(710)에 연결되는 고속 인터페이스(708), 및 저속 확장 포트(714) 및 저장 디바이스(706)에 연결되는 저속 인터페이스(712)를 포함한다. 프로세서(702), 메모리(704), 저장 디바이스(706), 고속 인터페이스(708), 고속 확장 포트들(710), 및 저속 인터페이스(712) 각각은 다양한 버스들을 사용하여 상호연결되고, 공통 마더 보드 상에 또는 다른 방식으로 적절하게 마운트될 수 있다. 프로세서(702)는 GUI에 대한 그래픽 정보를 고속 인터페이스(708)에 결합된 디스플레이(716)와 같은 외부 입력/출력 디바이스에 디스플레이하기 위해, 메모리(704) 또는 저장 디바이스(706)에 저장된 명령어들을 포함하여, 컴퓨팅 디바이스(700) 내의 실행을 위한 명령어들을 처리할 수 있다. 다른 구현예들에서, 다수의 메모리들 및 메모리의 유형들과 함께, 다수의 프로세서들 및/또는 다수의 버스들이 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들은 연결될 수 있고, 각각의 디바이스는 필요한 동작들의 부분들을 (예를 들어, 서버 뱅크, 블레이드 서버들의 그룹, 또는 멀티 프로세서 시스템으로써) 제공한다.
메모리(704)는 컴퓨팅 디바이스(700) 내의 정보를 저장한다. 일부 구현예들에서, 메모리(704)는 휘발성 메모리 유닛 또는 유닛들이다. 일부 구현예들에서, 메모리(704)는 비휘발성 메모리 유닛 또는 유닛들이다. 메모리(704)는 또한 자기 또는 광학 디스크와 같은, 컴퓨터 판독가능 매체의 다른 형태일 수 있다.저장 디바이스(706)는 컴퓨팅 디바이스(700)를 위한 대용량 저장소를 제공할 수 있다. 일부 구현예들에서, 저장 디바이스(706)는 저장 영역 네트워크 또는 다른 구성들 내의 디바이스들을 포함하여, 플로피 디스크, 하드 디스크 디바이스, 광학 디스크 디바이스, 테이프 디바이스, 플래시 메모리 또는 다른 유사한 고체 상태 메모리 디바이스, 또는 디바이스들의 어레이(array)와 같은 컴퓨터 판독가능 매체일 수 있거나 컴퓨터 판독가능 매체를 내포할 수 있다. 컴퓨터 프로그램 물은, 실행될 때, 상술된 바와 같은 하나 이상의 방법들을 수행하는 명령어들을 또한 내포할 수 있다. 컴퓨터 프로그램 물은 메모리(704), 저장 디바이스(706), 또는 프로세서(702) 상의 메모리와 같은 컴퓨터 또는 기계 판독가능 매체에 유형적으로 또한 수록될 수 있다.
고속 인터페이스(708)는 컴퓨팅 디바이스(700)에 대한 대역폭-집중적인 동작들을 관리하고, 반면에 저속 인터페이스(712)는 저 대역폭-집중적인 동작들을 관리한다. 이러한 기능들의 할당은 단지 예시적인 것이다. 일부 구현예들에서, 고속 인터페이스(708)는 메모리(704), 디스플레이(716) (예를 들어, 그래픽들 프로세서 또는 가속기를 통해), 및 다양한 확장 카드들(도시되지 않음)을 수용할 수 있는 고속 확장 포트들(710)에 결합되어 있다. 구현예에서, 저속 인터페이스(712)는 저장 디바이스(706) 및 저속 확장 포트(714)에 결합된다. 다양한 통신 포트들 (예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)을 포함할 수 있는, 저속 확장 포트는 키보드, 포인팅 디바이스, 마이크로폰/스피커 쌍, 스캐너, 또는 스위치 또는 라우터와 같은 네트워킹 디바이스와 같은, 하나 이상의 입/출력 디바이스들에, 예를 들어, 네트워크 어댑터를 통하여 결합될 수 있다.
컴퓨팅 디바이스(700)는, 도면에 도시된 바와 같이, 여러가지 상이한 형태들로 구현될 수 있다. 예를 들어, 그것은 스탠다드 서버(720)로써 또는 그러한 서버들의 그룹에서 여러번 구현될 수 있다. 그것은 랙 서버 시스템(724)의 일부로써 또한 구현될 수 있다. 추가로, 랩탑 컴퓨터(722)와 같은 개인용 컴퓨터에서 구현될 수 있다. 대안적으로, 컴퓨팅 디바이스(700)로부터의 컴포넌트들은 모바일 컴퓨팅 디바이스(750)와 같은, 모바일 디바이스(도시되지 않음)내의 다른 컴포넌트들과 결합될 수 있다. 이러한 디바이스들 각각은 컴퓨팅 디바이스(700) 및 모바일 컴퓨팅 디바이스(750) 중 하나 이상을 포함할 수 있으며, 전체 시스템은 서로 통신하는 다수의 컴퓨팅 디바이스들로 구성될 수 있다.
모바일 컴퓨팅 디바이스(750)는 다른 컴포넌트들 중에서, 프로세서(752), 메모리(764), 디스플레이(754)와 같은 입/출력 디바이스, 통신 인터페이스(766) 및 송수신기(768)를 포함한다. 모바일 컴퓨팅 디바이스(750)는 추가 저장소를 제공하기 위해 마이크로드라이브 또는 다른 디바이스와 같은 저장 디바이스와 함께 또한 제공될 수 있다. 프로세서(752), 메모리(764), 디스플레이(754), 통신 인터페이스(766), 및 송수신기(768) 각각은 다양한 버스들을 사용하여 상호연결되며, 몇몇 컴포넌트들은 공통 마더보드 상에 또는 다른 방식으로 적절하게 마운트될 수 있다.
프로세서(752)는 메모리(764)에 저장된 명령어들을 포함하여, 모바일 컴퓨팅 디바이스(750) 내의 명령어들을 실행할 수 있다. 프로세서는 개별 및 다중 아날로그 및 디지털 프로세서들을 포함하는 칩들의 칩셋으로써 구현될 수 있다. 프로세서는 예를 들어, 사용자 인터페이스들의 제어, 모바일 컴퓨팅 디바이스(750)에 의해 작동하는 애플리케이션들, 및 모바일 컴퓨팅 디바이스(750)에 의한 무선 통신과 같은, 모바일 컴퓨팅 디바이스(750)의 다른 컴포넌트들의 조정을 제공할 수 있다.
프로세서(752)는 제어 인터페이스(758) 및 디스플레이(754)에 결합된 디스플레이 인터페이스(756)를 통해 사용자와 통신할 수 있다. 디스플레이(754)는 예를 들어, TFT LCD(Thin-Film-Transistor Liquid Crystal Display) 또는 OLED(Organic Light Emitting Diode) 디스플레이, 또는 다른 적절한 디스플레이 기술일 수 있다. 디스플레이 인터페이스(756)는 그래픽 및 다른 정보를 사용자에게 제시하기 위해 디스플레이(754)를 구동하기 위한 적절한 회로를 포함할 수 있다. 제어 인터페이스(758)는 프로세서(752)에 제출하기 위해 사용자로부터 명령들을 수신하고 그들을 변환할 수 있다. 추가로, 외부 인터페이스(762)가 프로세서(752)와의 통신에서 제공되어, 디바이스(750)와 다른 디바이스들과의 근거리 통신을 인에이블한다. 외부 인터페이스(762)는 예를 들어, 일부 구현예들에서 유선 통신을, 또는 다른 구현예들에서 무선 통신을 제공할 수 있으며, 다수의 인터페이스들이 또한 사용될 수 있다.
메모리(364)는 모바일 컴퓨팅 디바이스(750) 내의 정보를 저장한다. 메모리(764)는 컴퓨터 판독가능 매체 또는 매체들, 휘발성 메모리 유닛 또는 유닛들, 또는 비 휘발성 메모리 유닛 또는 유닛들 중 하나 이상으로 구현될 수 있다. 확장 메모리(774)는 확장 인터페이스(772)를 통해 모바일 컴퓨팅 디바이스(750)에 또한 제공되고 연결될 수 있으며, 그것은 예를 들어, SIMM(Single In Line Memory Module) 카드 인터페이스를 포함할 수 있다. 확장 메모리(774)는 디바이스(750)에 대한 여분의 저장 공간을 제공할 수 있거나, 또는 애플리케이션들 또는 디바이스(750)에 대한 다른 정보를 또한 저장할 수 있다. 특히, 확장 메모리(774)는 전술한 프로세스들을 수행하거나 보충하기 위해 명령어들을 포함할 수 있으며, 보안 정보를 또한 포함할 수 있다. 따라서, 예를 들어, 확장 메모리(774)는 디바이스(750)에 대한 보안 모듈로써 제공될 수 있고, 그리고 모바일 컴퓨팅 디바이스(750)의 보안 사용을 허용하는 명령어들로 프로그래밍될 수 있다. 추가로, 보안 애플리케이션들은 SIMM 카드에 식별 정보를 해킹할 수 없게 두는 것처럼, 추가 정보와 함께, SIMM 카드들을 통해 제공될 수 있다.
메모리는 예를 들어, 이하에서 논의되는 바와 같이, 플래시 메모리 및/또는 NVRAM 메모리를 포함할 수 있다. 컴퓨터 프로그램 물은, 실행될 때 위에 기술된 것과 같은 하나 이상의 방법들을 수행하는 명령어들을 포함한다. 컴퓨터 프로그램 물은 메모리(764), 확장 메모리(774), 또는 프로세서(752)상의 메모리와 같은, 컴퓨터 판독가능 매체 또는 기계 판독가능 매체일 수 있다. 일부 구현예들에서 컴퓨터 프로그램 물은 예를 들어, 송수신기(768) 또는 외부 인터페이스(762) 상에서 전파된 신호로 수신될 수 있다.
모바일 컴퓨팅 디바이스(750)는 통신 인터페이스(766)를 통해 무선으로 통신할 수 있으며, 필요한 경우 디지털 신호 처리 회로망을 포함할 수 있다. 통신 인터페이스(766)는 GSM voice calls, SMS, EMS, or MMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, 또는 GPRS, 등과 같은 다양한 프로토콜들 또는 모드들 하에서 통신들을 제공할 수 있다. 이러한 통신은 예를 들어, 라디오주파수 송수신기(768)를 통해 발생할 수 있다. 추가로, 블루투스, WiFi, 또는 다른 송수신기(도시되지 않음)를 사용하는 것과 같은 단거리 통신이 발생할 수 있다. 추가로, GPS(Global Positioning System) 수신기 모듈(770)은 추가적인 네비게이션- 및 위치-관련 무선 데이터를 모바일 컴퓨팅 디바이스(750)에 제공할 수 있으며, 상기 데이터는 모바일 컴퓨팅 디바이스(750)상에서 작동하는 애플리케이션들에 의해 적절하게 사용될 수 있다.
모바일 컴퓨팅 디바이스(750)는 또한 오디오 코덱(760)을 사용하여 청각적으로 통신할 수 있으며, 사용자로부터 발화된 정보를 수신하여 그것을 이용 가능한 디지털 정보로 변환할 수 있다. 오디오 코덱(760)은 마찬가지로, 예를 들어, 모바일 컴퓨팅 디바이스(750)의 수화기에 있는 스피커와 같은 것을 통해 사용자를 위한 가청 소리를 생성할 수 있다. 이러한 소리는 음성 전화 호출들로부터의 소리를 포함할 수 있고, 레코드된 소리(예를 들어, 음성 메시지들, 음악 파일들 등)을 포함할 수 있으며, 모바일 컴퓨팅 디바이스(750)상에서 동작하는 애플리케이션들에 의해 생성된 소리를 또한 포함할 수 있다.
모바일 컴퓨팅 디바이스(750)는 도면에 도시된 바와 같이, 다수의 상이한 형태들로 구현될 수 있다. 예를 들어, 그것은 셀룰러 전화기(780)로 구현될 수 있다. 그것은 스마트폰(782), 개인 휴대 정보 단말기, 또는 다른 유사한 모바일 디바이스의 일부로 또한 구현될 수 있다.
여기서 기술된 시스템들 및 기법들의 다양한 구현예들은 디지털 전자 회로, 집적 회로, 특별히 디자인된 ASIC들(application specific integrated circuits), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이러한 구현예들의 조합들로 실현될 수 있다. 이러한 다양한 구현예들은, 적어도 하나의 프로그램 가능한 프로세서를 포함하는 프로그램 가능한 시스템 상에서 실행 가능하고 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램들 내의 구현을 포함할 수 있으며, 상기 구현은 저장 시스템, 적어도 하나의 입력 장치, 및 적어도 하나의 출력 장치로 데이터 및 명령어들을 전송하고 이들로부터 데이터 및 명령어들을 수신하도록 결합된, 전용적이고 범용적인 목적일 수 있다.
이들 컴퓨터 프로그램들(프로그램들, 소프트웨어, 소프트웨어 애플리케이션들 또는 코드로 또한 알려져 있음)은 프로그램 가능한 프로세서에 대한 기계 명령어들을 포함하고, 그리고 고 레벨의 절차적 및/또는 객체 지향적 프로그래밍, 및/또는 어셈블리/기계 언어로 구현될 수 있다. 본 명세서에서 사용되는 것처럼, 기계 판독가능 매체 및 컴퓨터 판독가능 매체라는 용어들은 임의의 컴퓨터 프로그램 제품, 장치들 및/또는 프로그램 가능한 프로세서에 기계 명령어들 및/또는 데이터를 제공하기 위해 사용되는 디바이스, 예를 들어, 자기 디스크들, 광 디스크들, 메모리, 프로그램 가능 논리 장치들(PLDs)를 지칭하며, 기계 판독 가능 신호로써 기계 명령어들을 수신하는 기계 판독 가능 매체를 포함한다. 기계 판독가능 신호라는 용어는 기계 명령어들 및/또는 데이터를 프로그램 가능한 프로세서에 제공하기 위해 사용되는 임의의 신호를 지칭한다.
사용자와의 인터랙션을 제공하기 위해, 여기에 기술된 시스템들 및 기법들은 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스, 예를 들어, CRT(cathode ray tube) 또는 LCD(liquid crystal display), 및 키보드와 사용자가 컴퓨터에 입력을 제공할 수 있는 포인팅 디바이스, 예를 들어, 마우스 또는 트랙볼, 을 가지는 컴퓨터 상에서 구현될 수 있다. 다른 종류의 디바이스들 역시 사용자와의 인터랙션을 제공하기 위해 사용될 수 있다; 예를 들어, 사용자에게 제공된 피드백은 임의 형태의 감각적 피드백, 예를 들어, 시각적 피드백, 청각적 피드백 또는 촉각적 피드백일 수 있다; 그리고 사용자로부터의 입력은 음향, 음성, 또는 촉각 입력을 포함하여, 임의의 형태로 수신될 수 있다.
본 명세서에 기술된 시스템들 및 기법들은 백 엔드 컴포넌트 (예를 들어, 데이터 서버)를 포함하거나, 미들웨어 컴포넌트 (예를 들어, 애플리케이션 서버)를 포함하거나, 프론트 엔드 컴포넌트 (예를 들어, 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 클라이언트 컴퓨터이며, 그것을 통하여 사용자는 여기에 기술된 시스템들 및 기법들의 구현과 인터랙팅할 수 있다), 또는 그러한 백 엔드, 미들웨어 또는 프론트 엔드 컴포넌트들의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 임의의 형태 또는 디지털 데이터 통신 (예를 들어, 통신 네트워크의 매체)에 의해 상호연결될 수 있다. 통신 네트워크들의 예시들은 근거리 네트워크("LAN"), 광역 네트워크("WAN"), 및 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 전형적으로 통신 네트워크를 통해 인터랙팅 한다. 클라이언트와 서버의 관계는 컴퓨터 프로그램들 때문에 생기며, 상기 프로그램들은 각각의 컴퓨터들에서 작동하며 서로 클라이언트-서버 관계를 갖는다.
시스템들, 방법들, 디바이스들 및 디른 기법들이 여기서 사용자들에 관한 개인 정보(예를 들어, 컨텍스트 데이터)를 수집하거나, 또는 개인 정보를 사용할 수 있는 상황들에서, 사용자는 프로그램들이나 구성들이 사용자 정보(예를 들어, 사용자의 소셜 네트워크, 사회적 행동들 또는 활동들, 직업, 사용자의 선호도 또는 사용자의 현재 위치에 대한 정보)를 수집할지 여부를 제어할 수 있는 기회, 또는 사용자와 더 관련 있을 수 있는 콘텐츠 서버로부터 콘텐츠를 수신할지 여부 및/또는 콘텐츠를 수신하는 방법을 제어할 수 기회를 제공받을 수 있다. 추가로, 일정 데이터는 저장되거나 사용되기 전에 하나 이상의 방법들로 취급될 수 있어, 개인 식별 정보가 제거된다. 예를 들어, 사용자의 신원이 처리되어, 사용자에 대한 개인 식별 정보가 결정될 수 없거나, 사용자의 지리적 위치가 위치 정보가 획득된 곳 (예를 들어, 도시, 우편 번호 또는 주 수준 같은 곳)으로 일반화되어, 사용자의 특정한 위치가 결정될 수 없다. 따라서, 사용자는 콘텐츠 서버에 의해 사용자에 관한 정보가 어떻게 수집되고 사용되는지를 제어할 수 있다.
비록 다양한 구현예들이 상세히 상술 되었지만, 다른 수정들이 가능하다. 추가로, 도면들에 도시된 논리 흐름들은 바람직한 결과들을 달성하기 위해, 도시된 특정한 순서, 순차적 순서를 요청하지 않는다. 추가로, 다른 단계들이 제공되거나, 기술된 흐름들로부터 제거될 수 있으며, 다른 컴포넌트들이 시스템들에 추가 되거나, 시스템들로부터 제거될 수 있다. 따라서, 다른 구현예들은 다음의 청구항들의 범위 내에 있다.

Claims (20)

  1. 컴퓨터로 구현되는 방법으로서:
    컴퓨팅 시스템에서, 음성 입력을 표시하는 오디오 데이터를 수신하는 단계;
    복수의 대화 상태들 중에서, 상기 음성 입력에 대응하는 특정한 대화 상태를 결정하는 단계;
    상기 음성 입력에 대응하는 상기 특정한 대화 상태와 연관된 n-gram들의 집합을 식별하는 단계, 상기 n-gram들의 집합은 상기 대화 상태에 대응하는 이력적 음성 입력들에서 자주 발생하는 상기 n-gram들의 집합 내의 n-gram들에 적어도 기초하여 상기 특정한 대화 상태와 연관되며;
    상기 음성 입력에 대응하는 상기 특정한 대화 상태와 연관된 상기 n-gram들의 집합을 식별함에 응답하여, 상기 n-gram들의 집합 내의 n-gram들에 대해 언어 모델이 표시하는 확률 스코어들을 조정함으로써 상기 언어 모델을 바이어스(biasing)하는 단계, 상기 언어 모델은 상기 n-gram들의 집합에서 상기 n-gram들이 얼마자 자주 발생하는지 표시하는 상기 확률 스코어들을 할당하며; 및
    상기 바이어스된 언어 모델을 사용하여 상기 음성 입력을 전사(transcribing)하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 청구항 1에 있어서, 상기 복수의 대화 상태들은 특정한 작업과 관련된 컴퓨팅 디바이스와 사용자 음성 인터랙션들의 복수의 단계들을 각각 표시하는 것을 특징으로 하는 방법.
  3. 청구항 1에 있어서,
    상기 컴퓨팅 시스템에서 제2 음성 입력을 수신하는 단계;
    상기 복수의 대화 상태들 중에서, 상기 제2 음성 입력에 대응하는 제2 특정한 대화 상태를 결정하는 단계; 및
    상기 제2 음성 입력에 대응하는 상기 제2 특정한 대화 상태와 연관된 n-gram들의 제2 집합을 식별하는 단계를 더 포함하며, 상기 n-gram들의 제2 집합은 상기 음성 입력에 대응하는 상기 특정한 대화 상태와 연관된 상기 n-gram들의 집합과 상이한 것을 특징으로 하는 방법.
  4. 청구항 1에 있어서,
    상기 음성 입력에 대응하는 상기 특정한 대화 상태를 결정하는 단계는:
    상기 복수의 대화 상태들 중에서, 상기 음성 입력에 선행하는 제2 음성 입력에 대응하는 제2 특정한 대화 상태를 식별하는 단계, 상기 음성 입력 및 상기 제2 음성 입력은 각각 동일한 작업과 관련되며; 및
    상기 제2 특정한 대화 상태 이후에 발생할 가능성이 있는 상기 복수의 대화 상태들 중에서 하나 이상의 대화 상태들을 표시하는 데이터에 기초하여 상기 음성 입력에 대응하는 상기 특정한 대화 상태를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 청구항 1에 있어서,
    상기 음성 입력에 대응하는 상기 특정한 대화 상태를 결정하는 단계는:
    상기 음성 입력의 전사를 생성하는 단계; 및
    상기 특정한 대화 상태와 연관된 상기 n-gram들의 집합 내의 하나 이상의 n-gram들 및 상기 음성 입력의 상기 전사에서 발생하는 하나 이상의 n-gram들 사이의 매칭(match)을 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 청구항 5에 있어서,
    상기 매칭을 결정하는 단계는, 상기 음성 입력의 상기 전사에서 발생하는 상기 하나 이상의 n-gram들과 상기 특정한 대화 상태와 연관된 상기 n-gram들의 집합 내의 상기 하나 이상의 n-gram들 사이의 의미론적 관계를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  7. 청구항 1에 있어서,
    상기 음성 입력과 연관된 컨텍스트를 표시하는 데이터를 수신하는 단계를 더 포함하며, 상기 음성 입력에 대응하는 상기 특정한 대화 상태를 결정하는 단계는 상기 음성 입력과 연관된 상기 컨텍스트에 기초하여 상기 특정한 대화 상태를 식별하는 단계를 포함하는 것을 특징으로 하는 방법.
  8. 청구항 7에 있어서,
    상기 음성 입력과 연관된 상기 컨텍스트는 상기 음성 입력이 수신되었던 시간에 상기 음성 입력이 수신되었던 컴퓨팅 디바이스에서의 사용자 인터페이스의 디스플레이를 특징으로 하는 데이터를 포함하며, 그리고
    상기 음성 입력과 연관된 상기 컨텍스트에 기초하여 상기 특정한 대화 상태를 식별하는 단계는, 상기 음성 입력이 수신되었던 시간에 상기 음성 입력이 수신되었던 상기 컴퓨팅 디바이스에서의 상기 사용자 인터페이스의 상기 디스플레이를 특징으로 하는 데이터에 기초하여, 상기 특정한 대화 상태를 식별하는 단계를 포함하는 것을 특징으로 하는 방법.
  9. 청구항 1에 있어서,
    상기 컴퓨팅 시스템에서, 상기 음성 입력이 유도되었던 애플리케이션을 표시하는 애플리케이션 식별자를 컴퓨팅 시스템에서 수신하는 단계를 더 포함하며, 상기 복수의 대화 상태들은 상기 음성 입력이 유도되었던 상기 애플리케이션에 대한 애플리케이션-특정 작업에 관련되는 것을 특징으로 하는 방법.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 컴퓨팅 시스템에 있어서,
    하나 이상의 프로세서들; 및
    명령어들이 저장된 하나 이상의 컴퓨터 판독가능 매체를 포함하며, 상기 명령어들은 실행시, 동작들을 수행케 하며, 상기 동작들은:
    음성 입력을 표시하는 오디오 데이터를 수신하는 동작;
    복수의 대화 상태들 중에서, 상기 음성 입력에 대응하는 특정한 대화 상태를 결정하는 동작;
    상기 음성 입력에 대응하는 상기 특정한 대화 상태와 연관된 n-gram들의 집합을 식별하는 동작, 상기 n-gram들의 집합은 상기 대화 상태에 대응하는 이력적 음성 입력들에서 자주 발생하는 상기 n-gram들의 집합 내의 n-gram들에 적어도 기초하여 상기 특정한 대화 상태와 연관되며;
    상기 음성 입력에 대응하는 상기 특정한 대화 상태와 연관된 상기 n-gram들의 집합을 식별함에 응답하여, 상기 n-gram들의 집합 내의 n-gram들에 대해 언어 모델에 의해 할당된 확률 스코어들을 증가시킴으로써 상기 언어 모델을 조정하는 동작, 상기 언어 모델은 상기 n-gram들의 집합에서 상기 n-gram들이 얼마나 자주 발생하는지 표시하는 상기 확률 스코어들을 할당하며; 및
    상기 조정된 언어 모델을 사용하여 상기 음성 입력을 전사하는 동작을 포함하는 것을 특징으로 하는 컴퓨팅 시스템.
  19. 청구항 18에 있어서, 상기 복수의 대화 상태들은 특정한 작업과 관련된 컴퓨팅 디바이스와 사용자 음성 인터랙션들의 복수의 단계들을 각각 표시하는 것을 특징으로 하는 컴퓨팅 시스템.
  20. 청구항 18에 있어서, 상기 동작들은:
    상기 컴퓨팅 시스템에서 제2 음성 입력을 수신하는 동작;
    상기 복수의 대화 상태들 중에서, 상기 제2 음성 입력에 대응하는 제2 특정한 대화 상태를 결정하는 동작; 및
    상기 제2 음성 입력에 대응하는 상기 제2 특정한 대화 상태와 연관된 n-gram들의 제2 집합을 식별하는 동작을 더 포함하며, 상기 n-gram들의 제2 집합은 상기 음성 입력에 대응하는 상기 특정한 대화 상태와 연관된 상기 n-gram들의 집합과 상이한 것을 특징으로 하는 컴퓨팅 시스템.
KR1020187019324A 2016-03-16 2016-11-30 언어 모델용 대화 상태들 결정 KR102151681B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/071,651 2016-03-16
US15/071,651 US9978367B2 (en) 2016-03-16 2016-03-16 Determining dialog states for language models
PCT/US2016/064065 WO2017160355A1 (en) 2016-03-16 2016-11-30 Determining dialog states for language models

Publications (2)

Publication Number Publication Date
KR20180090869A KR20180090869A (ko) 2018-08-13
KR102151681B1 true KR102151681B1 (ko) 2020-09-04

Family

ID=57570442

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187019324A KR102151681B1 (ko) 2016-03-16 2016-11-30 언어 모델용 대화 상태들 결정

Country Status (6)

Country Link
US (4) US9978367B2 (ko)
EP (3) EP3381034B1 (ko)
JP (1) JP6569009B2 (ko)
KR (1) KR102151681B1 (ko)
CN (2) CN108463849B (ko)
WO (1) WO2017160355A1 (ko)

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110889265B (zh) * 2012-12-28 2024-01-30 索尼公司 信息处理设备和信息处理方法
US9978367B2 (en) * 2016-03-16 2018-05-22 Google Llc Determining dialog states for language models
US10677881B2 (en) * 2016-03-29 2020-06-09 Government of the United States as represented by Director National Security Agency Map assisted inertial navigation
CN107943405A (zh) * 2016-10-13 2018-04-20 广州市动景计算机科技有限公司 语音播报装置、方法、浏览器及用户终端
US20180114527A1 (en) * 2016-10-25 2018-04-26 IPsoft Incorporated Methods and systems for virtual agents
US9959864B1 (en) * 2016-10-27 2018-05-01 Google Llc Location-based voice query recognition
US10311860B2 (en) 2017-02-14 2019-06-04 Google Llc Language model biasing system
US11093716B2 (en) * 2017-03-31 2021-08-17 Nec Corporation Conversation support apparatus, conversation support method, and computer readable recording medium
KR102380717B1 (ko) * 2017-04-30 2022-03-31 삼성전자주식회사 사용자 발화를 처리하는 전자 장치 및 이 전자 장치의 제어 방법
US10943583B1 (en) * 2017-07-20 2021-03-09 Amazon Technologies, Inc. Creation of language models for speech recognition
US10515625B1 (en) 2017-08-31 2019-12-24 Amazon Technologies, Inc. Multi-modal natural language processing
WO2019111346A1 (ja) * 2017-12-06 2019-06-13 ソースネクスト株式会社 双方向音声翻訳システム、双方向音声翻訳方法及びプログラム
JP2019106054A (ja) * 2017-12-13 2019-06-27 株式会社東芝 対話システム
US10664512B1 (en) 2018-02-13 2020-05-26 Snap Inc. Query matching to media collections in a messaging system
DE102018202185A1 (de) * 2018-02-13 2019-08-14 Divvoice UG (haftungsbeschränkt) Vorrichtung zum Optimieren eines gastronomischen Betriebs
US10963273B2 (en) 2018-04-20 2021-03-30 Facebook, Inc. Generating personalized content summaries for users
US10339919B1 (en) * 2018-04-20 2019-07-02 botbotbotbot Inc. Task-independent conversational systems
US11886473B2 (en) 2018-04-20 2024-01-30 Meta Platforms, Inc. Intent identification for agent matching by assistant systems
US11676220B2 (en) 2018-04-20 2023-06-13 Meta Platforms, Inc. Processing multimodal user input for assistant systems
US11715042B1 (en) 2018-04-20 2023-08-01 Meta Platforms Technologies, Llc Interpretability of deep reinforcement learning models in assistant systems
US11347801B2 (en) * 2018-05-07 2022-05-31 Google Llc Multi-modal interaction between users, automated assistants, and other computing services
US20220103683A1 (en) * 2018-05-17 2022-03-31 Ultratec, Inc. Semiautomated relay method and apparatus
KR20190134107A (ko) 2018-05-24 2019-12-04 삼성전자주식회사 사용자의 음성을 처리하는 전자 장치를 포함하는 시스템 및 전자 장치의 음성 인식 제어 방법
JP1621612S (ko) 2018-05-25 2019-01-07
US11093533B2 (en) * 2018-06-05 2021-08-17 International Business Machines Corporation Validating belief states of an AI system by sentiment analysis and controversy detection
US10956462B1 (en) * 2018-06-21 2021-03-23 Amazon Technologies, Inc. System answering of user inputs
US10923128B2 (en) * 2018-08-29 2021-02-16 Cirrus Logic, Inc. Speech recognition
US10891950B2 (en) * 2018-09-27 2021-01-12 International Business Machines Corporation Graph based prediction for next action in conversation flow
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
US11183176B2 (en) * 2018-10-31 2021-11-23 Walmart Apollo, Llc Systems and methods for server-less voice applications
US11195524B2 (en) 2018-10-31 2021-12-07 Walmart Apollo, Llc System and method for contextual search query revision
US11238850B2 (en) 2018-10-31 2022-02-01 Walmart Apollo, Llc Systems and methods for e-commerce API orchestration using natural language interfaces
CN109492083A (zh) * 2018-11-05 2019-03-19 北京奥法科技有限公司 一种基于表单内容实现多轮人机智能交互的方法
US20200159836A1 (en) * 2018-11-16 2020-05-21 International Business Machines Corporation Intelligent resolution of conflicting information in adaptive dialog systems
US11043214B1 (en) * 2018-11-29 2021-06-22 Amazon Technologies, Inc. Speech recognition using dialog history
JP7077487B2 (ja) * 2018-11-30 2022-05-30 グーグル エルエルシー 音声処理
US11017778B1 (en) 2018-12-04 2021-05-25 Sorenson Ip Holdings, Llc Switching between speech recognition systems
US10388272B1 (en) 2018-12-04 2019-08-20 Sorenson Ip Holdings, Llc Training speech recognition systems using word sequences
US10573312B1 (en) 2018-12-04 2020-02-25 Sorenson Ip Holdings, Llc Transcription generation from multiple speech recognition systems
US11170761B2 (en) 2018-12-04 2021-11-09 Sorenson Ip Holdings, Llc Training of speech recognition systems
CN110442438B (zh) * 2019-02-26 2022-06-07 杭州蓦然认知科技有限公司 一种多设备之间的任务协作方法、设备及***
US11151332B2 (en) 2019-03-07 2021-10-19 International Business Machines Business Dialog based speech recognition
US11954453B2 (en) * 2019-03-12 2024-04-09 International Business Machines Corporation Natural language generation by an edge computing device
CN110012166B (zh) * 2019-03-31 2021-02-19 联想(北京)有限公司 一种信息处理方法及装置
WO2020222539A1 (en) * 2019-05-02 2020-11-05 Samsung Electronics Co., Ltd. Hub device, multi-device system including the hub device and plurality of devices, and method of operating the same
WO2020226665A1 (en) * 2019-05-06 2020-11-12 Google Llc Selectively activating on-device speech recognition, and using recognized text in selectively activating on-device nlu and/or on-device fulfillment
CN110164020A (zh) * 2019-05-24 2019-08-23 北京达佳互联信息技术有限公司 投票创建方法、装置、计算机设备及计算机可读存储介质
KR102281581B1 (ko) * 2019-07-17 2021-07-23 에스케이텔레콤 주식회사 목표지향 대화시스템에서의 대화상태 추적방법 및 장치
US11133006B2 (en) * 2019-07-19 2021-09-28 International Business Machines Corporation Enhancing test coverage of dialogue models
US11057330B2 (en) * 2019-08-26 2021-07-06 International Business Machines Corporation Determination of conversation threads in a message channel based on conversational flow and semantic similarity of messages
KR20210044559A (ko) 2019-10-15 2021-04-23 삼성전자주식회사 출력 토큰 결정 방법 및 장치
EP3970057A1 (en) * 2019-10-15 2022-03-23 Google LLC Voice-controlled entry of content into graphical user interfaces
US11567788B1 (en) 2019-10-18 2023-01-31 Meta Platforms, Inc. Generating proactive reminders for assistant systems
US11636438B1 (en) 2019-10-18 2023-04-25 Meta Platforms Technologies, Llc Generating smart reminders by assistant systems
US20210158803A1 (en) * 2019-11-21 2021-05-27 Lenovo (Singapore) Pte. Ltd. Determining wake word strength
US11270080B2 (en) 2020-01-15 2022-03-08 International Business Machines Corporation Unintended bias detection in conversational agent platforms with machine learning model
JP2021135412A (ja) * 2020-02-27 2021-09-13 ソニーグループ株式会社 情報処理装置、および情報処理方法、並びにプログラム
US11508361B2 (en) * 2020-06-01 2022-11-22 Amazon Technologies, Inc. Sentiment aware voice user interface
US11488604B2 (en) 2020-08-19 2022-11-01 Sorenson Ip Holdings, Llc Transcription of audio
US11532313B2 (en) * 2020-08-27 2022-12-20 Google Llc Selectively storing, with multiple user accounts and/or to a shared assistant device: speech recognition biasing, NLU biasing, and/or other data
DE102021109265A1 (de) 2020-08-31 2022-03-03 Cognigy Gmbh Verfahren zur Optimierung
CN112559721B (zh) * 2020-12-25 2023-10-20 北京百度网讯科技有限公司 人机对话***的调整方法、装置、设备、介质和程序产品
US11683283B2 (en) 2021-03-30 2023-06-20 International Business Machines Corporation Method for electronic messaging
US11533279B2 (en) 2021-03-30 2022-12-20 International Business Machines Corporation Method for electronic messaging using image based noisy content
US11627223B2 (en) * 2021-04-22 2023-04-11 Zoom Video Communications, Inc. Visual interactive voice response
US11252113B1 (en) * 2021-06-15 2022-02-15 Drift.com, Inc. Proactive and reactive directing of conversational bot-human interactions
CN114550705B (zh) 2022-02-18 2024-04-12 北京百度网讯科技有限公司 对话推荐方法、模型的训练方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030149561A1 (en) 2002-02-01 2003-08-07 Intel Corporation Spoken dialog system using a best-fit language model and best-fit grammar
US20120245934A1 (en) 2011-03-25 2012-09-27 General Motors Llc Speech recognition dependent on text message content

Family Cites Families (196)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4820059A (en) 1985-10-30 1989-04-11 Central Institute For The Deaf Speech processing apparatus and methods
US5477451A (en) 1991-07-25 1995-12-19 International Business Machines Corp. Method and system for natural language translation
US5267345A (en) 1992-02-10 1993-11-30 International Business Machines Corporation Speech recognition apparatus which predicts word classes from context and words from word classes
DE69326431T2 (de) 1992-12-28 2000-02-03 Toshiba Kawasaki Kk Spracherkennungs-Schnittstellensystem, das als Fenstersystem und Sprach-Postsystem verwendbar ist
TW323364B (ko) 1993-11-24 1997-12-21 At & T Corp
US5638487A (en) 1994-12-30 1997-06-10 Purespeech, Inc. Automatic speech recognition
US5715367A (en) 1995-01-23 1998-02-03 Dragon Systems, Inc. Apparatuses and methods for developing and using models for speech recognition
DE19533541C1 (de) 1995-09-11 1997-03-27 Daimler Benz Aerospace Ag Verfahren zur automatischen Steuerung eines oder mehrerer Geräte durch Sprachkommandos oder per Sprachdialog im Echtzeitbetrieb und Vorrichtung zum Ausführen des Verfahrens
US6173261B1 (en) 1998-09-30 2001-01-09 At&T Corp Grammar fragment acquisition using syntactic and semantic clustering
US6397180B1 (en) 1996-05-22 2002-05-28 Qwest Communications International Inc. Method and system for performing speech recognition based on best-word scoring of repeated speech attempts
US6021403A (en) 1996-07-19 2000-02-01 Microsoft Corporation Intelligent user assistance facility
US5822730A (en) 1996-08-22 1998-10-13 Dragon Systems, Inc. Lexical tree pre-filtering in speech recognition
US6167377A (en) 1997-03-28 2000-12-26 Dragon Systems, Inc. Speech recognition language models
US6119186A (en) 1997-05-30 2000-09-12 Texas Instruments Incorporated Computer system with environmental manager for detecting and responding to changing environmental conditions
US6182038B1 (en) 1997-12-01 2001-01-30 Motorola, Inc. Context dependent phoneme networks for encoding speech information
US6317712B1 (en) 1998-02-03 2001-11-13 Texas Instruments Incorporated Method of phonetic modeling using acoustic decision tree
US6418431B1 (en) 1998-03-30 2002-07-09 Microsoft Corporation Information retrieval and speech recognition based on language models
US6574597B1 (en) 1998-05-08 2003-06-03 At&T Corp. Fully expanded context-dependent networks for speech recognition
US7881936B2 (en) 1998-12-04 2011-02-01 Tegic Communications, Inc. Multimodal disambiguation of speech recognition
US8938688B2 (en) 1998-12-04 2015-01-20 Nuance Communications, Inc. Contextual prediction of user words and user actions
US6922669B2 (en) 1998-12-29 2005-07-26 Koninklijke Philips Electronics N.V. Knowledge-based strategies applied to N-best lists in automatic speech recognition systems
US7058573B1 (en) 1999-04-20 2006-06-06 Nuance Communications Inc. Speech recognition system to selectively utilize different speech recognition techniques over multiple speech recognition passes
US6912499B1 (en) 1999-08-31 2005-06-28 Nortel Networks Limited Method and apparatus for training a multilingual speech model set
JP4292646B2 (ja) 1999-09-16 2009-07-08 株式会社デンソー ユーザインタフェース装置、ナビゲーションシステム、情報処理装置及び記録媒体
US6789231B1 (en) 1999-10-05 2004-09-07 Microsoft Corporation Method and system for providing alternatives for text derived from stochastic input sources
US6581033B1 (en) 1999-10-19 2003-06-17 Microsoft Corporation System and method for correction of speech recognition mode errors
US6778959B1 (en) 1999-10-21 2004-08-17 Sony Corporation System and method for speech verification using out-of-vocabulary models
US6446041B1 (en) 1999-10-27 2002-09-03 Microsoft Corporation Method and system for providing audio playback of a multi-source document
JP2001125591A (ja) * 1999-10-27 2001-05-11 Fujitsu Ten Ltd 音声対話システム
US20020111990A1 (en) 1999-11-01 2002-08-15 Wood Christopher Noah Internet based message management system
US7403888B1 (en) 1999-11-05 2008-07-22 Microsoft Corporation Language input user interface
ATE405918T1 (de) * 1999-12-20 2008-09-15 British Telecomm Das lernen von dialogzuständen und sprachmodellen des gesprochenen informationssystems
AU4869601A (en) 2000-03-20 2001-10-03 Robert J. Freeman Natural-language processing system using a large corpus
US6678415B1 (en) 2000-05-12 2004-01-13 Xerox Corporation Document image decoding using an integrated stochastic language model
US6539358B1 (en) 2000-05-24 2003-03-25 Delphi Technologies, Inc. Voice-interactive docking station for a portable computing device
US7149970B1 (en) 2000-06-23 2006-12-12 Microsoft Corporation Method and system for filtering and selecting from a candidate list generated by a stochastic input method
JP3563018B2 (ja) * 2000-07-21 2004-09-08 シャープ株式会社 音声認識装置および音声認識方法、並びに、プログラム記録媒体
US7623648B1 (en) 2004-12-01 2009-11-24 Tellme Networks, Inc. Method and system of generating reference variations for directory assistance data
US7219058B1 (en) 2000-10-13 2007-05-15 At&T Corp. System and method for processing speech recognition results
US7457750B2 (en) 2000-10-13 2008-11-25 At&T Corp. Systems and methods for dynamic re-configurable speech recognition
US7043422B2 (en) 2000-10-13 2006-05-09 Microsoft Corporation Method and apparatus for distribution-based language model adaptation
US6876966B1 (en) 2000-10-16 2005-04-05 Microsoft Corporation Pattern recognition training method and apparatus using inserted noise followed by noise reduction
ATE297588T1 (de) 2000-11-14 2005-06-15 Ibm Anpassung des phonetischen kontextes zur verbesserung der spracherkennung
DE60133529T2 (de) 2000-11-23 2009-06-10 International Business Machines Corp. Sprachnavigation in Webanwendungen
US6915262B2 (en) 2000-11-30 2005-07-05 Telesector Resources Group, Inc. Methods and apparatus for performing speech recognition and using speech recognition results
US20020087309A1 (en) 2000-12-29 2002-07-04 Lee Victor Wai Leung Computer-implemented speech expectation-based probability method and system
DE10100725C1 (de) 2001-01-10 2002-01-24 Philips Corp Intellectual Pty Automatisches Dialogsystem mit Datenbanksprachmodell
US7027987B1 (en) 2001-02-07 2006-04-11 Google Inc. Voice interface for a search engine
US6754626B2 (en) 2001-03-01 2004-06-22 International Business Machines Corporation Creating a hierarchical tree of language models for a dialog system based on prompt and dialog context
US7072838B1 (en) 2001-03-20 2006-07-04 Nuance Communications, Inc. Method and apparatus for improving human-machine dialogs using language models learned automatically from personalized data
US7778816B2 (en) 2001-04-24 2010-08-17 Microsoft Corporation Method and system for applying input mode bias
US6714778B2 (en) 2001-05-15 2004-03-30 Nokia Corporation Context sensitive web services
US20030008680A1 (en) 2001-05-24 2003-01-09 Huh Stephen S. Using identification information obtained from a portable phone
US7526431B2 (en) 2001-09-05 2009-04-28 Voice Signal Technologies, Inc. Speech recognition using ambiguous or phone key spelling and/or filtering
US7225130B2 (en) 2001-09-05 2007-05-29 Voice Signal Technologies, Inc. Methods, systems, and programming for performing speech recognition
US6901364B2 (en) 2001-09-13 2005-05-31 Matsushita Electric Industrial Co., Ltd. Focused language models for improved speech input of structured documents
US6959276B2 (en) 2001-09-27 2005-10-25 Microsoft Corporation Including the category of environmental noise when processing speech signals
US7533020B2 (en) 2001-09-28 2009-05-12 Nuance Communications, Inc. Method and apparatus for performing relational speech recognition
US6950796B2 (en) 2001-11-05 2005-09-27 Motorola, Inc. Speech recognition by dynamical noise model adaptation
US6914975B2 (en) 2002-02-21 2005-07-05 Sbc Properties, L.P. Interactive dialog-based training method
US7143035B2 (en) 2002-03-27 2006-11-28 International Business Machines Corporation Methods and apparatus for generating dialog state conditioned language models
US7174288B2 (en) 2002-05-08 2007-02-06 Microsoft Corporation Multi-modal entry of ideogrammatic languages
US7403890B2 (en) 2002-05-13 2008-07-22 Roushar Joseph C Multi-dimensional method and apparatus for automated language interpretation
US7224981B2 (en) 2002-06-20 2007-05-29 Intel Corporation Speech recognition of mobile devices
US7570943B2 (en) 2002-08-29 2009-08-04 Nokia Corporation System and method for providing context sensitive recommendations to digital services
JP4109063B2 (ja) 2002-09-18 2008-06-25 パイオニア株式会社 音声認識装置及び音声認識方法
US7184957B2 (en) 2002-09-25 2007-02-27 Toyota Infotechnology Center Co., Ltd. Multiple pass speech recognition method and system
JP4352790B2 (ja) 2002-10-31 2009-10-28 セイコーエプソン株式会社 音響モデル作成方法および音声認識装置ならびに音声認識装置を有する乗り物
US7149688B2 (en) 2002-11-04 2006-12-12 Speechworks International, Inc. Multi-lingual speech recognition with cross-language context modeling
US6993615B2 (en) 2002-11-15 2006-01-31 Microsoft Corporation Portable computing device-integrated appliance
US7457745B2 (en) 2002-12-03 2008-11-25 Hrl Laboratories, Llc Method and apparatus for fast on-line automatic speaker/environment adaptation for speech/speaker recognition in the presence of changing environments
US7684985B2 (en) 2002-12-10 2010-03-23 Richard Dominach Techniques for disambiguating speech input using multimodal interfaces
US7373300B1 (en) 2002-12-18 2008-05-13 At&T Corp. System and method of providing a spoken dialog interface to a website
US7698136B1 (en) 2003-01-28 2010-04-13 Voxify, Inc. Methods and apparatus for flexible speech recognition
US20040162724A1 (en) * 2003-02-11 2004-08-19 Jeffrey Hill Management of conversations
US7606714B2 (en) * 2003-02-11 2009-10-20 Microsoft Corporation Natural language classification within an automated response system
US7805299B2 (en) 2004-03-01 2010-09-28 Coifman Robert E Method and apparatus for improving the transcription accuracy of speech recognition software
CA2638965A1 (en) 2003-05-15 2004-11-15 Ibm Canada Limited - Ibm Canada Limitee Accessing a platform independent input method editor from an underlying operating system
US20040243415A1 (en) 2003-06-02 2004-12-02 International Business Machines Corporation Architecture for a speech input method editor for handheld portable devices
US7392188B2 (en) 2003-07-31 2008-06-24 Telefonaktiebolaget Lm Ericsson (Publ) System and method enabling acoustic barge-in
JP4548646B2 (ja) 2003-09-12 2010-09-22 株式会社エヌ・ティ・ティ・ドコモ 音声モデルの雑音適応化システム、雑音適応化方法、及び、音声認識雑音適応化プログラム
US7634720B2 (en) 2003-10-24 2009-12-15 Microsoft Corporation System and method for providing context to an input method
FI20031566A (fi) 2003-10-27 2005-04-28 Nokia Corp Kielen valitseminen sanantunnistusta varten
CA2486128C (en) 2003-10-30 2011-08-23 At&T Corp. System and method for using meta-data dependent language modeling for automatic speech recognition
CA2486125C (en) 2003-10-30 2011-02-08 At&T Corp. A system and method of using meta-data in speech-processing
US20050114474A1 (en) 2003-11-20 2005-05-26 International Business Machines Corporation Automatic configuration of the network devices via connection to specific switch ports
WO2005050621A2 (en) 2003-11-21 2005-06-02 Philips Intellectual Property & Standards Gmbh Topic specific models for text formatting and speech recognition
US7542907B2 (en) 2003-12-19 2009-06-02 International Business Machines Corporation Biasing a speech recognizer based on prompt context
US7634095B2 (en) 2004-02-23 2009-12-15 General Motors Company Dynamic tuning of hands-free algorithm for noise and driving conditions
US7400878B2 (en) 2004-02-26 2008-07-15 Research In Motion Limited Computing device with environment aware features
US20050246325A1 (en) 2004-04-30 2005-11-03 Microsoft Corporation Method and system for recording and accessing usage of an item in a computer system
JP3923513B2 (ja) 2004-06-08 2007-06-06 松下電器産業株式会社 音声認識装置および音声認識方法
US7299181B2 (en) 2004-06-30 2007-11-20 Microsoft Corporation Homonym processing in the context of voice-activated command systems
US7562069B1 (en) 2004-07-01 2009-07-14 Aol Llc Query disambiguation
US20060009974A1 (en) 2004-07-09 2006-01-12 Matsushita Electric Industrial Co., Ltd. Hands-free voice dialing for portable and remote devices
US7580363B2 (en) 2004-08-16 2009-08-25 Nokia Corporation Apparatus and method for facilitating contact selection in communication devices
JP4679254B2 (ja) * 2004-10-28 2011-04-27 富士通株式会社 対話システム、対話方法、及びコンピュータプログラム
US7698124B2 (en) 2004-11-04 2010-04-13 Microsoft Corporaiton Machine translation system incorporating syntactic dependency treelets into a statistical framework
US8498865B1 (en) 2004-11-30 2013-07-30 Vocera Communications, Inc. Speech recognition system and method using group call statistics
US7848927B2 (en) 2004-11-30 2010-12-07 Panasonic Corporation Speech recognition device and method of recognizing speech using a language model
US7739286B2 (en) 2005-03-17 2010-06-15 University Of Southern California Topic specific language models built from large numbers of documents
US8009678B2 (en) 2005-03-17 2011-08-30 Microsoft Corporation System and method for generating a dynamic prioritized contact list
JP4804052B2 (ja) * 2005-07-08 2011-10-26 アルパイン株式会社 音声認識装置、音声認識装置を備えたナビゲーション装置及び音声認識装置の音声認識方法
US20070060114A1 (en) 2005-09-14 2007-03-15 Jorey Ramer Predictive text completion for a mobile communication facility
US7672833B2 (en) 2005-09-22 2010-03-02 Fair Isaac Corporation Method and apparatus for automatic entity disambiguation
EP2109097B1 (en) 2005-11-25 2014-03-19 Swisscom AG A method for personalization of a service
JP4961755B2 (ja) 2006-01-23 2012-06-27 富士ゼロックス株式会社 単語アライメント装置、単語アライメント方法、単語アライメントプログラム
JP4197344B2 (ja) * 2006-02-20 2008-12-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 音声対話システム
JP5218052B2 (ja) 2006-06-26 2013-06-26 日本電気株式会社 言語モデル生成システム、言語モデル生成方法および言語モデル生成用プログラム
US8001130B2 (en) 2006-07-25 2011-08-16 Microsoft Corporation Web object retrieval based on a language model
JP2008064885A (ja) * 2006-09-05 2008-03-21 Honda Motor Co Ltd 音声認識装置、音声認識方法、及び音声認識プログラム
US7907705B1 (en) 2006-10-10 2011-03-15 Intuit Inc. Speech to text for assisted form completion
US8041568B2 (en) 2006-10-13 2011-10-18 Google Inc. Business listing search
US7890326B2 (en) 2006-10-13 2011-02-15 Google Inc. Business listing search
US8073681B2 (en) 2006-10-16 2011-12-06 Voicebox Technologies, Inc. System and method for a cooperative conversational voice user interface
US9128926B2 (en) 2006-10-26 2015-09-08 Facebook, Inc. Simultaneous translation of open domain lectures and speeches
WO2008067562A2 (en) 2006-11-30 2008-06-05 Rao Ashwin P Multimodal speech recognition system
US20080131851A1 (en) 2006-12-04 2008-06-05 Dimitri Kanevsky Context-sensitive language learning
US7941189B2 (en) 2007-02-07 2011-05-10 Denso Corporation Communicating road noise control system, in-vehicle road noise controller, and server
US20100325109A1 (en) 2007-02-09 2010-12-23 Agency For Science, Technology And Rearch Keyword classification and determination in language modelling
US20080221899A1 (en) 2007-03-07 2008-09-11 Cerra Joseph P Mobile messaging environment speech processing facility
US8838457B2 (en) 2007-03-07 2014-09-16 Vlingo Corporation Using results of unstructured language model based speech recognition to control a system-level function of a mobile communications facility
US20090030687A1 (en) 2007-03-07 2009-01-29 Cerra Joseph P Adapting an unstructured language model speech recognition system based on usage
US20110060587A1 (en) 2007-03-07 2011-03-10 Phillips Michael S Command and control utilizing ancillary information in a mobile voice-to-speech application
US8060373B2 (en) 2007-03-21 2011-11-15 At&T Intellectual Property I, L.P. System and method of identifying contact information
US8396713B2 (en) 2007-04-30 2013-03-12 Nuance Communications, Inc. Method and system for using a statistical language model and an action classifier in parallel with grammar for better handling of out-of-grammar utterances
US7895177B2 (en) 2007-05-29 2011-02-22 Yahoo! Inc. Enabling searching of user ratings and reviews using user profile location, and social networks
US8762143B2 (en) 2007-05-29 2014-06-24 At&T Intellectual Property Ii, L.P. Method and apparatus for identifying acoustic background environments based on time and speed to enhance automatic speech recognition
US7831427B2 (en) 2007-06-20 2010-11-09 Microsoft Corporation Concept monitoring in spoken-word audio
US7983902B2 (en) 2007-08-23 2011-07-19 Google Inc. Domain dictionary creation by detection of new topic words using divergence value comparison
WO2009045861A1 (en) 2007-10-05 2009-04-09 Sensory, Incorporated Systems and methods of performing speech recognition using gestures
US7953692B2 (en) 2007-12-07 2011-05-31 Microsoft Corporation Predicting candidates using information sources
WO2009076026A2 (en) * 2007-12-11 2009-06-18 Dow Global Technologies Inc. Extruded polymer foams containing brominated 2-oxo-1,3,2-dioxaphosphorinane compounds as flame retardant additives
US8423362B2 (en) 2007-12-21 2013-04-16 General Motors Llc In-vehicle circumstantial speech recognition
US8473276B2 (en) 2008-02-19 2013-06-25 Google Inc. Universal language input
US8121837B2 (en) 2008-04-24 2012-02-21 Nuance Communications, Inc. Adjusting a speech engine for a mobile computing device based on background noise
US20090287680A1 (en) 2008-05-14 2009-11-19 Microsoft Corporation Multi-modal query refinement
US8364481B2 (en) 2008-07-02 2013-01-29 Google Inc. Speech recognition with parallel recognition tasks
US8027973B2 (en) 2008-08-04 2011-09-27 Microsoft Corporation Searching questions based on topic and focus
CA2680304C (en) 2008-09-25 2017-08-22 Multimodal Technologies, Inc. Decoding-time prediction of non-verbalized tokens
US8407236B2 (en) 2008-10-03 2013-03-26 Microsoft Corp. Mining new words from a query log for input method editors
US20100100377A1 (en) 2008-10-10 2010-04-22 Shreedhar Madhavapeddi Generating and processing forms for receiving speech data
WO2010046782A2 (en) 2008-10-24 2010-04-29 App Tek Hybrid machine translation
JP5598331B2 (ja) 2008-11-28 2014-10-01 日本電気株式会社 言語モデル作成装置
US8352321B2 (en) 2008-12-12 2013-01-08 Microsoft Corporation In-text embedded advertising
US9741340B2 (en) * 2014-11-07 2017-08-22 Nuance Communications, Inc. System and method for enhancing speech recognition accuracy using weighted grammars based on user profile including demographic, account, time and date information
CN101477798B (zh) * 2009-02-17 2011-01-05 北京邮电大学 一种分析和提取设定场景的音频数据的方法
US8509398B2 (en) 2009-04-02 2013-08-13 Microsoft Corporation Voice scratchpad
US9858925B2 (en) * 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
US20100318531A1 (en) 2009-06-10 2010-12-16 Microsoft Corporation Smoothing clickthrough data for web search ranking
US9892730B2 (en) 2009-07-01 2018-02-13 Comcast Interactive Media, Llc Generating topic-specific language models
US8793119B2 (en) * 2009-07-13 2014-07-29 At&T Intellectual Property I, L.P. System and method for generating manually designed and automatically optimized spoken dialog systems
US8364612B2 (en) 2009-09-15 2013-01-29 Microsoft Corporation Machine learning using relational databases
US8255217B2 (en) 2009-10-16 2012-08-28 At&T Intellectual Property I, Lp Systems and methods for creating and using geo-centric language models
US8589163B2 (en) 2009-12-04 2013-11-19 At&T Intellectual Property I, L.P. Adapting language models with a bit mask for a subset of related words
EP2339576B1 (en) 2009-12-23 2019-08-07 Google LLC Multi-modal input on an electronic device
US20110162035A1 (en) 2009-12-31 2011-06-30 Apple Inc. Location-based dock for a computing device
US10276170B2 (en) * 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
EP2903003A1 (en) 2010-02-22 2015-08-05 Nuance Communications, Inc. Online maximum-likelihood mean and variance normalization for speech recognition
US8265928B2 (en) 2010-04-14 2012-09-11 Google Inc. Geotagged environmental audio for enhanced speech recognition accuracy
US8694313B2 (en) 2010-05-19 2014-04-08 Google Inc. Disambiguation of contact information using historical data
US8468012B2 (en) 2010-05-26 2013-06-18 Google Inc. Acoustic model adaptation using geographic information
US8700392B1 (en) 2010-09-10 2014-04-15 Amazon Technologies, Inc. Speech-inclusive device interfaces
US8606581B1 (en) 2010-12-14 2013-12-10 Nuance Communications, Inc. Multi-pass speech recognition
US8352245B1 (en) 2010-12-30 2013-01-08 Google Inc. Adjusting language models
US9176944B1 (en) * 2011-08-23 2015-11-03 Google Inc. Selectively processing user input
US9009025B1 (en) * 2011-12-27 2015-04-14 Amazon Technologies, Inc. Context-based utterance recognition
US8965763B1 (en) * 2012-02-02 2015-02-24 Google Inc. Discriminative language modeling for automatic speech recognition with a weak acoustic model and distributed training
US8775177B1 (en) 2012-03-08 2014-07-08 Google Inc. Speech recognition process
US9230556B2 (en) * 2012-06-05 2016-01-05 Apple Inc. Voice instructions during navigation
US9043205B2 (en) * 2012-06-21 2015-05-26 Google Inc. Dynamic language model
US10354650B2 (en) 2012-06-26 2019-07-16 Google Llc Recognizing speech with mixed speech recognition models to generate transcriptions
US9047868B1 (en) 2012-07-31 2015-06-02 Amazon Technologies, Inc. Language model data collection
US9117450B2 (en) 2012-12-12 2015-08-25 Nuance Communications, Inc. Combining re-speaking, partial agent transcription and ASR for improved accuracy / human guided ASR
KR101410163B1 (ko) * 2013-01-02 2014-06-20 포항공과대학교 산학협력단 통계적 음성 언어 이해 방법
US9589565B2 (en) 2013-06-21 2017-03-07 Microsoft Technology Licensing, Llc Environmentally aware dialog policies and response generation
JP2015018146A (ja) * 2013-07-12 2015-01-29 株式会社Nttドコモ 機能管理システム及び機能管理方法
US9606984B2 (en) * 2013-08-19 2017-03-28 Nuance Communications, Inc. Unsupervised clustering of dialogs extracted from released application logs
US9886950B2 (en) * 2013-09-08 2018-02-06 Intel Corporation Automatic generation of domain models for virtual personal assistants
WO2015102082A1 (ja) * 2014-01-06 2015-07-09 株式会社Nttドコモ ユーザのデータ入力に応じて情報提供を行うための端末装置、プログラム、およびサーバ装置
US20150309984A1 (en) * 2014-04-25 2015-10-29 Nuance Communications, Inc. Learning language models from scratch based on crowd-sourced user text input
EP3480811A1 (en) * 2014-05-30 2019-05-08 Apple Inc. Multi-command single utterance input method
US9632748B2 (en) * 2014-06-24 2017-04-25 Google Inc. Device designation for audio input monitoring
US9338493B2 (en) * 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10317992B2 (en) * 2014-09-25 2019-06-11 Microsoft Technology Licensing, Llc Eye gaze for spoken language understanding in multi-modal conversational interactions
US10079785B2 (en) * 2015-02-12 2018-09-18 Google Llc Determining reply content for a reply to an electronic communication
US10347240B2 (en) * 2015-02-26 2019-07-09 Nantmobile, Llc Kernel-based verbal phrase splitting devices and methods
KR102325724B1 (ko) * 2015-02-28 2021-11-15 삼성전자주식회사 다수의 기기에서 텍스트 데이터 동기화
US9666183B2 (en) * 2015-03-27 2017-05-30 Qualcomm Incorporated Deep neural net based filter prediction for audio event classification and extraction
US9460713B1 (en) * 2015-03-30 2016-10-04 Google Inc. Language model biasing modulation
US9691380B2 (en) * 2015-06-15 2017-06-27 Google Inc. Negative n-gram biasing
US9473637B1 (en) * 2015-07-28 2016-10-18 Xerox Corporation Learning generation templates from dialog transcripts
US9978374B2 (en) * 2015-09-04 2018-05-22 Google Llc Neural networks for speaker verification
US10055403B2 (en) * 2016-02-05 2018-08-21 Adobe Systems Incorporated Rule-based dialog state tracking
US9978367B2 (en) * 2016-03-16 2018-05-22 Google Llc Determining dialog states for language models
US10503834B2 (en) * 2017-11-17 2019-12-10 Digital Genius Limited Template generation for a conversational agent

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030149561A1 (en) 2002-02-01 2003-08-07 Intel Corporation Spoken dialog system using a best-fit language model and best-fit grammar
US20120245934A1 (en) 2011-03-25 2012-09-27 General Motors Llc Speech recognition dependent on text message content

Also Published As

Publication number Publication date
WO2017160355A1 (en) 2017-09-21
US10553214B2 (en) 2020-02-04
US20220165270A1 (en) 2022-05-26
US20180336895A1 (en) 2018-11-22
US20170270929A1 (en) 2017-09-21
US11264028B2 (en) 2022-03-01
EP3381034A1 (en) 2018-10-03
JP6569009B2 (ja) 2019-08-28
CN108463849A (zh) 2018-08-28
CN114974234A (zh) 2022-08-30
EP3381034B1 (en) 2019-10-02
EP3594941A1 (en) 2020-01-15
CN108463849B (zh) 2022-05-03
US20200135203A1 (en) 2020-04-30
EP3594941B1 (en) 2023-07-26
US9978367B2 (en) 2018-05-22
KR20180090869A (ko) 2018-08-13
EP4235647A3 (en) 2023-10-18
EP4235647A2 (en) 2023-08-30
JP2019507895A (ja) 2019-03-22

Similar Documents

Publication Publication Date Title
KR102151681B1 (ko) 언어 모델용 대화 상태들 결정
KR102596446B1 (ko) 모바일 디바이스들에서의 모달리티 학습
US11670289B2 (en) Multi-command single utterance input method
US9293136B2 (en) Multiple recognizer speech recognition
CN110110319B (zh) 语音输入的字词级纠正
US9558743B2 (en) Integration of semantic context information
US11562744B1 (en) Stylizing text-to-speech (TTS) voice response for assistant systems
EP3593346B1 (en) Graphical data selection and presentation of digital content
JP2005512246A (ja) 動作モデルを使用して非煩雑的に話者を検証するための方法及びシステム

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