KR102151681B1 - 언어 모델용 대화 상태들 결정 - Google Patents
언어 모델용 대화 상태들 결정 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 74
- 230000004044 response Effects 0.000 claims abstract description 12
- 238000013518 transcription Methods 0.000 claims description 128
- 230000035897 transcription Effects 0.000 claims description 128
- 230000003993 interaction Effects 0.000 claims description 8
- 230000009471 action Effects 0.000 claims description 6
- 230000000875 corresponding effect Effects 0.000 description 48
- 230000015654 memory Effects 0.000 description 35
- 230000008569 process Effects 0.000 description 28
- 238000004891 communication Methods 0.000 description 20
- 235000013550 pizza Nutrition 0.000 description 20
- 238000012546 transfer Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 7
- 239000013598 vector Substances 0.000 description 7
- 235000001674 Agaricus brunnescens Nutrition 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 230000002596 correlated effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 241000699670 Mus sp. Species 0.000 description 2
- 239000004295 calcium sulphite Substances 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000004180 red 2G Substances 0.000 description 2
- 241000699666 Mus <mouse, genus> Species 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000011273 social behavior Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000002103 transcriptional effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1822—Parsing for meaning understanding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
- G10L15/30—Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/065—Adaptation
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
- G10L15/19—Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
- G10L15/197—Probabilistic grammars, e.g. word n-grams
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution 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은 본 명세서에 기술된 컴퓨터로 구현되는 방법들 및 다른 기법들을 수행하는데 사용될 수 있는 컴퓨팅 디바이스 및 모바일 컴퓨팅 디바이스의 예시들을 도시한다.
다양한 도면들의 동일한 참조 부호들은 동일한 요소들을 표시한다.
도 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)
- 컴퓨터로 구현되는 방법으로서:
컴퓨팅 시스템에서, 음성 입력을 표시하는 오디오 데이터를 수신하는 단계;
복수의 대화 상태들 중에서, 상기 음성 입력에 대응하는 특정한 대화 상태를 결정하는 단계;
상기 음성 입력에 대응하는 상기 특정한 대화 상태와 연관된 n-gram들의 집합을 식별하는 단계, 상기 n-gram들의 집합은 상기 대화 상태에 대응하는 이력적 음성 입력들에서 자주 발생하는 상기 n-gram들의 집합 내의 n-gram들에 적어도 기초하여 상기 특정한 대화 상태와 연관되며;
상기 음성 입력에 대응하는 상기 특정한 대화 상태와 연관된 상기 n-gram들의 집합을 식별함에 응답하여, 상기 n-gram들의 집합 내의 n-gram들에 대해 언어 모델이 표시하는 확률 스코어들을 조정함으로써 상기 언어 모델을 바이어스(biasing)하는 단계, 상기 언어 모델은 상기 n-gram들의 집합에서 상기 n-gram들이 얼마자 자주 발생하는지 표시하는 상기 확률 스코어들을 할당하며; 및
상기 바이어스된 언어 모델을 사용하여 상기 음성 입력을 전사(transcribing)하는 단계를 포함하는 것을 특징으로 하는 방법. - 청구항 1에 있어서, 상기 복수의 대화 상태들은 특정한 작업과 관련된 컴퓨팅 디바이스와 사용자 음성 인터랙션들의 복수의 단계들을 각각 표시하는 것을 특징으로 하는 방법.
- 청구항 1에 있어서,
상기 컴퓨팅 시스템에서 제2 음성 입력을 수신하는 단계;
상기 복수의 대화 상태들 중에서, 상기 제2 음성 입력에 대응하는 제2 특정한 대화 상태를 결정하는 단계; 및
상기 제2 음성 입력에 대응하는 상기 제2 특정한 대화 상태와 연관된 n-gram들의 제2 집합을 식별하는 단계를 더 포함하며, 상기 n-gram들의 제2 집합은 상기 음성 입력에 대응하는 상기 특정한 대화 상태와 연관된 상기 n-gram들의 집합과 상이한 것을 특징으로 하는 방법. - 청구항 1에 있어서,
상기 음성 입력에 대응하는 상기 특정한 대화 상태를 결정하는 단계는:
상기 복수의 대화 상태들 중에서, 상기 음성 입력에 선행하는 제2 음성 입력에 대응하는 제2 특정한 대화 상태를 식별하는 단계, 상기 음성 입력 및 상기 제2 음성 입력은 각각 동일한 작업과 관련되며; 및
상기 제2 특정한 대화 상태 이후에 발생할 가능성이 있는 상기 복수의 대화 상태들 중에서 하나 이상의 대화 상태들을 표시하는 데이터에 기초하여 상기 음성 입력에 대응하는 상기 특정한 대화 상태를 결정하는 단계를 포함하는 것을 특징으로 하는 방법. - 청구항 1에 있어서,
상기 음성 입력에 대응하는 상기 특정한 대화 상태를 결정하는 단계는:
상기 음성 입력의 전사를 생성하는 단계; 및
상기 특정한 대화 상태와 연관된 상기 n-gram들의 집합 내의 하나 이상의 n-gram들 및 상기 음성 입력의 상기 전사에서 발생하는 하나 이상의 n-gram들 사이의 매칭(match)을 결정하는 단계를 포함하는 것을 특징으로 하는 방법. - 청구항 5에 있어서,
상기 매칭을 결정하는 단계는, 상기 음성 입력의 상기 전사에서 발생하는 상기 하나 이상의 n-gram들과 상기 특정한 대화 상태와 연관된 상기 n-gram들의 집합 내의 상기 하나 이상의 n-gram들 사이의 의미론적 관계를 결정하는 단계를 포함하는 것을 특징으로 하는 방법. - 청구항 1에 있어서,
상기 음성 입력과 연관된 컨텍스트를 표시하는 데이터를 수신하는 단계를 더 포함하며, 상기 음성 입력에 대응하는 상기 특정한 대화 상태를 결정하는 단계는 상기 음성 입력과 연관된 상기 컨텍스트에 기초하여 상기 특정한 대화 상태를 식별하는 단계를 포함하는 것을 특징으로 하는 방법. - 청구항 7에 있어서,
상기 음성 입력과 연관된 상기 컨텍스트는 상기 음성 입력이 수신되었던 시간에 상기 음성 입력이 수신되었던 컴퓨팅 디바이스에서의 사용자 인터페이스의 디스플레이를 특징으로 하는 데이터를 포함하며, 그리고
상기 음성 입력과 연관된 상기 컨텍스트에 기초하여 상기 특정한 대화 상태를 식별하는 단계는, 상기 음성 입력이 수신되었던 시간에 상기 음성 입력이 수신되었던 상기 컴퓨팅 디바이스에서의 상기 사용자 인터페이스의 상기 디스플레이를 특징으로 하는 데이터에 기초하여, 상기 특정한 대화 상태를 식별하는 단계를 포함하는 것을 특징으로 하는 방법. - 청구항 1에 있어서,
상기 컴퓨팅 시스템에서, 상기 음성 입력이 유도되었던 애플리케이션을 표시하는 애플리케이션 식별자를 컴퓨팅 시스템에서 수신하는 단계를 더 포함하며, 상기 복수의 대화 상태들은 상기 음성 입력이 유도되었던 상기 애플리케이션에 대한 애플리케이션-특정 작업에 관련되는 것을 특징으로 하는 방법. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 컴퓨팅 시스템에 있어서,
하나 이상의 프로세서들; 및
명령어들이 저장된 하나 이상의 컴퓨터 판독가능 매체를 포함하며, 상기 명령어들은 실행시, 동작들을 수행케 하며, 상기 동작들은:
음성 입력을 표시하는 오디오 데이터를 수신하는 동작;
복수의 대화 상태들 중에서, 상기 음성 입력에 대응하는 특정한 대화 상태를 결정하는 동작;
상기 음성 입력에 대응하는 상기 특정한 대화 상태와 연관된 n-gram들의 집합을 식별하는 동작, 상기 n-gram들의 집합은 상기 대화 상태에 대응하는 이력적 음성 입력들에서 자주 발생하는 상기 n-gram들의 집합 내의 n-gram들에 적어도 기초하여 상기 특정한 대화 상태와 연관되며;
상기 음성 입력에 대응하는 상기 특정한 대화 상태와 연관된 상기 n-gram들의 집합을 식별함에 응답하여, 상기 n-gram들의 집합 내의 n-gram들에 대해 언어 모델에 의해 할당된 확률 스코어들을 증가시킴으로써 상기 언어 모델을 조정하는 동작, 상기 언어 모델은 상기 n-gram들의 집합에서 상기 n-gram들이 얼마나 자주 발생하는지 표시하는 상기 확률 스코어들을 할당하며; 및
상기 조정된 언어 모델을 사용하여 상기 음성 입력을 전사하는 동작을 포함하는 것을 특징으로 하는 컴퓨팅 시스템. - 청구항 18에 있어서, 상기 복수의 대화 상태들은 특정한 작업과 관련된 컴퓨팅 디바이스와 사용자 음성 인터랙션들의 복수의 단계들을 각각 표시하는 것을 특징으로 하는 컴퓨팅 시스템.
- 청구항 18에 있어서, 상기 동작들은:
상기 컴퓨팅 시스템에서 제2 음성 입력을 수신하는 동작;
상기 복수의 대화 상태들 중에서, 상기 제2 음성 입력에 대응하는 제2 특정한 대화 상태를 결정하는 동작; 및
상기 제2 음성 입력에 대응하는 상기 제2 특정한 대화 상태와 연관된 n-gram들의 제2 집합을 식별하는 동작을 더 포함하며, 상기 n-gram들의 제2 집합은 상기 음성 입력에 대응하는 상기 특정한 대화 상태와 연관된 상기 n-gram들의 집합과 상이한 것을 특징으로 하는 컴퓨팅 시스템.
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)
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)
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)
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 |
-
2016
- 2016-03-16 US US15/071,651 patent/US9978367B2/en active Active
- 2016-11-30 JP JP2018536424A patent/JP6569009B2/ja active Active
- 2016-11-30 CN CN201680078893.9A patent/CN108463849B/zh active Active
- 2016-11-30 KR KR1020187019324A patent/KR102151681B1/ko active IP Right Grant
- 2016-11-30 CN CN202210438719.8A patent/CN114974234A/zh active Pending
- 2016-11-30 EP EP16813178.7A patent/EP3381034B1/en active Active
- 2016-11-30 WO PCT/US2016/064065 patent/WO2017160355A1/en active Application Filing
- 2016-11-30 EP EP19194784.5A patent/EP3594941B1/en active Active
- 2016-11-30 EP EP23179644.2A patent/EP4235647A3/en active Pending
-
2018
- 2018-05-18 US US15/983,768 patent/US10553214B2/en active Active
-
2020
- 2020-01-02 US US16/732,645 patent/US11264028B2/en active Active
-
2022
- 2022-02-10 US US17/650,567 patent/US20220165270A1/en active Pending
Patent Citations (2)
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 |