KR102509464B1 - 발언 분류기 - Google Patents
발언 분류기 Download PDFInfo
- Publication number
- KR102509464B1 KR102509464B1 KR1020227042199A KR20227042199A KR102509464B1 KR 102509464 B1 KR102509464 B1 KR 102509464B1 KR 1020227042199 A KR1020227042199 A KR 1020227042199A KR 20227042199 A KR20227042199 A KR 20227042199A KR 102509464 B1 KR102509464 B1 KR 102509464B1
- Authority
- KR
- South Korea
- Prior art keywords
- utterance
- automated assistant
- server
- classifier
- implementations
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 58
- 238000013518 transcription Methods 0.000 claims abstract description 47
- 230000035897 transcription Effects 0.000 claims abstract description 47
- 238000013528 artificial neural network Methods 0.000 claims abstract description 43
- 239000013598 vector Substances 0.000 claims description 51
- 230000015654 memory Effects 0.000 claims description 39
- 230000004044 response Effects 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 25
- 238000012549 training Methods 0.000 claims description 6
- 230000006403 short-term memory Effects 0.000 claims description 3
- 230000014509 gene expression Effects 0.000 abstract description 29
- 238000004590 computer program Methods 0.000 abstract description 7
- 239000011159 matrix material Substances 0.000 description 31
- 238000004891 communication Methods 0.000 description 19
- 238000003780 insertion Methods 0.000 description 16
- 230000037431 insertion Effects 0.000 description 16
- 238000013527 convolutional neural network Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000000306 recurrent effect Effects 0.000 description 6
- 238000013459 approach Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000001149 cognitive effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 101100009348 Mus musculus Depp1 gene Proteins 0.000 description 1
- 101100009350 Rattus norvegicus Depp gene Proteins 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 239000013001 matrix buffer Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 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
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000002103 transcriptional effect Effects 0.000 description 1
- 230000000007 visual 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- 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/16—Speech classification or search using artificial neural networks
-
- 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
-
- 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
- G10L17/00—Speaker identification or verification techniques
-
- 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
-
- 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/226—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
- G10L2015/227—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of the speaker; Human-factor methodology
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Acoustics & Sound (AREA)
- Computational Linguistics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Machine Translation (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
신경망을 이용한 분류를 위해 컴퓨터 저장 매체상에 인코딩된 컴퓨터 프로그램을 포함하는 방법, 시스템 및 디바이스. 하나의 방법은 발언에 대응하는 오디오 데이터를 수신하는 단계, 상기 오디오 데이터의 표현을 생성하는 단계, 상기 발언의 전사의 표현을 생성하는 단계, (i) 상기 오디오 데이터의 표현 및 (ii) 상기 발언의 전사의 표현을, 주어진 오디오 데이터의 표현과 주어진 발언의 전사의 표현에 기초하여, 상기 주어진 표현과 연관된 상기 발언이 자동화된 어시스턴트로 향할 가능성이 있는지 또는 자동화된 어시스턴트로 향할 가능성이 없는지의 여부의 표시를 출력하도록 트레이닝된 분류기에 제공하는 단계를 포함한다.
Description
본 명세서는 일반적으로 분류에 관한 것으로, 보다 구체적으로는 신경망을 이용한 분류에 관한 것이다.
음성 지원 환경은 사용자가 쿼리 또는 명령을 소리 내어 말할 수 있는 환경이며 컴퓨터 기반 시스템은 쿼리를 획득하고, 쿼리에 답변하고, 및/또는 음성 인식 기법을 사용하여 명령이 수행되도록 하는 환경이다. 음성 지원 환경은 환경의 다양한 공간들 또는 영역들에 분산된 연결된 마이크로폰 디바이스들의 네트워크를 포함할 수 있다. 사용자는 사용자의 앞이나 사용자의 근처에 컴퓨터 또는 기타 디바이스를 놓을 필요 없이 기본적으로 음성 지원 환경의 어느 곳에서든 컴퓨터 기반 시스템에 구두로 질의할 수 있다. 예를 들어, 아침에 옷을 입는 동안 사용자는 컴퓨터 기반 시스템에 "외부 온도는 몇 도입니까?"라고 물을 수 있고, 이에 응답으로, 예를 들어, 합성된 음성 출력의 형태로 시스템으로부터 답변을 수신할 수 있다. 다른 예에서, 사용자는 "내가 가장 좋아하는 식당은 몇 시에 문을 열까?" 또는 "가장 가까운 주유소는 어디입니까?" 와 같은 컴퓨터 기반 시스템 질문들을 물을 수 있다.
*음성 지원 환경의 경우 사용자는 주로 음성 입력을 통해 컴퓨터 기반 시스템과 상호 작용할 수 있다. 결과적으로, 컴퓨터 기반 시스템은 컴퓨터 기반 시스템을 향하지 않는 발언들을 포함하여 음성 지원 환경에서 이루어진 모든 발언들 및 소음들을 잠재적으로 획득할 수 있다. 따라서, 컴퓨터 기반 시스템은 컴퓨터 기반 시스템을 향하는 발언과 컴퓨터 기반 시스템을 향하지 않고, 음성 지원 환경에 존재하는 다른 사람에 대한 발언을 구별할 수 있는 방법을 가져야만 한다. 이를 달성하기 위한 한 가지 방법은 사용자가 핫워드(hotword) 또는 키워드와 같은 미리 결정된 단어를 사용하여 컴퓨터 기반 시스템에 관심을 표명하는 것이다. 또한, 음성 지원 환경의 다른 사람들은 미리 결정된 단어의 사용이 단지 컴퓨터 기반 시스템에 대한 것임을 이해한다. 예를 들어, 사용자는 컴퓨터 기반 시스템에 질문을 하기 위해 "OK 컴퓨터"라고 말한 다음 질의를 할 수 있다. 그러나, 사용자가 컴퓨터 기반 시스템에 질문을 할 때마다 미리 정해진 단어를 말해야 하는 것은 정상적인 대화의 흐름을 방해하고 사용자에게 인지 부담을 부과한다. 이러한 인지 부담을 경감시키기 위해, 컴퓨터 기반 시스템은 사용자가 미리 결정된 단어를 사용하여 제 1 질문을 한 후에 사용자가 가질 수 있는 질문들에 대해 마이크를 개방 상태로 유지할 수 있다. 다음에 나오는 질문들에는 미리 정해진 단어를 사용할 필요가 없다. 그러나, 컴퓨터 기반 시스템은 여전히 컴퓨터 기반 시스템을 향하는 후속 질문들과 컴퓨터 기반 시스템에 향하지 않는 다른 획득된 발언을 구별해야 할 필요가 있다. 따라서, 컴퓨터 기반 시스템이 발언에 후속하는 것이 컴퓨터 기반 시스템을 향할 가능성이 있는 질문인 것처럼 보인다고 결정하면, 발언에 후속 하는 것이 수락되고 프로세싱된다. 그렇지 않으면, 컴퓨터 기반 시스템은 마이크로폰을 닫고 미리 정해진 단어를 포함하는 사용자로부터의 다음 발언을 대기한다. 따라서, 컴퓨터 기반 시스템에 대한 사용자 명령들과 같은 사용자 입력을 용이하게 하는 개선된 메커니즘이 제공될 수 있다.
일부 구현예에서, 컴퓨터 기반 시스템은 일단 컴퓨터 기반 시스템이 질문들에 대한 응답을 청취하면 사용자와의 자유 형식 대화들을 허용한다. 사용자는 더 이상 컴퓨터 기반 시스템과 통신하기 위해 미리 결정된 핫워드를 사용할 필요가 없다. 컴퓨터 기반 시스템은 획득된 발언의 음향 특성들 및 획득된 발언의 인식된 텍스트를 모두 사용하여 질문에 후속하는 것이 컴퓨터 기반 시스템을 향하는지 여부를 결정한다.
일부 구현예에서, 분류 시스템은 사람의 음성의 내용을 식별하기 위한 분류기를 포함한다. 구체적으로, 컨텐츠는 사람의 음성에 대한 청자가 자동화된 어시스턴트 서버일 가능성이 있다는 결정을 포함한다. 분류 시스템은 음성 인식기, 전사 표현 생성기, 음향 피처 생성기, 연결 모듈 및 이러한 결정 기능을 수행하기 위한 분류기를 포함한다. 음성 인식기는 사용자에 의해 발화된 발언 정보를 획득하고 사용자로부터 발언의 전사를 생성할 수 있다. 음향 피처 생성기는 사용자에 의해 발화된 발언 정보를 수신하고 수신된 발화된 발언의 오디오 특성을 기술하는 피처 벡터와 같은 음성 유닛 표현을 출력할 수 있다. 전사 표현 생성기는 음성 인식기로부터 상기 발화된 발언의 전사를 수신하고 단어 삽입을 포함하는 출력 전사를 수신할 수 있다. 연결 모듈은 음향 정보 및 단어 삽입을 수신하고, 음향 정보 및 단어 삽입을 매트릭스 표현으로 연결하고, 매트릭스 표현을 분류기에 제공할 수 있다. 분류기는 상기 획득된 발언에 대한 청자가 자동화된 어시스턴트 서버일 가능성이 있다는 표시를 제공한다.
일부 구현예에서, 분류기는 상기 발화된 발언을 프로세싱하기 위한 하나 이상의 신경망(neural network) 요소를 포함한다. 분류기는 사용자가 이전에 말한 질의들이 자동화된 어시스턴트로 향하지 않은 예시들을 사용하여 신경망 요소를 트레이닝한다. 이러한 유형의 트레이닝은 분류기로 하여금 이러한 유형의 질의를 감지하게 하고 추가적으로, 상기 획득한 질의의 청자가 자동화된 어시스턴트 서버일 가능성이 있는지에 대한 표시를 제공하게 한다.
하나의 일반적인 양태에서, 방법은 분류 시스템의 하나 이상의 컴퓨터에 의해 수행된다. 이 방법은 발언에 대응하는 오디오 데이터를 수신하는 단계; 상기 발언의 전사를 획득하여 상기 오디오 데이터의 표현을 생성하는 단계; 상기 발언의 전사의 표현을 생성하는 단계; (i) 상기 오디오 데이터의 표현 및 (ii) 상기 발언의 전사의 표현을, 주어진 오디오 데이터의 표현과 주어진 발언의 전사의 표현에 기초하여, 상기 주어진 표현과 연관된 상기 발언이 자동화된 어시스턴트로 향할 가능성이 있는지 또는 자동화된 어시스턴트로 향할 가능성이 없는지의 표시를 출력하도록 트레이닝된 분류기에 제공하는 단계; 상기 분류기로부터, 상기 수신 된 오디오 데이터에 대응하는 상기 발언이 상기 자동화된 어시스턴트로 향할 가능성이 있는지 또는 상기 자동화된 어시스턴트로 향할 가능성이 없는지 여부의 표시를 수신하는 단계; 및 상기 수신된 오디오 데이터에 대응하는 상기 발언이 상기 자동화된 어시스턴트로 향할 가능성이 있는지 또는 상기 자동화된 어시스턴트로 향할 가능성이 없는지 여부의 상기 표시에 적어도 기초하여 자동화된 어시스턴트에 선택적으로 지시하는 단계를 포함한다.
본 발명의 다른 양태와 다른 구현예는 상기 방법들의 액션들을 수행하도록 구성된 대응 시스템들, 디바이스들 및 컴퓨터 저장 디바이스들에 인코딩된 컴퓨터 프로그램들을 포함한다. 하나 이상의 컴퓨터로 구성된 시스템은 소프트웨어, 펌웨어, 하드웨어 또는 시스템에 설치된 시스템의 조합으로 작동하여 시스템이 작업을 수행하도록 구성 할 수 있다. 하나 이상의 컴퓨터 프로그램은 데이터 처리 디바이스에 의해 실행될 때 디바이스로 하여금 동작을 수행하게 하는 명령을 갖도록 구성될 수 있다.
구현은 다음 특징 중 하나 이상을 포함할 수 있다. 예를 들어, 일부 구현들에서, (i) 상기 오디오 데이터의 표현 및 (ii) 상기 발언의 전사의 표현을 상기 분류기에 제공하는 단계는: (i) 상기 오디오 데이터의 표현과 (ii) 상기 발언의 전사의 표현 사이의 연결의 입력 표현을 생성하는 단계, 및 상기 연결된 입력 표현을 상기 분류기에 제공하는 단계를 더 포함한다.
일부 구현예들에서, 상기 방법의 (i) 상기 오디오 데이터의 표현과 (ii) 상기 발언의 전사의 표현 사이의 상기 연결의 입력 표현을 생성하는 단계는: 상기 발언의 전사의 표현에서 인식된 하나 이상의 단어들로부터 변환된 하나 이상의 숫자 벡터를 생성하는 단계, 및 상기 분류기에 제공하기 위해 상기 하나 이상의 숫자 벡터들을 포함하는 숫자 벡터들의 행렬을 생성하는 단계를 더 포함한다.
일부 구현예들에서, 상기 방법은 단어 삽입 모델에서 음성 인식기로부터 상기 발언에 대응하는 인식 가능한 텍스트를 수신하는 단계; 상기 단어 삽입 모델에서, 상기 인식 가능한 텍스트로부터 상기 발언의 전사를 생성하는 단계; 및 상기 단어 삽입 모델로부터 상기 발언의 전사를 상기 분류기에 제공하는 단계를 더 포함한다.
일부 구현예에서, 오디오 데이터의 표현은 음향 멜 주파수 켑스트랄 계수(mel-frequency cepstral coefficients, MFCCs) 값들을 포함한다.
일부 구현예들에서, 상기 방법은 상기 단어 삽입 모델의 최대 풀링(pooling) 레이어에 의해, 삽입 유닛을 포함하는 상기 발언의 전사를 제공하는 단계; 음향 신경망에 의해, 오디오 유닛들을 포함하는 상기 오디오 데이터의 표현을 제공하는 단계; 상기 삽입 유닛 및 상기 오디오 유닛들을 표현 유닛 입력에 연결하는 단계; 및 상기 표현 유닛 입력을 상기 분류기에 입력으로서 제공하는 단계를 더 포함한다.
일부 구현예들에서, 상기 자동화된 어시스턴트에 선택적으로 지시하는 단계는, 상기 분류기가 상기 수신된 오디오 데이터에 대응하는 상기 발언이 상기 자동화된 어시스턴트로 향할 가능성이 있다는 표시를 제공한 경우 상기 발언을 처리하기 위해 상기 자동화된 어시스턴트에 선택적으로 지시하는 단계; 및 상기 분류기가 상기 수신된 오디오 데이터에 대응하는 상기 발언이 상기 자동화된 어시스턴트로 향할 가능성이 없다는 표시를 제공한 경우 상기 발언을 처리하지 않기 위해 상기 자동화된 어시스턴트에 선택적으로 지시하는 단계를 더 포함한다.
본 명세서의 주제의 하나 이상의 구현예의 세부 사항은 첨부 도면 및 이하의 설명에 기술된다. 다른 특징, 양태 및 이점들은 상세한 설명, 도면 및 청구 항으로부터 명백해질 것이다.
도 1은 구현예에 따른 분류기를 이용한 음성 분류 시스템의 블록도이다.
도 2는 구현예에 따른 분류 시스템의 블록도이다.
도 3은 구현예에 따른 음성 분류의 프로세스를 나타내는 흐름도이다.
도4는 구현예에 따른 컴퓨팅 디바이스 및 모바일 컴퓨팅 디바이스이다.
다양한 도면에서 유사한 참조 번호 및 명칭은 유사한 구성을 나타낸다.
도 2는 구현예에 따른 분류 시스템의 블록도이다.
도 3은 구현예에 따른 음성 분류의 프로세스를 나타내는 흐름도이다.
도4는 구현예에 따른 컴퓨팅 디바이스 및 모바일 컴퓨팅 디바이스이다.
다양한 도면에서 유사한 참조 번호 및 명칭은 유사한 구성을 나타낸다.
본 명세서는 획득된 발언이 컴퓨터 기반 시스템을 향할 가능성이 있는지를 결정하기 위해 음성 분류를 수행하는 기법을 설명한다. 컴퓨터 기반 시스템은 획득한 발언이 컴퓨터 기반 시스템의 주의를 끌기 위해 핫워드(hotword)와 같은 미리 결정된 단어를 포함할 것을 요구하지 않는다. 오히려, 컴퓨터 기반 시스템의 마이크로폰은 미리 결정된 단어를 포함하는 사용자의 첫 번째 쿼리에 뒤따르는 질문들에 후속하는 임의의 획득된 발언에 대해 개방되어 있다. 유리하게는, 상기 기법은 음향 특성들 및 획득된 발언의 인식된 텍스트 둘 모두에 대해 신경망을 사용하여, 획득된 발언에 대한 청자가 컴퓨터 기반 시스템일 가능성이 있는지 여부의 표시를 생성하기 위한 신경망을 트레이닝한다. 이것은 사용자가 핫워드를 사용하지 않고 컴퓨터 기반 시스템과 보다 유창한 방식으로 대화할 수 있기 때문에 유리할 수 있다.
도 1은 분류기 서버(108)를 사용하는 음성 분류를 위한 시스템(100)의 예를 도시하는 블록도이다. 시스템(100)은 분류기 서버(108) 및 자동화된 어시스턴트 서버(116)를 포함한다. 분류기 서버(108)와 자동화된 어시스턴트 서버(116) 각각은 하나 이상의 컴퓨터를 포함할 수 있다. 분류기 서버(108)는 하나 이상의 신경망 구성 요소들, 음성 인식기 및 음향 피처 생성기를 포함하며, 이는 도 2와 관련하여 이하 후술한다. 분류기 서버(108)는 로컬 또는 네트워크를 통해 연결된 하나 이상의 서버를 포함할 수 있다. 분류기 서버(108)는 소프트웨어, 하드웨어, 펌웨어 또는 이들의 조합으로 구현될 수 있다. 도 1은 지시된 순서 또는 다른 순서로 수행될 수 있는 단계 (A)내지 (D)와 (A')내지 (B')에서의 다양한 동작을 도시한다.
도 1의 예는 발언이 수신자를 향할 가능성이 있는지 여부를 결정하는 분류기 서버(108)의 예를 도시한다. 도 1에 도시된 프로세싱은 두 가지 중요한 작업을 수행한다. 첫째, 사용자가 해당 시스템에게 발화할 때마다 사용자가 핫워드 또는 키워드를 발화할 것을 요구하는 시스템과는 달리, 분류기 서버(108)는 청자가 자동화된 어시스턴트 서버(116)일 가능성이 높다고 표명하는 핫워드 또는 키워드를 처음으로 사용한 후에 핫워드 또는 키워드를 포함하는 발언을 요구하지 않는다. 분류기 서버(108)는 사용자(102)가 자동화된 어시스턴트 서버(116)와 처음 말할 때 핫워드 또는 키워드와 같은 단어를 사용자가 포함하는 것을 필요로 한다. 분류기 서버(108)는 핫워드 또는 키워드의 청취에 응답하여 켜지는 마이크로폰을 포함한다. 또한, 마이크로폰은 사용자(102)에 의해 제공된 후속 질문들에 대해 켜진 상태를 유지한다. 사용자(102)가 질문들을 중단하면 마이크가 꺼진다.
대화 설정에서, 사용자가 분류기 서버(108)와 같은 디바이스에 표명할 때마다 핫워드 또는 키워드를 포함하는 경우, 핫워드는 정상적인 대화의 흐름을 방해할 수 있다. 따라서, 도 1에서 도시된 프로세싱은 보다 유창한 대화를 하게 하기 위해 핫워드 또는 키워드를 처음 사용한 후에 핫워드 또는 키워드의 사용을 제거한다.
둘째, 분류기 서버(108)는 핫워드의 사용 없이, 발언이 향할 가능성이 있는 청자가 자동화된 어시스턴트 서버(116)라고 결정할 수 있다. 결과적으로, 분류기 서버(108)는 자동화된 어시스턴트 서버(116)를 향하는 발언들과 자동화된 어시스턴트 서버(116)를 향하지 않는 발언들을 구별할 수 있다. 일부 구현예들에서, 자동화된 어시스턴트 서버(116)를 향하지 않는 발언들은 자동화된 어시스턴트 서버(116)를 향할 잠재적인 문구들을 포함할 수 있다. 예를 들어, "몇 시 입니까?"와 같은 문구들은 분류기 서버(108)에 포함될 수 있는 "엄마, 나 학교에 늦었어, 몇 시에요"와 같은 문구들에 포함될 수 있다.
그러나, 기록된 발언을 분석할 때, 분류기 서버(108)는 발언이 질문과 관련된 다른 문구를 포함하고 발언에 대한 청자가 자동화된 어시스턴트 서버(116)가 아님을 결정할 수 있다. 요약하면, 분류기 서버(108)는 획득된 발언의 가능성을 판단하고, 획득된 발언의 청자가 자동화된 어시스턴트 서버(116)일 가능성이 있는지 여부의 표시를 제공할 수 있다.
일부 구현예에 따르면, 분류기 서버(108)는 획득된 발언이 표시하는 데이터와 자동화된 어시스턴트 서버(116)에 명령어를 제공할 수 있다. 분류기 서버(108)는 획득된 발언을 처리하거나 처리하지 않는지를 자동화된 어시스턴트 서버(116)로 전달하기 위해 명령어를 생성한다. 예를 들어, 분류기 서버(108)는 사용자(102)와 같은 사용자에 의해 발화된 발언을 획득할 수 있고, 획득된 발언에 대한 청자가 자동화된 어시스턴트 서버(116)일 가능성이 있는지 여부를 결정할 수 있다. 이에 응답하여, 분류기 서버(108)는 네트워크(114)와 같은 네트워크를 통해 자동화된 어시스턴트 서버(116)에 명령어들의 표시와 획득된 발언의 데이터를 제공할 수 있다. 명령어들은 자동화된 어시스턴트 서버(116)가 획득된 발언을 처리하고, 획득된 발언에 대한 응답을 생성하도록 요청한다.
일부 구현들에서, 자동화된 어시스턴드 서버(116)는 획득된 발언에 대한 응답을 생성할 수 있다. 특히, 자동화된 어시스턴트 서버(116)는 분류기 서버(108)에 의해 제공된 질문들 및/또는 서술에 대한 답변을 제공할 수 있다. 예를 들어, 자동화된 어시스턴트 서버(116)는 자동화된 어시스턴트 서버(116)가 발언을 처리하도록 요구하는 발언 및 명령어를 나타내는 데이터를 획득할 수 있다. 자동화된 어시스턴트 서버(116)는 발언이 "몇 시 입니까"를 낭송하고 발언에 대한 응답을 생성하는 것을 결정한다. 예를 들어, 자동화된 어시스턴트 서버(116)는 시간이 "PM 6:02"인 것으로 결정하고 네트워크(114)를 통해 분류기 서버(108)에 제공하기 위한 응답(113)을 생성한다. 응답(113)은 "시간은 PM 6:02"을 낭송하는 대답을 포함할 수 있다. 분류기 서버(108)는 자동화된 어시스턴트 서버(116)에 의해 생성된 응답을 사용자(102)가 소유한 클라이언트 디바이스(110)와 같은 클라이언트 디바이스에 제공할 수 있다.
전술한 이 시스템의 예들은 후술하는 바와 같이 도 1에 나타난 예시적인 사용 사례와 관련하여 도시될 수 있다.
(A)단계 동안, 분류기 서버(108)는 사용자(102)로부터 발화된 발언을 획득한다. 발화된 발언은 다양한 유형의 문구 및/또는 자동화된 어시스턴트 서버(116)를 향한 질문을 포함할 수 있다. 다른 구현예들에서, 분류기 서버(108)는 자동화된 어시스턴트 서버(116)로 향하지 않을 가능성이 있는 하나 이상의 발화된 발언들을 사용자(102)로부터 얻을 수 있다. 발화된 발언들은 미리 결정된 시간 길이 동안의 오디오 파형을 포함할 수 있다.
일부 구현예들에 따르면, 분류기 서버(108)는 임계 레벨의 볼륨 이상에서 검출된 발언들을 기록할 수 있다. 볼륨 레벨은 데시벨(dB)로 측정할 수 있다. 예를 들어, 분류기 서버(108)는 분류기 서버(108)가 근처의 사용자들 및/또는 디바이스들로부터 임계치 이상의 음향 특성들을 검출하는 처음 시간부터 시작하여 그 다음에 분류기 서버(108)가 더 이상 근처의 사용자 및/또는 디바이스로부터 음향 특성들을 검출하지 않는 두번째 시간까지 오디오 기록들을 획득할 수 있다. 예를 들어, 전형적인 영역에서 사용자의 정상적인 음성은 사용자와 분류기 서버(108)사이의 거리에 따라 42dB와 80dB 사이에서 변할 수 있다. 볼륨 레벨의 에서, 예를 들어, 분류기 서버(108)는 희미한 배경 잡음을 기록하고 있을 수 있다. 예를 들어, 분류기 서버(108)는 볼륨 레벨의 상위에서 몇 가지 예를 들기 위해 큰소리의 음악 또는 큰소리의 대화를 녹음하고 있을 수 있다. 일례에서, 사용자(102)는 오후 2시 15분에 "OK 컴퓨터, 오늘 무엇을 입어야 합니까?"와 같은 자동화된 어시스턴트 서버(116)에 질문을 제기할 수 있다. 분류기 서버(108)는 음성 질문의 음향 특성들로부터 핫워드를 검출하고 "오늘 무엇을 입어야 합니까?"라는 질문을 처리할 수 있다. 그 후, 분류기 서버(108)의 마이크로폰은 오후 2시 15분부터 사용자(102)로부터의 질문들에 대한 후속 조치를 기다리는 시간 동안 유지된다. 기간은은 5초, 10초 또는 15초이며 몇 가지 예를 들 수 있다. 마이크로폰은 사용자(102)가 자동 어시스턴트 서버(116)에 대한 질문들을 계속해서 요청하는 한 계속 켜져 있다.
일부 구현예들에 따르면, 분류기 서버(108)는 분류기 서버(108)의 근처에 위치된 다양한 디바이스들 및/또는 사용자들로부터 특정 임계 레벨 이상의 각각의 오디오 발언들을 기록할 수 있다. 예를 들어, 분류기 서버(108)는 분류기 서버(108)와 동일한 공간에서 사용자들로부터 오디오를 듣고 기록할 수 있다. 일 예에서, 분류기 서버(108)는 텔레비전에 의해 디스플레이 되는 텔레비전 프로그램으로부터 하나 이상의 개인들의 의사소통을 듣고 기록할 수 있다. 다른 예에서, 분류기 서버(108)는 분류기 서버(108)의 가청 범위에서 스피커들로부터 재생된 음악을 듣고 기록할 수 있다. 다른 예에서, 분류기 서버(108)는 음성대화 또는 화상 채팅 어플리케이션을 사용하는 휴대전화 또는 랩탑 같이, 클라이언트의 디바이스를 통해서 하나 이상의 개인들의 의사소통을 듣고 기록할 수 있다. 특히, 오디오 기록들은 분류기 서버(108)가 위치한 공간 전체에 위치한 다양한 디바이스들 및/또는 사용자들로부터 기록될 수 있다.
도시된 예에서, 분류기 서버(108)는 사용자(102)로부터 발언(104)을 획득한다. 발언(104)은 질문(106)을 자동화된 어시스턴트 서버(116)에 제기한다. 질문(106)은 "외부 온도는 몇 도입니까?"를 낭송한다. 분류기 서버(108)는 발언(104)을 획득하고 추가 처리를 위해 발언(104)을 기록한다.
일부 구현예들에 따르면, 사용자(102)는 단기간에 하나 이상의 질문을 자동화된 어시스턴트 서버(116)에 요청할 수 있다. 다른 구현예들에 따르면, 사용자(102)는 영역 내의 다른 개인을 향한 질문과 자동화된 어시스턴트 서버(116)를 향한 후속 질문을 요청할 수 있다. 예를 들어, 사용자(102)는 그의 또는 그녀의 중요한 다른 "오늘 내가 무엇을 입어야 합니까, 레이첼?"질문을 물을 수 있고, 후속적으로 자동화된 어시스턴트 서버(116)에 "외부 온도는 몇 도입니까?"와 같은 또 다른 질문을 할 수 있다. 이 예에서, 분류기 서버(108)는 사용자(102)에 의해 요청된 질문들 모두를 기록하고 기록된 발언들의 처리 후 전자의 질문이 자동화된 어시스턴트 서버(116)에 대한 것이 아니라 후자의 질문인 것을 결정할 수 있다.
단계 (B)동안, 분류기 서버(108)는 기록된 발언(104)에 대한 처리를 수행한다. 특히, 분류기 서버(108)는 기록된 발언(104)을 분류하고 발언에 대한 청자가 자동화된 어시스턴트 서버(116)일 가능성을 나타내는 출력을 제공한다. 도 2과 관련하여 아래에서 더 설명되는 바와 같이, 분류기 서버(108)는 발언(104)에 대한 청자가 자동화된 어시스턴트 서버(116)일 가능성이 있는지 여부를 결정하기 위해 발언(104)의 음향 표현 및 텍스트 표현을 이용한다.
이 도시된 예에서, 분류기 서버(108)는 발언(104)에 대한 청자가 자동화된 어시스턴트 서버(116)일 가능성이 있다는 표시를 생성한다. 도 2에 도시된 바와 같이, 체크박스는 표시를 나타낸다. 실제 어플리케이션에서, 자동화된 어시스턴트 서버(116)는 발언(104)에 대한 청자가 자동화된 어시스턴트 서버(116)일 가능성이 있는 분류기 서버(108)에 의한 결정에 따라 플래쉬 라이트와 같은 표시를 제공할 수 있다. 일부 구현예들에서, 자동화된 어시스턴트 서버(116)는 분류기 서버(108)로부터 선택적 명령어(109)를 수신한 것에 응답하여 표시를 제공할 수 있다. 다른 구현예들에서, 자동화된 어시스턴트 서버(116)는 사용자(102)로부터 발언(104)에 대한 청자가 자동화된 어시스턴트 서버(116)일 가능성이 있음을 나타내기 위해 사용자(102)에 의해 표시된 바와 같이 비프음(beep), 링(ring), 또는 미리 결정된 톤을 제공할 수 있다.
대안적인 구현예에서, 분류기 서버(108)는 발언을 획득하고 획득된 발언이 자동화된 어시스턴트 서버(116)를 향할 가능성이 없다고 결정할 수 있다. 이는 도 1에 도시된 예에서 도시될 수 있다.
단계(Α')동안, 분류기 서버(108)는 하나 이상의 디바이스들로부터 다른 발화된 발언(122)을 획득한다. 이 도시된 예에서, 텔레비전(120)으로부터의 텔레비전 프로그램은 질문(106)을 포함하는 문구(118)의 발화된 발언(122)을 생성한다. 예를 들어, 텔레비전 프로그램에 등장하는 인물이 "밥은 외부 온도가 몇 도냐고 말했고 나는 떨었다."라고 할 수 있다. 이에 응답하여, 분류기 서버(108)는 발언의 볼륨이 데시벨 임계 레벨보다 높다는 결정에 따라 발화된 발언(122)을 획득하고 기록할 수 있다.
일부 구현예들에서, 분류기 서버(108)는 발언(104) 및 발언(122)과 같은 발언들은 실질적으로 동시에 획득하고 기록할 수 있다. 분류기 서버(108)는 기록된 발언들 각각을 구별할 수 있다. 다른 구현들에서, 분류기 서버(108)는 발언(104) 및 발언(122)과 같은 발언들을 순차적으로 획득하고 기록할 수 있다. 분류기 서버(108)가 발언을 순차적으로 획득하는 경우, 분류기 서버(108)는 수신된 순서대로 각 발언을 처리한다. 다른 구현예들에서, 분류기 서버(108)는 획득되고 기록된 발언이 식별 가능하지 않다는 표시를 생성할 수 있다. 예를 들어, 획득 및 기록된 발언(104)은 다른 사용자와의 달하기, 텔레비전의 큰 볼륨, 배경에서 실행되는 팬 및 개 짖는 소리와 같은 외부 이벤트로부터 다양한 예를 들기 위해 다양한 잡음 성분을 포함할 수 있다. 분류기 서버(1018)는 "문구를 반복하십시오"와 같은 표시를 스피커를 통해 사용자(102)에게 제공할 수 있다.
단계(Β') 동안, 분류기 서버(108)는 기록된 발언(122)에 대한 처리를 수행한다. 특히, 분류기 서버(108)는 기록된 발언(122)을 분류하고 발언(122)에 대한 청자가 자동화된 어시스턴트 서버(116)일 가능성이 있다는 표시하는 출력을 제공한다. 이 도시된 예에서, 분류기 서버(108)는 기록된 발언(122)에 대한 청자가 자동화된 어시스턴트 서버(116)일 가능성이 없다는 표시를 제공한다. 도 2에서 볼 수 있듯이, 박스내의 "X"는 분류기 서버(108) 내부에 보여지는 것과 같이 표시를 제공한다. 실제 어플리케이션에서, 분류기 서버(108)는 녹음된 발언(122)이 자동화된 어시스턴트 서버(116)로 향하지 않았을 것이라는 결정에 응답하여 대화 청취를 중단하기 위해 마이크를 끈다.
다른 구현예들에서, 분류기 서버(108)는 기록된 발언에 대한 청자가 자동화된 어시스턴트 서버(116)일 가능성이 없다는 결정에 응답하여 추가 동작을 수행할 수 있다. 예를 들어, 분류기 서버(108)는 기록된 발언(122)과 같은 기록된 발언을 다른 발언들을 계속 들을 수 있다. 다른 예에서, 분류기 서버(108)는 특정 명령어로 기록된 발언(122)과 같은 기록된 발언을 자동화된 어시스턴트 서버(116)로 전송할 수 있다.
일부 구현예들에서, 분류기 서버(108)는 기록된 발언(122)을 처리하기 위해 자동화된 어시스턴트 서버(116)를 지시하는 것 대신에, 분류기 서버(108)는 발언을 데이터베이스에 저장하도록 자동화된 어시스턴트 서버(116)를 지시할 수 있다. 데이터베이스는 현재 획득된 발언이 저장된 발언들 중 어느 것과도 일치하지 않는지를 결정하기 위해 분류기 서버(108)가 액세스할 수 있는 하나 이상의 발언들을 저장할 수 있다. 예를 들어, 분류기 서버(108)는 획득된 발언(104)을 데이터베이스에 저장된 하나 이상의 발언들과 비교할 수 있다. 어떤 비교가 미리 결정된 임계 값 내에서 일치하면, 분류기 서버(108)는 청자가 자동화된 어시스턴트 서버(116)일 가능성이 없기 때문에 특정 발언을 거부할 수 있다. 대안적으로, 일치하는 비교가 없으면, 분류기 서버(108)는 도2와 관련하여 후술하는 바와 같이 분류기를 통해 기록된 발언을 처리할 수 있다.
단계(C) 동안, 자동화된 어시스턴트 서버(116)는 분류기 서버(108)로부터 기록된 발언 및 선택적인 지시를 표시하는 데이터를 획득한다. 도시된 예에서, 분류기 서버(108)는 전의 발언에 대한 청자가 자동화된 어시스턴트 서버(116)일 가능성이 높은 반면, 나중의 발언에 대한 청자가 자동화된 어시스턴트 서버(116)가 아닐 가능성이 높다고 결정했기 때문에, 자동화된 어시스턴트 서버(116)는 기록된 발언(122)이 아닌 기록된 발언(104)을 획득한다. 분류기 서버(108)는 기록된 발언(104)의 수신자가 누구일 가능성이 높은지에 관한 표시를 제공하지 않고, 오히려, 수신자가 자동화된 어시스턴트 서버(116)일 가능성이 높지 않다는 표시를 제공한다.
일부 구현예들에서, 자동화된 어시스턴트 서버(116)는 데이터(109)에서의 명령어에 응답하여 발언(104)과 같은 기록된 발언을 처리한다. 예를 들어, 명령어는 자동화된 기록된 발언(104)을 처리하고 사용자(102)의 질의(106)에 응답을 제공하기 위하여 자동화된 어시스턴트 서버(116)로 전달할 수 있다. 자동화된 어시스턴트 서버(116)는 사용자(102)의 질문(106)에 대한 답변을 하고 사용자(102)의 질문(106)에 대항 답변을 얻기 위하여 인터넷에 대한 네트워크 액세스를 사용할 수 있다. 도 1에 도시된 예를 계속하여, 자동화된 어시스턴트 서버(116)는 "외부 온도는 몇 도입니까?"라는 질문(106)에 대한 답변을 획득할 수 있다.
일부 구현예들에서, 자동화된 어시스턴트 서버(116)는 질문의 답변을 돕기 위해 분류기 서버(108)와 관련된 정보를 사용할 수 있다. 예를 들어, 자동화된 어시스턴트 서버(116)는 질문(106)에 답변을 돕기 위해 분류기 서버(108)의 위치 좌표, 시간 및 모델 유형을 획득할 수 있다. 분류 서버(108)의 위치와 시간을 알면, 자동화된 어시스턴트 서버(116)는 인터넷 또는 다른 데이터베이스로부터 "화씨 35도"의 응답을 얻을 수 있다.
일부 구현예들에서, 자동화된 어시스턴트 서버(116)는 사용자(102)의 질문(106)에 대한 답변을 포함하는 응답(113)을 생성한다. 예를 들어, 응답은 문장 구조화된 형식으로 사용자(102)의 질문에 대한 답변을 포함한다. 응답(113)은 "온도는 화씨 35도 입니다."라고 언급하는 서술(112)을 포함할 수 있다. 일부 구현예들에서, 서술(112)은 텍스트 형태 또는 오디오 형태일 수 있다. 자동화된 어시스턴트 서버(116)는 네트워크(114)를 통해 응답(113)을 분류기 서버(108)로 전송한다.
단계(D) 동안, 분류기 서버(108)는 자동화된 어시스턴트 서버(116)로부터 응답(113)을 획득한다. 분류기 서버(108)는 네트워크(114)를 통해 응답(113)을 획득할 수 있다. 응답(113)을 획득한 것에 응답하여, 분류기 서버(108)는 서술(112)을 전송할 클라이언트 디바이스를 결정한다. 분류기 서버(108)는 분류기 서버(108)에 연결된 하나 이상의 클라이언트 디바이스의 리스트를 분석한다. 일부 구현예들에서, 클라이언트 디바이스(110)와 같은 클라이언트 디바이스는 블루투스 또는 Wi-Fi와 같은 단거리 통신 프로토콜을 통해 분류기 서버(108)에 연결될 수 있다. 일부 구현예들에서, 분류기 서버(108)는 서술(112)을 연결된 디바이스들 각각에 전송할 수 있다.
일부 구현예들에서, 분류기 서버(108)는 서술(112)을 사용자(102)와 같은 사용자와 연관된 클라이언트 디바이스(110)에 전송할 수 있다. 예를 들어, 분류기 서버(108)는 획득된 기록된 발언(104)으로부터 화자가 사용자(102)임을 결정할 수 있다. 분류기 서버(108)는 새로운 사용자가 자동화된 어시스턴트 서버(116)를 향할 가능성이 있는 발언을 말할 때마다 프로파일에 사용자(102)와 같은 사용자의 오디오 표현을 저장할 수 있다. 이는 분류기(108)가 발언을 수신하고 어느 사용자가 말하고 있는지를 결정할 수 있기 때문에 사용자의 발언에 응답하는데 유리하고 지연을 개선할 수 있다. 발언이 수신되면, 사용자 프로파일과 연관된 대응하는 발언이 없으면, 분류기 서버(108)는 새로운 사용자 프로파일을 생성하고 새로운 획득된 발언을 새로운 사용자 프로파일과 함께 메모리에 저장한다.
일부 구현예에서, 분류기 서버(108)는 텍스트 메시지, 이메일 및 단문 메시지 서비스(SMS) 메시지와 같은 메시지를 서술(112)을사용하여 클라이언트 디바이스(110)에 보낼 수 있다. 다른 구현예들에서, 분류기 서버(108)는 분류기 서버(108)에 연결된 스피커로부터 서술(112)을 재생할 수 있다.
단계(A) 내지 (D) 및 (Α') 내지 (Β')의 동작은 획득된 발언이 지향될 가능성이 있는 청자를 결정하기 위해 분류기 서버(108)를 사용하는 것을 한번 또는 한번 이상의 반복을 도시한다. 분류기 서버(108)는 많은 다른 반복에 대해 단계 (A) 내지 (D) 및 (Α') 내지 (Β')의 동작을 반복할 수 있다. 일부 구현예들에서, 분류기 서버(108)는 도 1에 도시된 동작들을 동시에 수행할 수 있다. 또한, 분류기 서버(108)는 발언(104) 및 발언(122)과 같은, 단지 2가지 발언들보다 더 많은 발언들에 대해서도 도 1에 도시된 동작을 결정할 수 있다. 도 1은 단지 예시적인 목적을 위한 2개의 발언을 도시한다.
도 2는 분류 시스템의 예를 도시하는 블록도이다. 특히, 도 2는 상술한 시스템(100)의 분류기 서버(108)의 예를 도시한다. 일부 구현예에서, 분류기 서버(108)는 획득된 발언을 기록하기 위한 마이크로폰(201), 음성 인식기(202), 음향 피처 생성기, 전사 표현 생성기, 연결 모듈(208), 신경망(209), 및 시그마(sigma)(211)를 포함한다. 도 1에 설명된 바와 같이, 분류기 서버(108)는 사용자(102)로부터 기록된 발언(104)을 획득한다. 일부 구현예들에서, 분류기 서버(108)는 획득된 발언(104)의 청자가 자동화된 어시스턴트 서버(116)일 가능성이 있는지 여부의 가능성을 판단하기 위해서 음성 인식기(202), 음향 피처 생성기(204), 음성 표현 생성기(206), 연결 모듈(208), 신경망(209), 및 시그마(211)를 통하여 기록된 발언(104)을 전파한다.
음성 인식기(202)는 발화된 언어로 단어 및 문장을 식별하도록 구성된 하드웨어, 소프트웨어, 및 펌웨어의 조합을 포함하는 디바이스일 수 있다. 일부 구현예들에서, 음성 인식기(202)는 획득된 발언(104)을 기계 판독 가능 포맷으로 변환한다. 기계 판독 가능 포맷은 획득된 발언(104)을 나타내는 문장 구조 포맷으로 하나 이상의 단어를 포함할 수 있다. 일부 구현예들에서, 음성 인식기(202)는 음성 인식을 수행하기 위해 다양한 조합의 방법론들을 사용할 수 있다. 예를 들어, 음성 인식기(202)는 히든 마르코프 모델 접근법(Hidden Markov model approach), 동적 시간 워핑 기반(dynamic time warping-based, DTW-based), 신경망, depp feedforward 및 반복 신경망 접근법(recurrent neural network approach), 또는 다양한 접근법의 일부 조합을 포함할 수 있다. 분류기 서버(108)는 음성 인식기(202)의 출력을 전사 표현 생성기(206)에 제공한다. 동시에, 분류기 서버(108)는 획득된 발언(104)을 음향 피처 생성기(104)에 제공한다.
일부 구현예들에서, 음향 피처 생성기(204)는 획득된 발언(104)으로부터 피처 벡터들을 추출하고 반복된 신경망 요소들에 대한 입력으로서 추출된 피처 벡터들을 제공하도록 구성된 하드웨어, 소프트웨어 및 펌웨어의 조합을 포함하는 디바이스일 수 있다. 음향 피처 생성기(204)는 획득된 발언(104)의 상이한 세그먼트 또는 분석 윈도우들을 분석한다. 이들 윈도우들은 , ... 이 될 수 있으며, 오디오 프레임이라고 합니다. 일부 구현예들에서, 각 윈도우 또는 프레임은 동일한 고정 크기의 오디오량, 예를 들어 5 밀리초(ms)의 오디오를 나타낸다. 윈도우들은 부분적으로 겹치거나 겹치지 않을 수 있다. 획득된 발언(104)에 대해, 제1 프레임 는 0ms 내지 5ms의 세그먼트를 나타낼 수 있고; 제2 윈도우는 5ms 내지 10ms의 세그먼트 등을 나타낼 수 있다.
일부 구현예들에서, 피처 벡터, 또는 한 세트의 음향 피처 벡터는 획득된 발언(104)의 각 프레임에 대해 결정될 수 있다. 예를 들어, 음향 피처 생성기는 각 윈도우 , ... 의 오디오 대해 FFT(Fast Fourier Transform)를 수행할 수 있고; 멜-주파수 스케일(mel-frequency scale)을 사용하여 스펙트럼의 파워를 맵핑하고; 각 멜-주파수에서 파워의 로그를 취하고; 멜 로그 파워들의 리스트의 이산 코사인 변환(discrete cosine transform)을 수행하고; 그리고, 각 윈도우에 대한 음향 피처들을 결정하기 위해 피처들의 진폭 함량을 분석한다. 음향 피처들은 멜 주파수 켑스트랄 계수들(mel-frequency cepstral coefficients, MFCCs), 지각 선형 예측(perceptual linear prediction, PLP) 변환을 사용하여 결정된 특징들, 또는 다른 기법들을 사용하여 결정된 특징 일 수 있다.
분류기 서버(108)는 음향 피처 생성기(204)의 반복 신경 네트워크 요소에 피처 벡터들을 한번에 제공한다. 반복 신경망 요소는 하나 이상의 긴 단기 메모리(long short-term memory, LSTM) 레이어들일 수 있다. 음향 피처 생성기(204)는 다수의 LSTM 레이어들을 적층함으로써 구축된 심츰 LSTM 신경망 아키텍처일수 있다. 분류기 서버(108)는 음향 피처 생성기(204)에서 신경망을 트레이닝하여 고정 크기 음성 유닛 표현 또는 삽입의 출력을 제공할 수 있다. 예를 들어, 삽입은 64-유닛 벡터일수 있다. 일부 구현예들에서, 유닛들은 비트(bits) 또는 바이트(bytes)일수 있다. 각 피처 벡터마다 하나의 삽입이 출력된다.
일부 구현예들에서, 분류기 서버(108)는 획득된 발언(104)의 컨텍스트(context)의 인식을 향상시키기 위해 음성 인신기(202)와 함께 음향 피처 생성기(204)를 포함한다. 도 1에 구술된 예에서, 분류기 서버(108)가 질문(106)과 질의에 대한 후속 질문을 하지 않는 사용자(102)를 분류한 후, 때때로 분류기 서버(108)는 음성 인식 시스템에 의해 부정확하게 인식되는 음성 또는 희미한 배경 잡음을 포함할 수 있는 미래의 발언들을 기록한다. 예를 들어, 음향 피처 생성기(204)를 사용하지 않고, 분류기 서버(108)는 "중지" 또는 "작동"과 같은 일반적인 문구로 오인을 기록할 수 있다.
또한, 음향 피처 생성기(204)가 없으면, 분류기 서버(108)가 이들 발언들을 분류할 때 인식된 텍스트가 불충분하게 구별된다. 분류기 서버(108)에서 음향 피처 생성기(204)를 가능하게 함으로써, 분류기 서버(108)는 오인의 실패 사례를 감소시킬 수 있다. 또한, 사람들의 발언들에는 발언의 텍스트로 포착되지 않은 독특한 음향 요소가 포함된다. 예를 들어, 음향 요소는 음조(pitch), 음성 속도(speech tempo), 그리고 악센트(accent)와 같은 특성을 포함할 수 있다. 음향 피처 생성기(204)를 포함함으로써, 독특한 음향 요소는 발언에 대한 청자가 자동화된 어시스턴트 서버(116)일 가능성이 있는지를 결정하는 것을 도울 수 있다.
전사 표현 생성기(206)는 하나 이상의 신경망 레이어들을 포함할 수 있다. 예를 들어, 전사 표현 생성기(206)는 합성곱 신경망(convolutional neural network, CNN)단어-삽입 모델(word-embedding model)을 포함할 수 있다. 음향 피처 생성기(204)와 같이, 전사 표현 생성기(206)는 하나 이상의 LSTM 레이어들과 복수의 LSTM 레이어들을 적층함으로써 구축된 심층 LSTM 신경망 구조를 포함할 수 있다. 또한, 분류기 서버(108)는 전사 표현 생성기(206)에서 신경망을 트레이닝하여 획득된 발언(104)의 전사의 출력을 제공한다. 일부 구현예들에서, 발언의 전사는 고정 크기의 텍스트 유닛 표현들 또는 삽입들을 포함한다. 예를 들어, 각 삽입 출력은 100-유닛 벡터일 수 있다. 일부 구현예들에서, 유닛들은 부동 소수점 또는 정수 값들일 수 있다. 문장의 각 단어에 대해 전사 표현 생성기(206)로부터 하나의 삽입을 출력한다. 전사에는 출력으로 제공된 각 삽입 유닛이 포함된다.
일부 구현예들에서, 분류기 서버(108)는 음성 인식기(202)에 의해 생성된 문장을 포함하는 입력을 전사 표현 생성기(206)에 제공한다. 분류기 서버(108)는 문장으로부터 한번에 하나의 단어를 전사 표현 생성기(206)의 CNN단어 삽입 모델에 입력한다. 또한, CNN 단어 삽입 모델은 네트워크의 계산 복잡성을 감소시키기 위해 입력 데이터를 줄이기 위해 단어 삽입 모델에 제공되는 문장 데이터를 최대 풀링(pool)할 수 있다. 최대 풀링을 사용하면 입력 데이터를 필터링하고 평균화하여 CNN단어 삽입 모델을 통해 데이터 처리량을 크게 줄일 수 있다. 이것은 출력 품질의 세부 사항을 겪지 않고 전사 표현 생성기(206)에 의해 수행되는 프로세스를 가속화시킨다.
분류기 서버(108)가 획득된 발언(104)이 자동화된 어시스턴트 서버(116)를 향할 가능성을 최대로 제공하기 위해, 분류기 서버(108)는 전사 표현 생성기(206) 및 음향 피처 생성기(204)의 출력들 모두를 이용한다. 연결 모듈(208)은 소프트웨어, 하드웨어, 펌웨어, 또는 전사 표현 생성기(206)로부터의 삽입 출력과 음향 피처 생성기(204)로부터의 삽입 출력을 결합하는 각각의 조합의 디바이스일 수 있다. 예를 들어, 연결 모듈(208)은 전사 표현 생성기(206)로부터 출력 된 100 유닛 벡터와 음향 피처 생성기(204)출력으로부터 출력된 64-유닛 벡터를 결합하여 164-유닛 벡터 출력을 생성한다.
일부 구현예들에서, 연결 모듈(208)은 164-유닛 벡터 출력들의 행렬을 생성할 수 있다. 예를 들어, 행렬은 164-유닛 벡터의 하나 이상의 열을 포함할 수 있다. 이 연결 모듈(208)은 100-유닛 삽입들을 하나 이상의 숫자들을 포함하는 의미적으로 중요한 벡터로 변환할 수 있다. 연결 모듈(208)은 100-유닛 삽입들을 word2vec 또는 GloVe와 같은 프로그래밍 언어에서 하나 이상의 기능적 호출을 사용하여 하나 이상의 또는 하나 이상의 숫자들을 포함하는 의미상으로 뜻있는 벡터로 변환한다.
구술된 예에서, 연결 모듈(208)은 전사 표현 생성기(208)로부터 숫자 벡터들의 행렬 및 음향 피처 생성기(204)로부터 삽입 행렬을 생성할 수 있다. 특히, 각각의 단어가 100-유닛 삽입과 연관되는 10-단어 문장이 주어지면, 연결 모듈(208)은 10x100 행렬을 생성하고 이를 음향 피처 생성기(204)로부터의 행렬과 연결할 수 있다. 동일한 예에서, 음향 피처 생성기(204)로부터의 행렬은 각각 64-유닛 삽입들을 포함하는 10개의 피처 벡터를 포함할 수 있다. 연결 모듈(208)은 전사 표현 생성기(206)로부터 10x100 행렬과 연결하기 위해 10x64 행렬을 생성할 수 있다. 연결 모듈(208)에 의해 생성된 결과 행렬은 10x164일수 있다.
발언(104)의 음향 특징을 위한 행렬 및 발언(104)의 텍스트 특징을 위한 행렬을 생성하는 것의 이점은 각각의 각 행렬의 치수가 이들이 적적한 행렬로 결합 될 수 있다는 점이다. 예를 들어, 각 행렬에는 동일한 수의 행이 포함되므로 가로로 연결할 수 있다. 각각의 행렬들 사이의 열의 수가 유사하다고 가정하면, 연결 모듈(208)은 수직 연결을 생성할 것이다. 일부 구현예들에서, 연결 모듈(208)은 연결된 행렬을 신경망(209)에 제공한다.
일부 구현예들에서, 연결 모듈(208)은 신경망(209)이 하나의 164-유닛 벡터를 처리할 때까지 매트릭스 내의 164-유닛 벡터들의 수를 버퍼할 수 있다. 신경망(209)이 하나의 164-유닛 벡터를 처리하면, 연결 모듈(208)은 다음 164-유닛 벡터를 신경망(209)에 제공한다. 음성 인식기(202), 음향 피처 생성기(204), 전사 표현 생성기(206) 및 연결 모듈(208)은 신경망(209)이 하나의 164-유닛 벡터를 처리할 수 있는 것보다 더 빠른 164-유닛 벡터를 생성할 수 있다. 따라서, 연결 모듈(208)은 저장 및 처리될 준비가 되도록 164 유닛 벡터의 행렬 버퍼를 생성한다.
일부 구현예들에서, 분류기 서버(108)는 연결된 행렬을 처리하기 위해 신경망(209)을 포함한다. 특히, 신경망(209)은 분류기(210-A) 및 다른 LSTM(210-B)을 포함한다. 분류기 서버(108)는 획득된 발언(104)에 대한 청자가 자동화된 어시스턴트 서버(116)일 가능성을 나타내는 출력을 생성하도록 분류기(210-A) 및 LSTM(210-B)을 트레이닝할 수 있다. 일부 구현예들에서, 분류기(210-A) 및 LSTM(210-B)은 사용자가 이전에 말했던 질의들의 예시들과 자동화된 어시스턴트 서버(116)로 향하지 않은 기록된 대화를 사용하여 트레이닝된다. 예를 들어, 분류기 서버(108)는 자동화된 어시스턴트 서버(116)를 향하지 않은 텍스트 형식인 발화된 다수의 문구를 검색할 수 있다.
일부 구현예들에서, 분류기 서버(108)는 인터넷을 통해 하나 이상의 데이터베이스로부터 자동화된 어시스턴트 서버(116)를 향하지 않은 문구들을 포함하는 다른 문구들을 검색할 수 있다. 예를 들어, 문구들 중 하나는 "밥은 외부 온도가 몇 도냐고 말했고 나는 떨었다." 또는 "부모님이 몇 시에 오십니까?"를 포함할 수 있다. 분류기 서버(108)가 이러한 유형의 질문들이 자동화된 어시스턴트 서버(116)로 향할 가능성이 있는 것으로 해석할 수 있지만, 일반적으로 이러한 유형의 질문들에 대한 청자는 방 안의 다른 사람이다. 그러나, 이러한 유형의 질문들은 신경망(209)을 트레이닝하기 위해 사용하기에 최적의 문구이다. 분류기(210-A)는 청자가 자동 어시스턴트 서버(116)일 가능성이 있다고 식별되고 보이는 문구지만, 실제로는 배경 소음이거나 방의 다른 사람을 향하는 문구를 식별하는 방법을 학습할 수 있다. 그러한 예로는 "부모님이 몇 시에 오십니까", "몸무게가 얼마나 나가십니까" 또는 "식료품점에서 무엇을 사셨습니까?" 등이 있다. 이들 질문들 각각은 화자가 누구에게 말하고 있는지를 나타내는 식별자를 포함하지 않지만, 자동화된 어시스턴트 서버(116)를 향하지 않는 문구들을 식별할 때 시선을 돌리도록 분류기(210-A)에게 표시할 수 있는 대명사를 포함한다.
일부 구현예들에서, 분류기 서버(108)는 트레이닝하는 동안 분류기(210-A)의 가중치 및 LSTM(210-B)의 가중치를 업데이트한다. 예를 들어, 분류기 서버(108)는 확률적 기울기 강하(stochastic gradient descent) 시간에 따른 에러의 역-전파를 이용하여 분류기(210-A) 및 LSTM(210-B)의 가중치를 업데이트할 수 있다.
일부 구현예들에서, 분류기(210-A) 및 LSTM(210-B)의 출력은 획득된 발언(104)에 대한 청자가 자동화된 어시스턴트 서버(116)를 향한 것으로 보인다는 표시를 포함할 수 있다. 예를 들어, 표시는 164-유닛 벡터의 출력이 획득된 발언에 대한 청자가 자동화된 어시스턴트 서버(116)일 가능성이 있음을 나타낼 확률을 포함할 수 있다. 다른 구현예들에서, 분류기(210-A) 및 LSTM(210B)의 출력은 집합적으로 0 내지 100 범위의 스코어를 포함할 수 있다.
일부 구현들에서, 시그마(211)는 LSTM(210-B)에 의해 제공되는 각각의 출력들을 합산한다. 예를 들어, 시그마(211)는 신경망(209)을 통해 전파되는 각각의 발언에 대한 164-유닛 벡터 각각에 대한 출력 확률 또는 출력 점수를 수신한다. 시그마(211)는 전체 획득된 발언(104)에 대한 신경망(209)으로부터의 각각의 출력 확률 또는 스코어를 누적적으로 합산한다.
일부 구현예들에서, 시그마(211)는 최종 출력 확률 또는 스코어를 미리 결정된 임계치와 비교한다. 시그마(211)가 최종 출력 확률 또는 점수가 미리 결정된 임계값을 초과한다고 결정하면, 분류기 서버(208)는 획득된 발언(104)에 대한 청자가 자동화된 어시스턴트 서버(116)일 가능성이 있음을 표시한다. 대안적으로, 분류기 서버(108)는 최종 출력 확률 또는 스코어가 미리 결정된 임계치 미만이면 획득된 발언(104)에 대한 청자가 자동화된 어시스턴트 서버(114)일 가능성이 있음을 표시한다. 예를 들어, 미리 결정된 임계 값은 50%의 확률 또는 50/100의 점수일 수 있다.
일부 구현예들에서, 분류기 서버(108)는 시그마(211)의 출력으로부터 획득된 발언(104)을 자동화된 어시스턴트 서버(116)에 제공할 것인지를 결정할 수 있다. 예를 들어, 분류기 서버(108)가 최종 출력 확률 또는 스코어가 미리 결정된 임계 값을 초과한다고 결정하면, 분류기 서버(108)는 자동화된 어시스턴트 서버(116)에 제공하기 위해 명령어를 생성한다. 명령어는 획득된 발언(104)을 처리하기 위해 자동화된 어시스턴트 서버 (116)로 전달한다. 분류기 서버(108)는 획득된 발언(104) 및 생성된 명령어를 데이터(109)로 패키징하고, 처리를 위해 데이터(109)를 자동화된 어시스턴트 서버 (116)로 전송한다.
대안적으로, 분류기 서버(108)는 최종 출력 확률 또는 스코어가 미리 결정된 임계 값을 초과하지 않는다고 결정할 수 있다. 이에 응답하여, 분류기 서버(108)는 획득된 발언(104)을 메모리로부터 삭제하고 새로운 획득된 발언이 나올 때까지 대기하도록 진행할 수 있다. 다른 구현예들에서, 분류기 서버(108)는 획득된 발언(104)을 처리하지 않음을 나타내는 자동화된 어시스턴트 서버(116)에 대한 원인을 생성할 수 있다. 또한, 자동화된 어시스턴트 서버(116)로 전달되지 않은 저장된 발언들의 데이터베이스에 획득된 발언(104)을 저장하기 위해 자동화된 어시스턴트 서버(116)로 전달할 수 있다. 분류기 서버(108)는 획득된 발언(104) 및 생성된 명령어를 데이터(109)로 패키징하고, 처리를 위해 데이터를 자동화된 어시스턴트 서버(116)로 전송한다.
도 3은 음성 분류를 위한 프로세스(300)의 예를 도시하는 흐름도이다. 분류기 서버(108)의 하나 이상의 컴퓨터와 같은 하나 이상의 컴퓨터가 프로세스 (300)를 수행할 수 있다.
프로세스(300)에서, 하나 이상의 컴퓨터는 발언(302)에 대응하는 오디오 데이터를 수신한다. 예를 들어, 분류기 서버(108)는 사용자(102)로부터 발화된 발언을 획득한다. 발화된 발언은 자동화된 어시스턴트 서버(116)를 향한 다양한 유형의 문구 및/또는 질문들을 포함할 수 있다. 다른 구현예들에서, 분류기 서버(108)는 자동화된 어시스턴트 서버(116)를 향하지 않고 사용자(102)로부터 하나 이상의 음성 발언을 획득할 수 있다. 다른 구현예들에서, 분류기 서버(108)는 분류기 서버(108) 근처에 위치한 다양한 디바이스들로부터 오디오 발언을 얻을 수 있다. 예를 들어, 분류기 서버(108)는 텔레비전에 의해 디스플레이된 텔레비전 프로그램에서 하나 이상의 개인들의 대화를 청취하고 기록할 수 있다. 다른 예에서, 분류기 서버(108)는 분류기 서버(108)의 가청 범위에서 스피커들로부터 재생된 음악을 듣고 기록할 수 있다.
하나 이상의 컴퓨터가 발언(304)을 위한 전사를 제공한다. 예를 들어, 분류기 서버(108)에 포함된 음성 인식기(202)는 획득된 발언(104)을 기계 판독 가능 포맷으로 변환한다. 기계 판독 가능 포맷은 획득된 발언(104)을 나타내는 구조화된 포맷으로 하나 이상의 단어를 포함할 수 있다. 분류기 서버(108)는 음성 인식기(202)에 의해 생성된 문장을 포함하는 입력을 전사 표현 생성기(206)에 제공한다.
하나 이상의 컴퓨터는 오디오 데이터의 표현 및 발언(306)의 전사의 표현을 생성한다. 예를 들어, 분류기 서버(108)는 획득된 발언(104)으로부터 피처 벡터를 추출하고 추출된 피처 벡터를 음향 피처 생성기(204)의 반복 신경망 요소에 입력으로서 제공하도록 구성된 음향 피처 생성기(204)를 포함한다. 특히, 분류기 서버(108)는 추출된 피처 벡터를 한번에 하나씩 반복 신경망 요소에 제공한다.
일부 구현예들에서, 분류기 서버(108)는 고정된 크기의 음성 표현 또는 삽입의 출력을 제공하기 위해 음향 피처 생성기(204)에서 반복 신경망을 트레이닝할 수 있다. 예를 들어, 삽입은 64-유닛 벡터일 수 있다. 일부 구현들에서, 유닛들은 비트 또는 바이트일 수 있다. 각 피처 벡터마다 하나의 삽입이 출력됩니다.
일부 구현예들에서, 분류기 서버(108)는 문장으로부터 한번에 하나의 단어를 전사 표현 생성기(206)의 CNN 단어 삽입 모델로 입력한다. 분류기 서버(108)는 획득된 발언(104)의 전사의 출력을 제공하기 위해 전사 표현 생성기 (206)에서 신경망을 학습시킬 수 있다. 발언의 전사에는 고정 크기의 텍스트 단위 표현들 또는 삽입들이 포함됩니다. 예를 들어, 각 포함 출력은 100-유닛 벡터 일 수 있다. 전사에는 출력으로 제공된 각 삽입 유닛들이 포함됩니다.
하나 이상의 컴퓨터는 (i)오디오 데이터의 표현 및 (ii)발언의 표현을 분류기(308)에 제공한다. 예를 들어, 연결 모듈(208)은 100-유닛 삽입 각각을 하나 이상의 숫자들를 포함하는 의미적으로 뜻있는 벡터로 변환한다. 연결 모듈(208)은 전사 표현 생성기(206)의 매립 출력과 음향 피처 생성기(204)로부터의 매립 출력을 결합한다. 예를 들어, 연결 모듈(208)은 전사 표현 생성기(206)로부터 출력된 100-유닛 벡터와 음향 피처 생성기(204) 출력으로부터 출력된 64-유닛 벡터를 결합하여 164-유닛 벡터 출력을 생성한다.
일부 구현들에서, 연결 모듈(208)은 전사 표현 생성기(208)로부터 숫자 벡터의 행렬 및 음향 피처 생성기(204)로부터 삽입 행렬을 생성할 수 있다. 특히, 각각의 단어가 100-유닛 삽입과 연관되는 10-단어 문장이 주어지면, 연결 모듈(208)은 10x100 행렬을 생성하고 이를 음향 피처 생성기(204)로부터의 행렬과 연결할 수 있다. 동일한 예에서, 음향 피처 생성기(204)로부터의 행렬은 각각 64-유닛 삽입을 포함하는 10개의 피처 벡터를 포함할 수 있다. 연결 모듈(208)은 전사 표현 생성기(206)로부터 10x100 행렬과 연결하기 위해 10x64 행렬을 생성할 수 있다. 연결 모듈(208)에 의해 생성된 결과 행렬은 크기가 10x164 일 수 있다. 일부 구현예들에서, 연결 모듈(208)은 연결 매트릭스를 신경망(209)에 한 번에 하나의 164-유닛 벡터로 제공한다.
하나 이상의 컴퓨터는 발언에 대한 청자가 자동화된 어시스턴트(310)일 가능성이 있는지의 여부를 표시한다. 예를 들어, 분류기 서버(108)는 연결된 행렬을 처리하기 위해 신경망(209)을 포함한다. 특히, 신경망(209)은 분류기(210-A) 및 다른 LSTM(210-B)을 포함한다. 분류기 서버(108)는 획득된 발언(104)에 대한 청자가 자동화된 어시스턴트 서버(116)일 가능성이 있음을 나타내는 출력을 생성하는 분류기(210-A) 및 LSTM(210-B)을 트레이닝할 수 있다. 일부 구현예들에서, 분류기(210-A) 및 LSTM(210-B)은 사용자에 의해 이전에 발화된 쿼리들의 예들과 자동화된 어시스턴트 서버(116)를 향하지 않는 기록된 대화 사용하여 트레이닝된다.
일부 구현들에서, 분류기(210-A) 및 LSTM(210-B)의 출력은 획득된 발언에 대한 청자가 자동화된 어시스턴트 서버(116)일 가능성이 있다는 표시를 포함할 수 있다. 예를 들어, 표시는 164-유닛 벡터의 출력에 대한 청자가 자동화된 어시스턴트 서버(116)일 가능성이 얼마나 있을지에 관한 확률을 포함할 수 있다. 다른 구현들에서, 분류기(210-A) 및 LSTM(210B)의 출력은 집합적으로 0 내지 100 범위의 스코어를 포함할 수 있다.
하나 이상의 컴퓨터는 수신된 오디오 데이터에 대응하는 발언이 자동화된 어시스턴트(312)로 향할 가능성이 있다는 표시에 기초하여 자동화된 어시스턴트를 선택적으로 지시한다. 예를 들어, 분류기 서버(108)는 신경망 (109)의 출력에서 시그마(211)를 포함한다. 시그마(211)는 LSTM(210-B)에 의해 제공되는 각각의 출력을 합산한다. 예를 들어, 시그마(211)는 신경망(209)을 통해 전파되는 각각의 발언에 대한 164-유닛 벡터 각각에 대한 출력 확률 또는 출력 스코어를 수신한다. 시그마(211)는 시그마(211)가 획득된 발언(104)을 완전히 처리 할 때까지 신경망(209)으로부터의 각각의 출력 확률 또는 스코어를 누적적으로 합산한다.
일부 구현예들에서, 시그마(211)는 최종 출력 확률 또는 스코어를 미리 결정된 임계치와 비교한다. 시그마(211)가 최종 출력 확률 또는 스코어가 미리 결정된 임계치를 초과한다고 결정하면, 분류기 서버(208)는 획득된 발언 (104)에 대한 청자가 자동화된 어시스턴트 서버(116)일 가능성이 있음을 표시한다. 대안적으로, 분류기 서버(108)는 최종 출력 확률 또는 스코어가 미리 결정된 임계치 미만이면 획득된 발언(104)에 대한 청자가 자동화된 어시스턴트 서버(114)일 가능성이 있음을 표시한다.
일부 구현예들에서, 분류기 서버(108)는 시그마(211)의 출력으로부터 획득된 발언(104)을 자동화된 어시스턴트 서버(116)에 제공할 것인지를 결정할 수 있다. 예를 들어, 분류기 서버(108)가 최종 출력 확률 또는 스코어가 미리 결정된 임계 값을 초과한다고 결정하면, 분류기 서버(108)는 자동화된 어시스턴트 서버(116)에 제공하기 위해 명령어를 생성한다. 획득된 발언(104)을 처리하기 위한 자동화된 어시스턴트 서버(116). 분류기 서버(108)는 획득된 발언(104) 및 생성된 명령어를 데이터(109)로 패키징하고, 처리를 위해 데이터(109)를 자동화된 어시스턴트 서버(116)로 전송한다.
대안적으로, 분류기 서버(108)는 최종 출력 확률 또는 스코어가 미리 결정된 임계 값을 초과하지 않는다고 결정할 수 있다. 이에 응답하여, 분류기 서버(108)는 획득된 발언(104)을 메모리로부터 삭제하고 다음에 획득한 발언까지 대기하도록 진행할 수 있다.
도 4는 여기에 설명된 기법을 구현하는데 사용될 수 있는 컴퓨팅 디바이스(400) 및 모바일 컴퓨팅 디바이스(450)의 예를 도시한다.
컴퓨팅 디바이스(400)는 랩탑, 데스크탑, 워크 스테이션, 개인용 디지털 어시스턴트, 서버, 블레이드 서버, 메인 프레임 및 기타 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타내도록 의도된다. 모바일 컴퓨팅 디바이스(450)는 개인용 디지털 어시스턴트, 셀룰러 전화기, 스마트폰 및 다른 유사한 컴퓨팅 디바이스와 같은 다양한 형태의 모바일 디바이스를 나타내도록 의도된다. 여기에 표시된 구성 요소, 연결 및 관계 및 해당 기능은 단지 예일 뿐이며 제한적인 것은 아닙니다.
컴퓨팅 디바이스(400)는 프로세서(402), 메모리(404), 저장 디바이스(406), 메모리(404)와 다수의 고속 확장 포트(410)에 연결되는 고속 인터페이스(408) 및 저속 확장 포트(414)와 저장 디바이스(406)에 연결되는 저속 인터페이스(412)를 포함한다. 프로세서(402), 메모리(404), 저장 디바이스(406), 고속 인터페이스(408), 고속 확장 포트(410) 및 저속 인터페이스(412) 각각은 다양한 버스들(busses)을 사용하여 상호 연결되며 일반적인 머더보드(motherboard) 또는 기타 적절한 방법에 설치될 수 있다. 프로세서(402)는 고속 인터페이스(408)에 연결된 디스플레이(416)와 같은 외부 입출력 디바이스상에 GUI에 대한 그래픽 정보를 디스플레이하기 위해 메모리(404) 또는 저장 디바이스(406)에 저장된 명령어를 포함하여 컴퓨팅 디바이스(400)내에서 실행하기 위해 명령어를 처리할 수 있다. 다른 구현들에서, 다수의 프로세서들 및/또는 다수의 버스들이 적절하게 다수의 메모리 및 유형의 메모리와 함께 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스가 연결될 수 있으며, 각각의 디바이스는 (예를 들어, 서버 뱅크, 블레이드 서버 그룹, 또는 다중 프로세서 시스템으로서) 필요한 동작의 일부를 제공한다.
메모리(404)는 컴퓨팅 디바이스(400) 내에 정보를 저장한다. 일부 구현예들에서, 메모리(404)는 휘발성 메모리 유닛 또는 유닛들이다. 일부 구현예들에서, 메모리(404)는 비- 휘발성 메모리 유닛 또는 유닛들이다. 메모리(404)는 또한 자기 또는 광 디스크와 같은 다른 형태의 컴퓨터 판독 가능 매체일 수 있다.
저장 디바이스(406)는 컴퓨팅 디바이스(400)에 대용량 저장 디바이스를 제공할 수 있다. 일부 구현예들에서, 저장 디바이스(406)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스, 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 솔리드 스테이트(solid state) 메모리 디바이스 또는 저장 영역 네트워크 또는 다른 구성의 디바이스를 포함하는 디바이스의 배열과 같은 컴퓨터 판독 가능 매체이거나 이를 포함 할 수 있다. 명령어는 정보 매체에 저장될 수 있다. 그러나, 하나 이상의 처리 디바이스(예를 들어, 프로세서(402))에 의해 실행될 때, 전술 한 것과 같은 하나 이상의 방법을 수행한다. 또한, 컴퓨터 또는 기계 판독 가능 매체(예를 들어, 메모리(404), 저장 디바이스(406), 또는 프로세서(402)의 메모리)와 같은 하나 이상의 저장 디바이스에 의해 저장될 수 있다.
고속 인터페이스(408)는 컴퓨팅 디바이스(400)에 대한 대역폭 집약적 동작을 관리하는 반면, 저속 인터페이스(412)는보다 낮은 대역폭 집약적 동작을 관리한다. 이러한 기능 할당은 단지 예일뿐입니다. 일부 구현예들에서, 고속 인터페이스(408)는 메모리(404), 디스플레이(416) (예를 들어, 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드들(도시되지 않음)을 수용할 수 있는 고속 확장 포트(410)에 연결된다. 구현예에서, 저속 인터페이스(412)는 저장 디바이스(406) 및 저속 확장 포트(414)에 연결된다. 다양한 통신 포트들(예를 들어, USB, 블루투스, 이더넷(Ethernet), 무선 이더넷)를 포함할 수 있는 저속 확장 포트(414)는 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입력/출력 디바이스들 또는 예를 들어 네트워크 어댑터를 통한, 스위치 또는 라우터(router)와 같은 네트워킹 디바이스에 연결될 수 있다.
컴퓨팅 디바이스(400)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 표준 서버(420)로서, 또는 이러한 서버 그룹에서 여러 번 구현될 수 있다. 또한, 랩톱 컴퓨터(422)와 같은 개인용 컴퓨터에서 구현될 수 있다. 또한 랙(rack) 서버 시스템(424)의 일부로서 구현될 수 있다. 대안적으로, 컴퓨팅 디바이스(400)로부터의 구성 요소는 모바일 컴퓨팅 디바이스(450)와 같은 모바일 디바이스(미도시)의 다른 구성 요소와 결합될 수 있다. 이러한 디바이스 각각은 하나 이상의 컴퓨팅 디바이스(400) 및 모바일 컴퓨팅 디바이스(450)를 포함할 수 있으며, 전체 시스템은 서로 통신하는 다수의 컴퓨팅 디바이스로 구성될 수 있다.
모바일 컴퓨팅 디바이스(450)는 프로세서(452), 메모리(464), 디스플레이(454)와 같은 입력/출력 디바이스, 통신 인터페이스(466) 및 송수신기(468)를 포함한다. 모바일 컴퓨팅 디바이스(450)는 또한 추가적인 저장을 제공하기 위해 마이크로 드라이브 또는 다른 디바이스와 같은 저장 디바이스를 제공받을 수 있다. 프로세서(452), 메모리(464), 디스플레이(454), 통신 인터페이스(466) 및 트랜시버(transceiver)(468) 각각은 다양한 버스를 사용하여 상호 연결되며, 몇몇 컴포넌트는 공통 머더보드 상에 또는 다른 방식으로 적절히 장착될 수 있다.
프로세서(452)는 메모리(642)에 저장된 성능을 포함하여 모바일 컴퓨팅 디바이스(450) 내에서 명령어를 실행할 수 있다. 프로세서(452)는 개별 및 다수의 아날로그 및 디지털 프로세서들을 포함하는 칩들(chips)의 칩셋으로서 구현될 수 있다. 프로세서(452)는 예를 들어, 사용자 인터페이스의 제어, 모바일 컴퓨팅 디바이스(450)에 의해 실행되는 애플리케이션, 및 모바일 컴퓨팅 디바이스(450)에 의한 무선 통신과 같은 모바일 컴퓨팅 디바이스(450)의 다른 구성 요소의 조정을 제공할 수 있다.
프로세서(452)는 제어 인터페이스(458) 및 디스플레이(454)에 연결된 디스플레이 인터페이스(456)를 통해 사용자와 통신할 수 있다. 디스플레이(454)는 예를 들어 TFT(Thin-Film-Transistor Liquid Crystal Display) 디스플레이 또는 OLED(Organic Light Emitting Diode) 디스플레이, 또는 다른 적절한 디스플레이 기법일 수 있다. 디스플레이 인터페이스(456)는 그래픽 및 다른 정보를 사용자에게 제시하기 위해 디스플레이(454)를 구동하기 위한 적절한 회로를 포함할 수 있다. 제어 인터페이스(458)는 사용자로부터 명령을 수신하여 프로세서(452)에 제출하기 위해 변환할 수 있다. 또한, 외부 인터페이스(462)는 다른 디바이스와 모바일 컴퓨팅 디바이스(450)의 근거리 통신을 가능하게 하기 위해 프로세서(452)와의 통신을 제공할 수 있다. 외부 인터페이스(462)는 예를 들어, 일부 구현예들에서 유선 통신 또는 다른 구현예들에서 무선 통신을 제공할 수 있고, 다수의 인터페이스가 또한 사용될 수 있다.
메모리(464)는 모바일 컴퓨팅 디바이스(450) 내에 정보를 저장한다. 메모리(464)는 하나 이상의 컴퓨터 판독 가능 매체 또는 매체들, 휘발성 메모리 유닛 또는 유닛들, 또는 비 휘발성 메모리 유닛 또는 유닛들로 구현될 수 있다. 확장 메모리(474)가 또한 제공되고 확장 인터페이스(472)를 통해 모바일 컴퓨팅 디바이스(450)에 연결될 수 있으며, 예를 들어 SIMM(Single In Line Memory Module) 카드 인터페이스를 포함할 수 있다. 확장 메모리(474)는 모바일 컴퓨팅 디바이스(450)를 위한 추가 저장 공간을 제공할 수 있거나, 모바일 컴퓨팅 디바이스(450)를위한 애플리케이션 또는 다른 정보를 저장할 수도 있다. 구체적으로, 확장 메모리(474)는 상술한 프로세스를 수행하거나 보충하기 위한 명령어들을 포함할 수 있고, 또한 보안 정보를 포함할 수 있다. 따라서, 예를 들어, 확장 메모리(474)는 모바일 컴퓨팅 디바이스(450)를 위한 보안 모듈로서 제공될 수 있고, 모바일 컴퓨팅 디바이스(450)의 안전한 사용을 허용하는 것으로 프로그램될 수 있다. 또한, SIMM 카드를 통한 식별 정보를 해킹 불가능한 방식으로 배치하는 것과 같은 추가 정보와 함께, 보안 애플리케이션이 SIMM 카드를 통해 제공될 수 있다.
메모리는 예를 들어, 후술하는 바와 같이 플래시 메모리 및/또는 NVRAM 메모리 (비 휘발성 랜덤 액세스 메모리, non-volatile random access memory)를 포함할 수 있다. 일부 구현예들에서, 명령어들은 정보 캐리어에 저장되어, 명령어들이 하나 이상의 프로세싱 디바이스들(예를 들어, 프로세서(452))에 의해 실행 될 때 상술한 것과 같은 하나 이상의 방법들을 수행하게 한다. 또한, 하나 이상의 컴퓨터 또는 기계 판독 가능 매체(예를 들어, 메모리(464), 확장 메모리(474) 또는 프로세서(452)의 메모리)와 같은 하나 이상의 저장 디바이스에 의해 저장될 수 있다. 일부 구현예들에서, 전파는 예를 들어 트랜시버(468) 또는 외부 인터페이스(462)를 통해 전파된 신호로 수신될 수 있다.
모바일 컴퓨팅 디바이스(450)는 통신 인터페이스(466)를 통해 무선으로 통신할 수 있으며, 필요한 경우 디지털 신호 처리 회로를 포함할 수 있다. 통신 인터페이스(466)는 GSM 음성 호출(Global System for Mobile communication), SMS(Short Message Service), EMS(Enhanced Messaging Service) 또는 MMS 메시징 (Multimedia Messaging Service), CDMA(code division multiple access), TDMA (time division multiple access), PDC (Personal Digital Cellular), WCDMA (Wideband Code Division Multiple Access), CDMA2000 또는 GPRS (General Packet Radio Service) 등과 같은 다양한 모드 또는 프로토콜 하에서 통신을 제공할 수 있다. 이러한 통신은 예를 들어 무선 주파수를 사용하는 트랜시버(468)를 통해 발생할 수 있다. 또한, 블루투스, WiFi 또는 다른 그러한 송수신기(도시되지 않음)를 사용하는 것과 같은 단거리 통신이 발생할 수 있다. 또한, GPS(Global Positioning System) 수신기 모듈(470)은 추가적인 내비게이션 및 위치 관련 무선 데이터를 모바일 컴퓨팅 디바이스(450)에 제공할 수 있으며, 이는 모바일 컴퓨팅 디바이스(450)상에서 실행되는 애플리케이션에 의해 적절하게 사용될 수 있다.
모바일 컴퓨팅 디바이스(450)는 또한 오디오 코덱(460)을 사용하여 청각적으로 통신할 수 있으며, 이는 오디오 정보(460)를 사용자로부터 음성 정보를 수신하여 이를 사용 가능한 디지털 정보로 변환할 수 있다. 오디오 코덱(460)은 마찬가지로, 예를 들어 모바일 컴퓨팅 디바이스(450)의 핸드셋에서 스피커를 통해와 같이 사용자에 대한 가청음을 생성할 수 있다. 이러한 소리는 음성 전화 호출로부터의 소리를 포함할 수 있고, 녹음 된 소리(예를 들어, 음성 메시지, 음악 파일 등)를 포함할 수 있고, 모바일 컴퓨팅 디바이스(450)상에서 동작하는 애플리케이션에 의해 생성된 소리를 포함 할 수도 있다.
모바일 컴퓨팅 디바이스(450)는 도면에 도시 된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 그것은 휴대폰(480)으로서 구현될 수 있다. 그것은 또한 스마트-폰(482), 개인용 디지털 어시스턴트 또는 다른 유사한 모바일 디바이스의 일부로서 구현될 수 있다.
본 명세서에 기술된 시스템들 및 기법들의 다양한 구현은 디지털 전자 회로, 집적 회로, 특수하게 설계된 ASIC들(application specific integrated circuits), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합에서 실현될 수 있다. 이러한 다양한 구현예들은 적어도 하나의 프로그래머블 프로세서를 포함하는 프로그래머블 시스템 상에서 실행가능하고 및/또는 인터프리트가능한 하나 이상의 컴퓨터 프로그램들에서의 구현예를 포함할 수 있고, 이는 전용 또는 범용일 수 있고, 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령어들을 수신하고 그에 데이터 및 명령어들을 전소하기 위해 연결될 수 있다.
이러한 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 응용 프로그램 또는 코드라고도 함)에는 프로그래머블 프로세서를 위한 기계 명령어가 포함되며, 고급 절차 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리(assembly)/ 기계 언어로 구현될 수 있다. 본 명세서에서 사용되는 기계 판독 가능 매체 및 컴퓨터 판독 가능 매체라는 용어는 기계 판독 가능 신호로서 기계 명령어를 수신하는 기계 판독 가능 매체를 포함하는, 기계 명령어 및/또는 프로그래머블 프로세서에 데이터를 제공하는데 사용되는 임의의 컴퓨터 프로그램 제품, 디바이스 및/또는 디바이스(예를 들어, 자기 디스크, 광 디스크, 메모리, 프로그램 가능 논리 디바이스(PLDs, Programmable Logic Devices))를 지칭한다. 기계 판독 가능 신호라는 용어는 기계 명령어 및/또는 데이터를 프로그래머블 프로세서에 제공하는데 사용되는 임의의 신호를 지칭한다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에 설명된 시스템들 및 기법은 사용자에게 정보를 표시하고 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스 (예를 들어, 마우스 또는 트랙볼)를 위한 디스플레이 디바이스(예를 들어, CRT (음극선 관, cathode ray tube) 또는 LCD(액정 디스플레이, liquid crystal display)를 갖는 컴퓨터에서 구현될 수 있다. 사용자와의 상호 작용을 제공하기 위해 다른 종류의 디바이스가 사용될 수도 있다. 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백 (예를 들어, 시각적 피드백, 청각 피드백 또는 촉각 피드백) 일 수 있으며; 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다.
본 명세서에 설명된 시스템들 및 기법은 백 엔드 컴포넌트(back end component)(예를 들어, 데이터 서버)를 포함하거나 미들웨어(middleware) 컴포넌트(예를 들어, 애플리케이션 서버)를 포함하거나 프론트 엔드(front end) 컴포넌트(예를 들어, 사용자가 여기에 설명 된 시스템 및 기법의 구현과 상호 작용할 수있는 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 클라이언트 컴퓨터), 또는 이러한 백엔드, 미들웨어 또는 프론트 엔드 구성 요소의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 구성 요소는 임의의 형태 또는 매체의 디지털 데이터 통신(예를 들어, 통신 네트워크)에 의해 상호 연결될 수 있다. 통신 네트워크의 예는 근거리 통신망(LAN), 광역 통신망(WAN) 및 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 일반적으로 통신 네트워크를 통해 상호 작용합니다. 클라이언트와 서버의 관계는 각 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램으로 인해 발생합니다.
몇몇 구현예들이 위에서 상세히 설명되었지만, 다른 수정들이 가능하다. 예를 들어, 클라이언트 애플리케이션이 델리게이트(delegate)(들)에 액세스하는 것으로 설명되어 있지만, 다른 구현예들에서 델리게이트(들)는 하나 이상의 서버에서 실행되는 애플리케이션과 같은 하나 이상의 프로세서에 의해 구현된 다른 애플리케이션에 의해 채용될 수 있다. 또한, 도면에 도시된 논리 흐름은 바람직한 결과를 달성하기 위해 도시된 특정 순서 또는 순차적 순서를 요구하지 않는다. 또한, 설명된 흐름들로부터 다른 동작들이 제공될 수 있거나, 동작들이 제거될 수 있고, 다른 구성 요소들이 설명된 시스템에 추가되거나 또는 그로부터 제거될 수 있다. 따라서, 다른 구현예들은 다음의 청구 범위의 범위 내에 있다.
본 명세서는 많은 특정 구현 세부 사항을 포함하지만, 이들은 임의의 발명의 범위 또는 청구될 수 있는 것에 대한 제한으로 해석되어서는 안되며, 오히려 특정 발명의 특정 실시 예에 특정될 수 있는 특징의 설명으로 해석되어야 한다. 별도의 실시 예들과 관련하여 본 명세서에서 설명 된 특정 특징들은 또한 단일 실시 예에서 조합하여 구현될 수 있다. 반대로, 단일 실시 예와 관련하여 설명된 다양한 특징은 또한 다수의 실시 예에서 개별적으로 또는 임의의 적절한 서브 콤비네이션으로 구현될 수 있다. 더욱이, 특징들이 특정 조합으로 작용하는 것으로 설명되고 심지어 초기에 그렇게 청구될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징은 일부 경우에 조합에서 제외될 수 있고, 청구 된 조합은 하위 조합 또는 하위 조합의 변형에 관한 것일 수 있다.
유사하게, 동작이 특정 순서로 도면에 도시되어 있지만, 이는 바람직한 결과를 달성하기 위해 그러한 동작이 도시 된 또는 순차적인 순서로 특정 동작으로 수행되거나 모든 예시된 동작이 수행되는 것을 요구하는 것으로 이해되어서는 안 된다. 특정 상황에서, 멀티태스킹 및 병렬 처리가 유리할 수 있다. 더욱이, 전술한 실시 예에서의 다양한 시스템 모듈 및 구성 요소의 분리는 모든 실시 예에서 이러한 분리를 요구하는 것으로 이해되어서는 안되며, 기술된 프로그램 구성 요소 및 시스템은 일반적으로 단일 소프트웨어 제품 또는 여러 소프트웨어 제품들로 패키지로 함께 통합될 수 있는 것으로 이해되어야 한다.
주제의 특정 실시 예들이 설명되었다. 다른 실시 예는 다음의 청구 범위의 범위 내에 있다. 예를 들어, 청구 범위에 기재된 동작은 다른 순서로 수행 될 수 있으며 여전히 바람직한 결과를 달성할 수 있다. 일례로서, 첨부 도면에 도시 된 프로세스는 바람직한 결과를 달성하기 위해 도시 된 특정 순서 또는 순차적 순서를 반드시 요구할 필요는 없다. 특정 구현예들에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다.
Claims (20)
- 데이터 프로세싱 하드웨어에서 실행되는 컴퓨터로 구현되는 방법으로서, 상기 방법은 상기 데이터 프로세싱 하드웨어로 하여금 동작들을 수행하게 하며, 상기 동작들은:
사용자와 연관된 클라이언트 디바이스에 의해 캡처된 발화된 발언을 수신하는 동작, 상기 발화된 발언은 복수의 단어들을 포함하며;
다수의 장단기 메모리(LSTM) 레이어들의 스택을 포함하는 신경망 기반 발언 분류기를 사용하여, 상기 발화된 발언의 복수의 단어들 중 각 단어에 대한 각각의 텍스트 표현을 생성하는 동작;
상기 발화된 발언의 복수의 단어들 중 각 단어에 대해 생성된 각각의 텍스트 표현을 사용하여, 상기 발화된 발언이 자동화된 어시스턴트를 향하지 않는다고 결정하는 동작; 및
상기 발화된 발언이 상기 자동화된 어시스턴트를 향한다는 결정을 기초하여:
상기 자동화된 어시스턴트로 하여금 상기 발화된 발언에 대한 응답을 생성하게 하는 명령어를 생성하는 동작; 및
상기 클라이언트 디바이스로부터의 출력을 위해, 상기 발화된 발언에 대한 청자가 상기 자동화된 어시스턴트를 향한다는 표시를 제공하는 동작을 포함하는, 방법. - 청구항 1에 있어서, 상기 신경망 기반 발언 분류기는 자동화된 어시스턴트를 향하지 않는 발화된 발언의 네거티브 트레이닝 예시에 대해 트레이닝되는, 방법.
- 청구항 1에 있어서, 상기 각각의 텍스트 표현은 고정 길이 벡터를 포함하는, 방법.
- 청구항 3에 있어서, 상기 고정 길이 벡터는 100 유닛 벡터를 포함하는, 방법.
- 청구항 1에 있어서, 상기 자동화된 어시스턴트는 상기 발화된 발언의 전사를 프로세싱하여 상기 발화된 발언에 대한 응답을 생성하는, 방법.
- 청구항 1에 있어서, 상기 발화된 발언은 상기 클라이언트 디바이스의 마이크로폰에 의해 캡처되는, 방법.
- 청구항 1에 있어서, 상기 발화된 발언은 오디오 파형을 포함하는, 방법.
- 청구항 1에 있어서, 상기 표시는 가청 톤을 포함하는, 방법.
- 청구항 1에 있어서, 상기 표시는 플래싱 라이트를 포함하는, 방법.
- 청구항 1에 있어서, 상기 데이터 프로세싱 하드웨어는 네트워크를 통해 상기 클라이언트 디바이스와 통신하는 서버에서 실행되는, 방법.
- 시스템으로서,
데이터 프로세싱 하드웨어; 및
상기 데이터 프로세싱 하드웨어에서 실행될 때 상기 데이터 프로세싱 하드웨어로 하여금 동작을 수행하게 하는 명령어를 저장하는 메모리 하드웨어를 포함하며, 상기 동작은:
사용자와 연관된 클라이언트 디바이스에 의해 캡처된 발화된 발언을 수신하는 동작, 상기 발화된 발언은 복수의 단어들을 포함하며;
다수의 장단기 메모리(LSTM) 레이어들의 스택을 포함하는 신경망 기반 발언 분류기를 사용하여, 상기 발화된 발언의 복수의 단어들 중 각 단어에 대한 각각의 텍스트 표현을 생성하는 동작;
상기 발화된 발언의 복수의 단어들 중 각 단어에 대해 생성된 각각의 텍스트 표현을 사용하여, 상기 발화된 발언이 자동화된 어시스턴트를 향하지 않는다고 결정하는 동작; 및
상기 발화된 발언이 상기 자동화된 어시스턴트를 향한다는 결정을 기초하여:
상기 자동화된 어시스턴트로 하여금 상기 발화된 발언에 대한 응답을 생성하게 하는 명령어를 생성하는 동작; 및
상기 클라이언트 디바이스로부터의 출력을 위해, 상기 발화된 발언에 대한 청자가 상기 자동화된 어시스턴트를 향한다는 표시를 제공하는 동작을 포함하는, 시스템. - 청구항 11에 있어서, 상기 신경망 기반 발언 분류기는 자동화된 어시스턴트를 향하지 않는 발화된 발언의 네거티브 트레이닝 예시에 대해 트레이닝되는, 시스템.
- 청구항 11에 있어서, 상기 각각의 텍스트 표현은 고정 길이 벡터를 포함하는, 시스템.
- 청구항 13에 있어서, 상기 고정 길이 벡터는 100 유닛 벡터를 포함하는, 시스템.
- 청구항 11에 있어서, 상기 자동화된 어시스턴트는 상기 발화된 발언의 전사를 프로세싱하여 상기 발화된 발언에 대한 응답을 생성하는, 시스템.
- 청구항 11에 있어서, 상기 발화된 발언은 상기 클라이언트 디바이스의 마이크로폰에 의해 캡처되는, 시스템.
- 청구항 11에 있어서, 상기 발화된 발언은 오디오 파형을 포함하는, 시스템.
- 청구항 11에 있어서, 상기 표시는 가청 톤을 포함하는, 시스템.
- 청구항 11에 있어서, 상기 표시는 플래싱 라이트를 포함하는, 시스템.
- 청구항 11에 있어서, 상기 데이터 프로세싱 하드웨어는 네트워크를 통해 상기 클라이언트 디바이스와 통신하는 서버에서 실행되는, 시스템.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/659,016 | 2017-07-25 | ||
US15/659,016 US10311872B2 (en) | 2017-07-25 | 2017-07-25 | Utterance classifier |
KR1020227003955A KR102474941B1 (ko) | 2017-07-25 | 2018-04-09 | 발언 분류기 |
PCT/US2018/026723 WO2019022797A1 (en) | 2017-07-25 | 2018-04-09 | STATEMENT CLASSIFIER |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227003955A Division KR102474941B1 (ko) | 2017-07-25 | 2018-04-09 | 발언 분류기 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220162891A KR20220162891A (ko) | 2022-12-08 |
KR102509464B1 true KR102509464B1 (ko) | 2023-03-14 |
Family
ID=62067866
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227003955A KR102474941B1 (ko) | 2017-07-25 | 2018-04-09 | 발언 분류기 |
KR1020227042199A KR102509464B1 (ko) | 2017-07-25 | 2018-04-09 | 발언 분류기 |
KR1020207002950A KR102360924B1 (ko) | 2017-07-25 | 2018-04-09 | 발언 분류기 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227003955A KR102474941B1 (ko) | 2017-07-25 | 2018-04-09 | 발언 분류기 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207002950A KR102360924B1 (ko) | 2017-07-25 | 2018-04-09 | 발언 분류기 |
Country Status (6)
Country | Link |
---|---|
US (5) | US10311872B2 (ko) |
EP (1) | EP3659028A1 (ko) |
JP (2) | JP6740504B1 (ko) |
KR (3) | KR102474941B1 (ko) |
CN (1) | CN110959159A (ko) |
WO (1) | WO2019022797A1 (ko) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180084392A (ko) * | 2017-01-17 | 2018-07-25 | 삼성전자주식회사 | 전자 장치 및 그의 동작 방법 |
WO2018160943A1 (en) * | 2017-03-03 | 2018-09-07 | Pindrop Security, Inc. | Method and apparatus for detecting spoofing conditions |
US10311872B2 (en) | 2017-07-25 | 2019-06-04 | Google Llc | Utterance classifier |
US11461628B2 (en) * | 2017-11-03 | 2022-10-04 | Samsung Electronics Co., Ltd. | Method for optimizing neural networks |
US11886473B2 (en) | 2018-04-20 | 2024-01-30 | Meta Platforms, Inc. | Intent identification for agent matching by assistant systems |
US10782986B2 (en) | 2018-04-20 | 2020-09-22 | Facebook, Inc. | Assisting users with personalized and contextual communication content |
US11676220B2 (en) | 2018-04-20 | 2023-06-13 | Meta Platforms, Inc. | Processing multimodal user input for assistant systems |
US11715042B1 (en) | 2018-04-20 | 2023-08-01 | Meta Platforms Technologies, Llc | Interpretability of deep reinforcement learning models in assistant systems |
US11307880B2 (en) * | 2018-04-20 | 2022-04-19 | Meta Platforms, Inc. | Assisting users with personalized and contextual communication content |
US10621990B2 (en) * | 2018-04-30 | 2020-04-14 | International Business Machines Corporation | Cognitive print speaker modeler |
JP2021144065A (ja) * | 2018-06-12 | 2021-09-24 | ソニーグループ株式会社 | 情報処理装置および情報処理方法 |
CN110364166B (zh) * | 2018-06-28 | 2022-10-28 | 腾讯科技(深圳)有限公司 | 实现语音信号识别的电子设备 |
US11580145B1 (en) * | 2018-09-25 | 2023-02-14 | Amazon Technologies, Inc. | Query rephrasing using encoder neural network and decoder neural network |
GB2577570A (en) * | 2018-09-28 | 2020-04-01 | Cirrus Logic Int Semiconductor Ltd | Sound event detection |
EP3679572B1 (en) * | 2018-11-21 | 2021-08-25 | Google LLC | Orchestrating execution of a series of actions requested to be performed via an automated assistant |
CN114041283B (zh) * | 2019-02-20 | 2024-06-07 | 谷歌有限责任公司 | 利用事件前和事件后输入流来接洽自动化助理 |
US11676582B2 (en) | 2019-02-27 | 2023-06-13 | Google Llc | Detecting conversations with computing devices |
JP7358407B2 (ja) * | 2019-02-27 | 2023-10-10 | グーグル エルエルシー | コンピューティングデバイスとの継続的な会話の検出 |
US10943598B2 (en) * | 2019-03-18 | 2021-03-09 | Rovi Guides, Inc. | Method and apparatus for determining periods of excessive noise for receiving smart speaker voice commands |
US11355138B2 (en) * | 2019-08-27 | 2022-06-07 | Nec Corporation | Audio scene recognition using time series analysis |
CN112530419B (zh) * | 2019-09-19 | 2024-05-24 | 百度在线网络技术(北京)有限公司 | 语音识别控制方法、装置、电子设备和可读存储介质 |
CN112669831B (zh) * | 2019-09-29 | 2022-10-21 | 百度在线网络技术(北京)有限公司 | 语音识别控制方法、装置、电子设备和可读存储介质 |
CN112581969A (zh) * | 2019-09-29 | 2021-03-30 | 百度在线网络技术(北京)有限公司 | 语音控制方法、装置、电子设备和可读存储介质 |
CN112581945A (zh) * | 2019-09-29 | 2021-03-30 | 百度在线网络技术(北京)有限公司 | 语音控制方法、装置、电子设备和可读存储介质 |
US11741953B2 (en) * | 2019-11-08 | 2023-08-29 | Google Llc | Using corrections, of automated assistant functions, for training of on-device machine learning models |
US11276392B2 (en) * | 2019-12-12 | 2022-03-15 | Sorenson Ip Holdings, Llc | Communication of transcriptions |
US11430426B2 (en) | 2020-04-01 | 2022-08-30 | International Business Machines Corporation | Relevant document retrieval to assist agent in real time customer care conversations |
EP4143822A1 (en) * | 2020-05-15 | 2023-03-08 | Google LLC | Hot-word free pre-emption of automated assistant response presentation |
US11521597B2 (en) * | 2020-09-03 | 2022-12-06 | Google Llc | Correcting speech misrecognition of spoken utterances |
KR102590540B1 (ko) * | 2020-11-30 | 2023-10-18 | 주식회사 마음에이아이 | 인공 신경망 학습 방법과 이를 이용한 발음 평가 방법 |
WO2022162767A1 (ja) * | 2021-01-27 | 2022-08-04 | 日本電信電話株式会社 | 誤り訂正装置、誤り訂正方法、プログラム |
US11705125B2 (en) * | 2021-03-26 | 2023-07-18 | International Business Machines Corporation | Dynamic voice input detection for conversation assistants |
US11861315B2 (en) | 2021-04-21 | 2024-01-02 | Meta Platforms, Inc. | Continuous learning for natural-language understanding models for assistant systems |
US20220399007A1 (en) * | 2021-06-11 | 2022-12-15 | Harman International Industries, Incorporated | System and method for robust wakeword detection in presence of noise in new unseen environments without additional data |
WO2023056920A1 (en) * | 2021-10-05 | 2023-04-13 | Huawei Technologies Co., Ltd. | Multilayer perceptron neural network for speech processing |
US12027156B2 (en) * | 2021-10-06 | 2024-07-02 | Cypress Semiconductor Corporation | Noise robust representations for keyword spotting systems |
CN114970666B (zh) * | 2022-03-29 | 2023-08-29 | 北京百度网讯科技有限公司 | 一种口语处理方法、装置、电子设备及存储介质 |
US11983329B1 (en) | 2022-12-05 | 2024-05-14 | Meta Platforms, Inc. | Detecting head gestures using inertial measurement unit signals |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6925432B2 (en) | 2000-10-11 | 2005-08-02 | Lucent Technologies Inc. | Method and apparatus using discriminative training in natural language call routing and document retrieval |
US6795808B1 (en) | 2000-10-30 | 2004-09-21 | Koninklijke Philips Electronics N.V. | User interface/entertainment device that simulates personal interaction and charges external database with relevant data |
KR100414064B1 (ko) * | 2001-04-12 | 2004-01-07 | 엘지전자 주식회사 | 음성인식에 의한 이동통신 단말기 제어시스템 및 방법 |
US20030167167A1 (en) | 2002-02-26 | 2003-09-04 | Li Gong | Intelligent personal assistants |
US7606714B2 (en) | 2003-02-11 | 2009-10-20 | Microsoft Corporation | Natural language classification within an automated response system |
US7809569B2 (en) | 2004-12-22 | 2010-10-05 | Enterprise Integration Group, Inc. | Turn-taking confidence |
CN101669090A (zh) | 2007-04-26 | 2010-03-10 | 福特全球技术公司 | 情绪提示系统和方法 |
US20090006085A1 (en) | 2007-06-29 | 2009-01-01 | Microsoft Corporation | Automated call classification and prioritization |
CN101546556B (zh) * | 2008-03-28 | 2011-03-23 | 展讯通信(上海)有限公司 | 用于音频内容识别的分类系统 |
CN104969289B (zh) * | 2013-02-07 | 2021-05-28 | 苹果公司 | 数字助理的语音触发器 |
US9123340B2 (en) * | 2013-03-01 | 2015-09-01 | Google Inc. | Detecting the end of a user question |
US9489625B2 (en) * | 2013-05-10 | 2016-11-08 | Sri International | Rapid development of virtual personal assistant applications |
WO2015017796A2 (en) * | 2013-08-02 | 2015-02-05 | Digimarc Corporation | Learning systems and methods |
US9286897B2 (en) * | 2013-09-27 | 2016-03-15 | Amazon Technologies, Inc. | Speech recognizer with multi-directional decoding |
KR101671308B1 (ko) | 2014-05-19 | 2016-11-01 | 주식회사 노나메기 | 캠핑용 난로 |
US9484022B2 (en) * | 2014-05-23 | 2016-11-01 | Google Inc. | Training multiple neural networks with different accuracy |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US10783900B2 (en) * | 2014-10-03 | 2020-09-22 | Google Llc | Convolutional, long short-term memory, fully connected deep neural networks |
US10476872B2 (en) * | 2015-02-20 | 2019-11-12 | Sri International | Joint speaker authentication and key phrase identification |
KR101760898B1 (ko) * | 2015-08-27 | 2017-07-24 | 허철균 | 상황 인지 기반 양방향 안내 시스템 및 그의 제어 방법 |
US20170092278A1 (en) | 2015-09-30 | 2017-03-30 | Apple Inc. | Speaker recognition |
CN105427869A (zh) * | 2015-11-02 | 2016-03-23 | 北京大学 | 一种基于深度学习的会话情感自动分析方法 |
JP2017090611A (ja) * | 2015-11-09 | 2017-05-25 | 三菱自動車工業株式会社 | 音声認識制御システム |
US9628286B1 (en) * | 2016-02-23 | 2017-04-18 | Echostar Technologies L.L.C. | Television receiver and home automation system and methods to associate data with nearby people |
US9984682B1 (en) * | 2016-03-30 | 2018-05-29 | Educational Testing Service | Computer-implemented systems and methods for automatically generating an assessment of oral recitations of assessment items |
US10332513B1 (en) * | 2016-06-27 | 2019-06-25 | Amazon Technologies, Inc. | Voice enablement and disablement of speech processing functionality |
US10147423B2 (en) * | 2016-09-29 | 2018-12-04 | Intel IP Corporation | Context-aware query recognition for electronic devices |
JP6659514B2 (ja) * | 2016-10-12 | 2020-03-04 | 東芝映像ソリューション株式会社 | 電子機器及びその制御方法 |
US20180232443A1 (en) * | 2017-02-16 | 2018-08-16 | Globality, Inc. | Intelligent matching system with ontology-aided relation extraction |
US10311872B2 (en) | 2017-07-25 | 2019-06-04 | Google Llc | Utterance classifier |
-
2017
- 2017-07-25 US US15/659,016 patent/US10311872B2/en active Active
-
2018
- 2018-04-09 WO PCT/US2018/026723 patent/WO2019022797A1/en unknown
- 2018-04-09 KR KR1020227003955A patent/KR102474941B1/ko active IP Right Grant
- 2018-04-09 CN CN201880049126.4A patent/CN110959159A/zh active Pending
- 2018-04-09 KR KR1020227042199A patent/KR102509464B1/ko active IP Right Grant
- 2018-04-09 EP EP18720903.6A patent/EP3659028A1/en active Pending
- 2018-04-09 JP JP2020503953A patent/JP6740504B1/ja active Active
- 2018-04-09 KR KR1020207002950A patent/KR102360924B1/ko active IP Right Grant
-
2019
- 2019-05-02 US US16/401,349 patent/US11545147B2/en active Active
-
2020
- 2020-07-21 JP JP2020124302A patent/JP6945695B2/ja active Active
- 2020-07-21 US US16/935,112 patent/US11361768B2/en active Active
-
2022
- 2022-05-31 US US17/804,657 patent/US11848018B2/en active Active
-
2023
- 2023-12-01 US US18/526,991 patent/US20240096326A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
KR20200023456A (ko) | 2020-03-04 |
US11361768B2 (en) | 2022-06-14 |
KR102360924B1 (ko) | 2022-02-09 |
US20200349946A1 (en) | 2020-11-05 |
US11545147B2 (en) | 2023-01-03 |
JP6740504B1 (ja) | 2020-08-12 |
JP6945695B2 (ja) | 2021-10-06 |
US10311872B2 (en) | 2019-06-04 |
US20190035390A1 (en) | 2019-01-31 |
EP3659028A1 (en) | 2020-06-03 |
JP2020173483A (ja) | 2020-10-22 |
US20220293101A1 (en) | 2022-09-15 |
US20240096326A1 (en) | 2024-03-21 |
WO2019022797A1 (en) | 2019-01-31 |
KR20220021037A (ko) | 2022-02-21 |
US20190304459A1 (en) | 2019-10-03 |
US11848018B2 (en) | 2023-12-19 |
CN110959159A (zh) | 2020-04-03 |
KR102474941B1 (ko) | 2022-12-06 |
JP2020527758A (ja) | 2020-09-10 |
KR20220162891A (ko) | 2022-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102509464B1 (ko) | 발언 분류기 | |
US11887590B2 (en) | Voice enablement and disablement of speech processing functionality | |
US10943606B2 (en) | Context-based detection of end-point of utterance | |
US11514886B2 (en) | Emotion classification information-based text-to-speech (TTS) method and apparatus | |
JP7244665B2 (ja) | エンドツーエンドの音声変換 | |
JP7136868B2 (ja) | 話者ダイアライゼーション | |
CN116052661A (zh) | 上下文热词 | |
KR20230056741A (ko) | 목소리 변환 및 스피치 인식 모델을 사용한 합성 데이터 증강 | |
US11694685B2 (en) | Hotphrase triggering based on a sequence of detections | |
JP2023548157A (ja) | 通話およびオーディオメッセージからのその他の話者の音声フィルタリング | |
JP2021033051A (ja) | 情報処理装置、情報処理方法およびプログラム | |
KR20210098250A (ko) | 전자 장치 및 이의 제어 방법 | |
EP4287178A1 (en) | Improved performance evaluation of automatic speech recognition engines | |
Kanasro et al. | Finding Accuracy of Utterance of Language Model | |
Nenad | Natural Language Processing and Speech Enabled Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |