KR101752119B1 - Hotword detection on multiple devices - Google Patents

Hotword detection on multiple devices Download PDF

Info

Publication number
KR101752119B1
KR101752119B1 KR1020167021778A KR20167021778A KR101752119B1 KR 101752119 B1 KR101752119 B1 KR 101752119B1 KR 1020167021778 A KR1020167021778 A KR 1020167021778A KR 20167021778 A KR20167021778 A KR 20167021778A KR 101752119 B1 KR101752119 B1 KR 101752119B1
Authority
KR
South Korea
Prior art keywords
hot word
computing
value
utterance
possibility
Prior art date
Application number
KR1020167021778A
Other languages
Korean (ko)
Other versions
KR20160101198A (en
Inventor
매튜 샤리피
Original Assignee
구글 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US201462061830P priority Critical
Priority to US62/061,830 priority
Priority to US14/675,932 priority
Priority to US14/675,932 priority patent/US9318107B1/en
Application filed by 구글 인코포레이티드 filed Critical 구글 인코포레이티드
Priority to PCT/US2015/052860 priority patent/WO2016057268A1/en
Publication of KR20160101198A publication Critical patent/KR20160101198A/en
Application granted granted Critical
Publication of KR101752119B1 publication Critical patent/KR101752119B1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/285Memory allocation or algorithm optimisation to reduce hardware requirements
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/01Assessment or evaluation of speech recognition systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/32Multiple recognisers used in sequence or in parallel; Score combination systems therefor, e.g. voting systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification
    • G10L17/22Interactive procedures; Man-machine interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Abstract

다수의 디바이스에서의 핫워드 검출을 위한, 컴퓨터 저장 매체에 인코딩된 컴퓨터 프로그램들을 포함하는, 방법들, 시스템들, 및 장치들이 개시된다. 일 양태에서, 방법은, 제1 컴퓨팅 디바이스에 의해, 발성에 대응하는 오디오 데이터를 수신하는 단계의 액션들을 포함한다. 이 액션들은 발성이 핫워드를 포함할 가능성에 대응하는 제1 값을 결정하는 단계를 더 포함한다. 이 액션들은 발성이 핫워드를 포함할 가능성에 대응하는 제2 값을 수신하는 단계 - 제2 값은 제2 컴퓨팅 디바이스에 의해 결정됨 - 를 더 포함한다. 이 액션들은 제1 값과 제2 값을 비교하는 단계를 더 포함한다. 이 액션들은 제1 값과 제2 값을 비교하는 것에 기초하여, 오디오 데이터에 대한 음성 인식 처리를 개시하는 단계를 더 포함한다.Methods, systems, and apparatus are disclosed that include computer programs encoded on a computer storage medium for hot word detection in multiple devices. In one aspect, a method includes actions of a step of receiving, by a first computing device, audio data corresponding to a utterance. These actions further include determining a first value corresponding to the likelihood that the utterance includes a hot word. The actions further comprising receiving a second value corresponding to the likelihood that the utterance includes a hot word, the second value being determined by the second computing device. These actions further include comparing the first value to the second value. These actions further include initiating a speech recognition process on the audio data based on comparing the first value and the second value.
Figure R1020167021778

Description

다수의 디바이스에서의 핫워드 검출{HOTWORD DETECTION ON MULTIPLE DEVICES}[0001] HOT WORD DETECTION ON MULTIPLE DEVICES [0002]
이 명세서는 일반적으로 사람이 말하고 있는 단어들을 인식하는 것, 다르게는 음성 인식이라고 불리는 것에 대한 시스템들 및 기법들에 관한 것이다.This specification generally relates to recognizing words that people are speaking, or systems and techniques for what is called speech recognition.
음성-사용가능(speech-enabled) 집 또는 다른 환경 - 즉, 사용자가 큰 소리로 쿼리(query) 또는 명령(command)을 말하기만 하면 되고 컴퓨터 기반 시스템이 쿼리를 처리하고 그에 응답하는 그리고/또는 명령이 수행되게 하는 것 - 의 현실이 우리 앞에 있다. 음성-사용가능 환경(예컨대, 집, 직장, 학교 등)은 환경의 다양한 방들 또는 구역들의 도처에 분포된 연결된 마이크 디바이스들의 네트워크를 이용하여 구현될 수 있다. 그러한 마이크들의 네트워크를 통하여, 사용자는 그의 앞에 또는 심지어 근처에 컴퓨터 또는 다른 디바이스를 가질 필요 없이 환경 내의 본질적으로 어느 곳으로부터든 구두로 시스템에 쿼리하는 능력을 가진다. 예를 들어, 주방에서 요리하는 동안, 사용자는 시스템에 "3개의 컵에 몇 밀리리터인가(how many milliliters in three cups)?"를 물어볼 수 있고, 이에 응답하여, 시스템으로부터, 예컨대, 합성된 음성 출력의 형태로, 응답을 받을 수 있다. 대안적으로, 사용자는 시스템에, "가장 가까운 주유소가 언제 문을 닫는가(when does my nearest gas station close)" 또는 외출을 준비하면서 "오늘 코트를 입어야 하는가(should I wear a coat today)?"와 같은 질문들을 물어볼 수 있다.A speech-enabled home or other environment - that is, a user simply has to say loudly a query or command, and the computer-based system processes and responds to the query and / The reality of what is being done - before us. A voice-enabled environment (e.g., home, workplace, school, etc.) may be implemented using a network of connected microphone devices distributed throughout various rooms or areas of the environment. Through the network of such microphones, the user has the ability to query the system verbally from virtually anywhere in the environment without having to have a computer or other device in front of or even near it. For example, during cooking in the kitchen, the user may ask the system "how many milliliters in three cups ?," and in response, In the form of a response, you can receive. Alternatively, the user may ask the system to "close when the nearest gas station closes" or "should I wear a coat today?" You can ask the same questions.
또한, 사용자는 사용자의 개인 정보와 관련 있는, 쿼리를 시스템에 물어보고/물어보거나 명령을 내릴 수 있다. 예를 들어, 사용자는 시스템에 "John과의 미팅이 언제인가(when is my meeting with John)?"를 물어보거나 시스템에 "내가 집에 돌아왔을 때 John에게 통화하는 것을 상기시켜 달라(remind me to call John when I get back home)"고 명령할 수 있다.In addition, the user can ask / query or issue a query to the system, which is related to the user's personal information. For example, the user might ask the system to "When is my meeting with John?" Or remind the system "Remind me to call John when I get home. call John when I get back home) ".
음성-사용가능 시스템에 대해, 사용자가 시스템과 상호 작용하는 방식은, 전적으로 그런 것은 아닐지라도, 주로 음성 입력을 이용하도록 설계된다. 따라서, 시스템을 향하고 있지 않은 것들을 포함하여 주위 환경에서 이루어진 모든 발성들을 잠재적으로 포착하는, 시스템은 임의의 주어진 발성이, 예컨대, 환경에 존재하는 개인을 향하고 있는 것이 아니라 시스템을 향하고 있는 때를 판별하는 어떤 방법을 가져야만 한다. 이를 달성하는 한 가지 방법은, 환경 내의 사용자들 사이의 합의에 의해, 시스템의 주의를 환기시키기 위해 말해지는 미리 결정된 단어로서 예약되는, 핫워드(hotword)를 이용하는 것이다. 예시적인 환경에서, 시스템의 주의를 환기시키기 위해 사용되는 핫워드는 "OK 컴퓨터"라는 단어들이다. 따라서, "OK 컴퓨터"라는 단어들이 말해질 때마다, 그것은 마이크에 의해 포착되어, 시스템에 전달되고, 시스템은 음성 인식 기법들을 수행하여 핫워드가 말해졌는지를 결정하고, 그렇다면, 뒤이은 명령 또는 쿼리를 기다린다. 따라서, 시스템을 향하는 발성들은 [핫워드] [쿼리]의 일반적인 형태를 가지며, 이 예에서 "핫워드"는 "OK 컴퓨터"이고 "쿼리"는 시스템에 의해, 단독으로 또는 네트워크를 통해 서버와 함께, 음성 인식되고, 구문 분석되고, 작용될 수 있는 임의의 질문, 명령, 선언, 또는 다른 요청일 수 있다.For voice-enabled systems, the manner in which the user interacts with the system is primarily designed to use voice input, although not entirely. Thus, a system that potentially captures all of the utterances made in the environment, including those that are not pointing to the system, determines that any given utterance is directed to the system rather than to an individual present in the environment It must have some way. One way to achieve this is to use a hotword, which is reserved as a predetermined word that is said to consume the system's attention, by agreement among users in the environment. In an exemplary environment, the hot words used to draw attention to the system are the words "OK computer ". Thus, whenever the words "OK computer" are said, it is picked up by the microphone and delivered to the system, and the system performs speech recognition techniques to determine if the hot word has been spoken, . Thus, the voices directed to the system have the general form of a [hot word] [query], in which the "hot word" is the "OK computer" and the "query" is the system, either alone or with the server , Speech, recognized, parsed, and / or acted upon by the user.
이 명세서에 기술된 주제의 하나의 혁신적인 양태에 따르면, 사용자 디바이스가 사용자에 의해 말해지는 발성을 수신한다. 상기 사용자 디바이스는 상기 발성이 핫워드를 포함하는지를 결정하고 상기 발성이 상기 핫워드를 포함할 가능성을 나타내는 핫워드 신뢰도 점수를 계산한다. 상기 사용자 디바이스는 이 점수를 근처에 있는 다른 사용자 디바이스들에 송신한다. 상기 다른 사용자 디바이스들은 동일한 발성을 수신했을 가능성이 있다. 상기 다른 사용자 디바이스들은 핫워드 신뢰도 점수를 계산하고 그들의 점수들을 상기 사용자 디바이스에 송신한다. 상기 사용자 디바이스는 상기 핫워드 신뢰도 점수들을 비교한다. 상기 사용자 디바이스가 가장 높은 핫워드 신뢰도 점수를 가진다면, 상기 사용자 디바이스는 활성으로 남아 있고 부가 오디오를 처리하기 위해 준비한다. 상기 사용자 디바이스가 가장 높은 핫워드 신뢰도 점수를 갖지 않는다면, 상기 사용자 디바이스는 상기 부가 오디오를 처리하지 않는다.According to one innovative aspect of the subject matter described in this specification, the user device receives the utterance spoken by the user. The user device determines whether the utterance includes a hot word and calculates a hot word confidence score indicating the likelihood that the utterance includes the hot word. The user device sends the score to other nearby user devices. The other user devices may have received the same utterance. The other user devices calculate hot word reliability scores and transmit their scores to the user device. The user device compares the hotword reliability scores. If the user device has the highest hot word reliability score, the user device remains active and prepares for processing additional audio. If the user device does not have the highest hot word reliability score, the user device does not process the additional audio.
일반적으로, 이 명세서에 기술된 주제의 또 다른 혁신적인 양태는, 제1 컴퓨팅 디바이스에 의해, 발성에 대응하는 오디오 데이터를 수신하는 단계; 상기 발성이 핫워드를 포함할 가능성에 대응하는 제1 값을 결정하는 단계; 상기 발성이 핫워드를 포함할 가능성에 대응하는 제2 값을 수신하는 단계 - 상기 제2 값은 제2 컴퓨팅 디바이스에 의해 결정됨 -; 상기 제1 값과 상기 제2 값을 비교하는 단계; 및 상기 제1 값과 상기 제2 값을 비교하는 것에 기초하여, 상기 오디오 데이터에 대한 음성 인식 처리를 개시하는 단계의 액션들을 포함하는 방법들에서 구현될 수 있다.In general, another innovative aspect of the subject matter described herein is a method comprising: receiving, by a first computing device, audio data corresponding to speech; Determining a first value corresponding to the likelihood that the utterance includes a hot word; Receiving a second value corresponding to a likelihood that the utterance includes a hot word, the second value being determined by a second computing device; Comparing the first value with the second value; And initiating speech recognition processing on the audio data based on comparing the first value and the second value.
이들 및 다른 실시예들은 각각 임의로 다음의 특징들 중 하나 이상을 포함할 수 있다. 상기 액션들은 상기 제1 값이 핫워드 점수 임계치를 만족시키는 것을 결정하는 단계를 더 포함한다. 상기 액션들은 상기 제1 값을 상기 제2 컴퓨팅 디바이스에 송신하는 단계를 더 포함한다. 상기 액션들은 상기 제1 값과 상기 제2 값을 비교하는 것에 기초하여 상기 제1 컴퓨팅 디바이스의 활성화 상태를 결정하는 단계를 더 포함한다. 상기 제1 값과 상기 제2 값을 비교하는 것에 기초하여 상기 제1 컴퓨팅 디바이스의 활성화 상태를 결정하는 단계의 액션은 상기 활성화 상태가 활성 상태인 것을 결정하는 단계를 더 포함한다. 상기 액션들은, 상기 제1 컴퓨팅 디바이스에 의해, 부가 발성에 대응하는 부가 오디오 데이터를 수신하는 단계; 상기 부가 발성이 상기 핫워드를 포함할 가능성에 대응하는 제3 값을 결정하는 단계; 상기 발성이 상기 핫워드를 포함할 가능성에 대응하는 제4 값을 수신하는 단계 - 상기 제4 값은 제3 컴퓨팅 디바이스에 의해 결정됨 -; 상기 제1 값과 상기 제2 값을 비교하는 단계; 및 상기 제1 값과 상기 제2 값을 비교하는 것에 기초하여, 상기 제1 컴퓨팅 디바이스의 상기 활성화 상태가 비활성 상태인 것을 결정하는 단계를 더 포함한다.These and other embodiments may each optionally include one or more of the following features. The actions further comprise determining that the first value satisfies a hot word score threshold. The actions further comprising transmitting the first value to the second computing device. The actions further comprise determining an activation state of the first computing device based on comparing the first value with the second value. The act of determining an activation state of the first computing device based on comparing the first value with the second value further comprises determining that the activation state is active. The actions comprising: receiving, by the first computing device, additional audio data corresponding to additional speech; Determining a third value corresponding to the likelihood that the additive utterance includes the hot word; Receiving a fourth value corresponding to the likelihood that the utterance includes the hot word, the fourth value being determined by a third computing device; Comparing the first value with the second value; And determining that the activated state of the first computing device is inactive, based on comparing the first value to the second value.
상기 제1 값을 상기 제2 컴퓨팅 디바이스에 송신하는 단계의 액션은 서버에, 로컬 네트워크를 통하여, 또는 단거리 무선(short range radio)을 통하여, 상기 제1 값을 송신하는 단계를 더 포함한다. 상기 발성이 상기 핫워드를 포함할 가능성에 대응하는 제2 값을 수신하는 단계 - 상기 제2 값은 제2 컴퓨팅 디바이스에 의해 결정됨 - 의 액션은 상기 서버로부터, 상기 로컬 네트워크를 통하여, 또는 상기 단거리 무선을 통하여, 제2 컴퓨팅 디바이스에 의해 결정된 제2 값을 수신하는 단계를 더 포함한다. 상기 액션들은 상기 제2 컴퓨팅 디바이스를 식별하는 단계; 및 상기 제2 컴퓨팅 디바이스가 상기 핫워드를 포함하는 발성들에 응답하도록 구성된 것을 결정하는 단계를 더 포함한다. 상기 제1 값을 상기 제2 컴퓨팅 디바이스에 송신하는 단계의 액션은 상기 제1 컴퓨팅 디바이스에 대한 제1 식별자를 송신하는 단계를 더 포함한다. 상기 발성이 상기 핫워드를 포함할 가능성에 대응하는 제2 값을 수신하는 단계 - 상기 제2 값은 제2 컴퓨팅 디바이스에 의해 결정됨 - 의 액션은 상기 제2 컴퓨팅 디바이스에 대한 제2 식별자를 수신하는 단계를 더 포함한다. 상기 활성화 상태가 활성 상태인 것을 결정하는 단계의 액션은 상기 발성에 대응하는 상기 오디오 데이터를 수신하는 단계 이후 특정량의 시간이 경과한 것을 결정하는 단계를 더 포함한다. 상기 액션들은 상기 활성화 상태가 활성 상태인 것을 결정하는 것에 기초하여, 특정량의 시간 동안, 상기 제1 값을 계속 송신하는 단계를 더 포함한다.The act of transmitting the first value to the second computing device further comprises transmitting the first value to a server, via a local network, or via a short range radio. Receiving a second value corresponding to the likelihood that the utterance includes the hot word, wherein the second value is determined by the second computing device, is received from the server, through the local network, And receiving, via radio, a second value determined by the second computing device. The actions identifying the second computing device; And determining that the second computing device is configured to respond to voices comprising the hot word. Wherein the act of sending the first value to the second computing device further comprises transmitting a first identifier for the first computing device. Receiving a second value corresponding to the likelihood that the utterance includes the hot word, wherein the second value is determined by a second computing device, receives a second identifier for the second computing device . The action of determining that the activation state is active further comprises determining that a certain amount of time has elapsed since the step of receiving the audio data corresponding to the speech. The actions further comprise continuing to transmit the first value for a specified amount of time based on determining that the activation state is active.
이 양태의 다른 실시예들은, 상기 방법들의 동작들을 수행하도록 각각 구성된, 대응하는 시스템들, 장치, 및 컴퓨터 저장 디바이스들에 기록된 컴퓨터 프로그램들을 포함한다.Other embodiments of this aspect include corresponding systems, devices, and computer programs recorded on computer storage devices, each configured to perform the operations of the methods.
이 명세서에 기술된 주제의 특정 실시예들은 다음의 이점들 중 하나 이상을 실현하도록 구현될 수 있다. 다수의 디바이스들이 핫워드를 검출할 수 있고 하나의 디바이스만이 상기 핫워드에 응답할 것이다.Certain embodiments of the subject matter described in this specification may be implemented to realize one or more of the following advantages. Multiple devices can detect a hot word and only one device will respond to the hot word.
이 명세서에 기술된 주제의 하나 이상의 실시예들의 세부 사항들이 첨부 도면들 및 하기의 설명에서 제시된다. 이 주제의 다른 특징들, 양태들, 및 이점들은 설명, 도면들, 및 청구항들로부터 명백해질 것이다.The details of one or more embodiments of the subject matter described in this specification are set forth in the accompanying drawings and the description below. Other features, aspects, and advantages of the subject matter will become apparent from the description, drawings, and claims.
도 1은 핫워드 검출을 위한 예시적인 시스템의 도면이다.
도 2는 핫워드 검출을 위한 예시적인 프로세스의 도면이다.
도 3은 컴퓨팅 디바이스 및 모바일 컴퓨팅 디바이스의 예를 보여준다.
다양한 도면들에서 동일한 참조 번호들 및 명칭들은 동일한 요소들을 나타낸다.
Figure 1 is a drawing of an exemplary system for hot word detection.
Figure 2 is a drawing of an exemplary process for hot word detection.
Figure 3 shows an example of a computing device and a mobile computing device.
In the various figures, like reference numerals and names denote like elements.
너무 멀지 않은 미래에, 많은 디바이스들이 계속해서 핫워드들을 청취하고 있을 수 있는 것이 가능하다. 단일 사용자가 그들의 음성에 응답하도록 훈련된 다수의 디바이스들(예컨대, 전화, 태블릿, TV 등)을 가지는 경우, 사용자가 어드레싱하려고 의도하는 것들일 가능성이 없는 디바이스들에서 핫워드들에 응답하는 것을 억제하는 것이 바람직할 수 있다. 예를 들어, 사용자가 하나의 디바이스를 향하여 핫워드를 말할 때, 그들의 다른 디바이스들 중 임의의 것이 근처에 있다면, 그것들도 음성 검색을 트리거할 가능성이 있다. 많은 경우에, 이것은 사용자의 의도가 아니다. 따라서, 단일 디바이스, 구체적으로 사용자가 말하고 있는 대상인 디바이스만이 트리거한다면 유리할 수 있다. 본 명세서는 핫워드에 반응하기 위한 정확한 디바이스를 선택하고, 다른 디바이스들에서의 상기 핫워드에 대한 반응을 억제하는 문제를 다룬다.In the not too distant future, it is possible that many devices can still be listening to hot words. When a single user has a plurality of devices (e.g., telephone, tablet, TV, etc.) trained to respond to their voice, it inhibits responding to hot words in devices that are not likely to be what the user intends to address May be desirable. For example, when a user speaks a hot word towards a device, if any of their other devices are nearby, they are also likely to trigger a voice search. In many cases, this is not the intent of the user. Thus, it can be advantageous if only a single device, specifically a device that is the subject of what the user is talking about triggers. The present specification deals with the problem of selecting the correct device for responding to a hot word and suppressing the reaction to the hot word at other devices.
도 1은 핫워드 검출을 위한 예시적인 시스템(100)의 도면이다. 일반적으로, 시스템(100)은 사용자(102)가 컴퓨팅 디바이스들(106, 108, 및 110)의 마이크들에 의해 검출되는 발성(104)을 말하는 것을 보여준다. 컴퓨팅 디바이스들(106, 108, 및 110)은 상기 발성(104)을 처리하여 상기 발성(104)이 핫워드를 포함할 가능성을 결정한다. 컴퓨팅 디바이스들(106, 108, 및 110)은 각각 상기 발성(104)이 핫워드를 포함할 가능성을 나타내는 데이터를 서로에게 송신한다. 컴퓨팅 디바이스들(106, 108, 및 110)은 각각 그 데이터를 비교하고, 상기 발성(104)이 핫워드를 포함할 가장 높은 가능성을 계산한 컴퓨팅 디바이스는 상기 발성(104)에 대한 음성 인식을 개시한다. 상기 발성(104)이 핫워드를 포함할 가장 높은 가능성을 계산하지 않은 컴퓨팅 디바이스들은 상기 발성(104) 이후의 음성에 대한 음성 인식을 개시하지 않는다.1 is a diagram of an exemplary system 100 for hot word detection. Generally, the system 100 shows that the user 102 speaks voices 104 that are detected by the microphones of the computing devices 106, 108, and 110. Computing devices 106, 108, and 110 process the utterance 104 to determine the likelihood that the utterance 104 includes a hot word. Computing devices 106, 108, and 110 each send data to each other that indicates the likelihood that the utterance 104 includes a hot word. Computing devices 106, 108, and 110 each compare the data and a computing device that computes the highest likelihood that the utterance 104 will include a hot word will initiate speech recognition for the utterance 104 do. Computing devices that have not computed the highest likelihood that the utterance 104 will include a hot word will not initiate speech recognition for the voice after the utterance 104. [
상기 발성(104)이 핫워드에 대응할 가능성을 나타내는 데이터를, 다른 컴퓨팅 디바이스에 송신하기 전에, 서로의 근처에 위치하는 컴퓨팅 디바이스들은 서로를 식별한다. 일부 구현들에서, 컴퓨팅 디바이스들은 핫워드에 응답하도록 구성된 다른 디바이스들을 찾아 로컬 네트워크를 검색하는 것에 의해 서로를 식별한다. 예를 들어, 컴퓨팅 디바이스(106)는 핫워드에 응답하도록 구성된 다른 디바이스들을 찾아 로컬 영역 네트워크를 검색하고 컴퓨팅 디바이스(108) 및 컴퓨팅 디바이스(110)를 식별할 수 있다.Computing devices located near each other identify each other before sending data to the other computing device indicating the likelihood that the utterance 104 will correspond to a hot word. In some implementations, the computing devices identify each other by searching the local network for other devices configured to respond to the hot words. For example, the computing device 106 may look for other devices configured to respond to hot words and search the local area network and identify the computing device 108 and the computing device 110.
일부 구현들에서, 컴퓨팅 디바이스들은 각각의 디바이스에 로그인되어 있는 사용자를 식별하는 것에 의해 핫워드에 응답하도록 구성된 다른 근처의 컴퓨팅 디바이스들을 식별한다. 예를 들어, 사용자(102)가 컴퓨팅 디바이스들(106, 108, 및 110)에 로그인되어 있다. 사용자(102)는 그 사용자의 손에 컴퓨팅 디바이스(106)를 가진다. 컴퓨팅 디바이스(108)는 테이블에 놓여 있고, 컴퓨팅 디바이스(110)는 근처의 벽에 위치하고 있다. 컴퓨팅 디바이스(106)는 컴퓨팅 디바이스들(108 및 110)을 검출하고, 각각의 컴퓨팅 디바이스는 사용자 식별자와 같은, 컴퓨팅 디바이스에 로그인되어 있는 사용자와 관련 있는 정보를 공유한다. 일부 구현들에서, 컴퓨팅 디바이스들은 화자 식별(speaker identification)을 통하여 동일한 사용자에 의해 핫워드가 말해질 때 응답하도록 구성된 컴퓨팅 디바이스들을 식별하는 것에 의해 핫워드에 응답하도록 구성된 다른 근처의 컴퓨팅 디바이스들을 식별할 수 있다. 예를 들어, 사용자(102)는 컴퓨팅 디바이스들(106, 108, 및 110)을 각각, 사용자(102)가 핫워드를 말할 때 사용자(102)의 음성에 응답하도록 구성하였다. 컴퓨팅 디바이스들은 사용자(102)에 대한 사용자 식별자를 각각의 다른 컴퓨팅 디바이스에 제공하는 것에 의해 화자 식별 정보를 공유한다. 일부 구현들에서, 컴퓨팅 디바이스들은 단거리 무선을 통하여 핫워드에 응답하도록 구성된 다른 컴퓨팅 디바이스들을 식별할 수 있다. 예를 들어, 컴퓨팅 디바이스(106)는 핫워드에 응답하도록 구성된 다른 컴퓨팅 디바이스들을 검색하는 신호를 단거리 무선을 통하여 송신할 수 있다. 컴퓨팅 디바이스들은 이러한 기법들 중 하나 또는 이들의 조합을 이용하여 핫워드에 응답하도록 구성된 다른 컴퓨팅 디바이스들을 식별할 수 있다In some implementations, the computing devices identify other nearby computing devices that are configured to respond to the hot words by identifying the user logged in to each device. For example, user 102 is logged into computing devices 106, 108, and 110. The user 102 has a computing device 106 at the user's hand. The computing device 108 is located on a table, and the computing device 110 is located on a nearby wall. Computing device 106 detects computing devices 108 and 110, and each computing device shares information related to a user logged into the computing device, such as a user identifier. In some implementations, the computing devices identify other nearby computing devices configured to respond to the hot word by identifying computing devices configured to respond when the hot word is spoken by the same user through speaker identification . For example, the user 102 has configured the computing devices 106, 108, and 110, respectively, to respond to the voice of the user 102 when the user 102 speaks a hot word. Computing devices share speaker identification information by providing a user identifier for user 102 to each other computing device. In some implementations, the computing devices may identify other computing devices configured to respond to hot words over short-range wireless. For example, the computing device 106 may transmit a signal over short-range radio to retrieve other computing devices configured to respond to a hot word. Computing devices may use one or a combination of these techniques to identify other computing devices configured to respond to hot words
컴퓨팅 디바이스들(106, 108, 및 110)이 핫워드에 응답하도록 구성된 다른 컴퓨팅 디바이스들을 식별하면, 컴퓨팅 디바이스들(106, 108, 및 110)은 식별된 컴퓨팅 디바이스들에 대한 디바이스 식별자들을 공유 및 저장한다. 식별자들은 디바이스의 타입, 디바이스의 IP 주소, MAC 주소, 사용자에 의해 디바이스에 주어진 이름, 또는 임의의 유사한 고유 식별자에 기초할 수 있다. 예를 들어, 컴퓨팅 디바이스(106)에 대한 디바이스 식별자(112)는 "전화(phone)"일 수 있다. 컴퓨팅 디바이스(108)에 대한 디바이스 식별자(114)는 "태블릿(tablet)"일 수 있다. 컴퓨팅 디바이스(110)에 대한 디바이스 식별자(116)는 "온도조절장치(thermostat)"일 수 있다. 컴퓨팅 디바이스들(106, 108, 및 110)은 핫워드에 응답하도록 구성된 다른 컴퓨팅 디바이스들에 대한 디바이스 식별자를 저장한다. 각각의 컴퓨팅 디바이스는 디바이스 그룹을 가지며 거기에 컴퓨팅 디바이스는 디바이스 식별자들을 저장한다. 예를 들어, 컴퓨팅 디바이스(106)는 컴퓨팅 디바이스(106)에 의해 계산된, 오디오 데이터가 핫워드를 포함할 가능성을 수신할 2개의 디바이스로서 "태블릿"과 "온도조절장치"를 열거하는 디바이스 그룹(118)을 가진다. 컴퓨팅 디바이스(108)는 컴퓨팅 디바이스(108)에 의해 계산된, 오디오 데이터가 핫워드를 포함할 가능성을 수신할 2개의 디바이스로서 "전화"와 "온도조절장치"를 열거하는 디바이스 그룹(120)을 가진다. 컴퓨팅 디바이스(110)는 컴퓨팅 디바이스(110)에 의해 계산된, 오디오 데이터가 핫워드를 포함할 가능성을 수신할 2개의 디바이스로서 "전화"와 "태블릿"을 열거하는 디바이스 그룹(122)을 가진다.Once computing devices 106, 108, and 110 have identified other computing devices configured to respond to hot words, computing devices 106, 108, and 110 may share and store device identifiers for identified computing devices do. The identifiers may be based on the type of device, the IP address of the device, the MAC address, the name given to the device by the user, or any similar unique identifier. For example, the device identifier 112 for the computing device 106 may be a "phone. &Quot; The device identifier 114 for the computing device 108 may be a "tablet ". The device identifier 116 for the computing device 110 may be a "thermostat ". Computing devices 106, 108, and 110 store device identifiers for other computing devices configured to respond to hot words. Each computing device has a device group in which the computing device stores device identifiers. For example, the computing device 106 may be a device group that enumerates "tablets" and "thermostats" as two devices that are calculated by the computing device 106 and that will receive the possibility that the audio data contains hot words (118). The computing device 108 may be configured to include a group of devices 120 that enumerate the "phone" and "thermostat" as two devices, which are calculated by the computing device 108 and that will receive the possibility that the audio data contains a hot word I have. Computing device 110 has a device group 122 that enumerates "phone" and "tablet" as two devices, calculated by computing device 110, to receive the possibility that the audio data contains a hot word.
사용자(102)가 "OK 컴퓨터"라는 발성(104)을 말할 때, 사용자(102)의 근처에 마이크를 가진 각각의 컴퓨팅 디바이스는 발성(104)을 검출하고 처리한다. 각각의 컴퓨팅 디바이스는 마이크와 같은 오디오 입력 디바이스를 통하여 발성(104)을 검출한다. 각각의 마이크는 오디오 데이터를 각자의 오디오 서브시스템에 제공한다. 각자의 오디오 서브시스템은 오디오 데이터를 버퍼링하고, 필터링하고, 디지털화한다. 일부 구현들에서, 각각의 컴퓨팅 디바이스는 또한 오디오 데이터에 대한 엔드포인팅 및 화자 식별을 수행할 수 있다. 오디오 서브시스템은 처리된 오디오 데이터를 핫워더(hotworder)에 제공한다. 핫워더는 처리된 오디오 데이터를 알려진 핫워드 데이터와 비교하고 발성(104)이 핫워드에 대응할 가능성을 나타내는 신뢰도 점수를 계산한다. 핫워더는 처리된 오디오 데이터로부터, 필터뱅크 에너지(filterbank energy) 또는 멜 주파수 켑스트럼 계수(mel-frequency cepstral coefficient)와 같은 오디오 특징들을 추출할 수 있다. 핫워더는 분류 윈도우(classifying window)들을 이용하여, 예를 들어 서포트 벡터 머신(support vector machine) 또는 신경망(neural network)을 이용하는 것에 의해 이러한 오디오 특징들을 처리할 수 있다. 오디오 특징들의 처리에 기초하여, 핫워더(124)는 0.85의 신뢰도 점수를 계산하고, 핫워더(126)는 0.6의 신뢰도 점수를 계산하고, 핫워더(128)는 0.45의 신뢰도 점수를 계산한다. 일부 구현들에서, 신뢰도 점수는 0 내지 1의 스케일로 정규화될 수 있고, 더 높은 숫자는 발성(104)이 핫워드를 포함할 더 큰 신뢰도를 나타낸다.When the user 102 speaks a vocalization 104 of "OK computer ", each computing device with a microphone near the user 102 detects and processes the vocalization 104. [ Each computing device detects vocalization 104 through an audio input device, such as a microphone. Each microphone provides audio data to its audio subsystem. Each audio subsystem buffers, filters, and digitizes audio data. In some implementations, each computing device may also perform endpointing and speaker identification for audio data. The audio subsystem provides processed audio data to a hotworder. HotWorder compares the processed audio data to known hotword data and calculates a confidence score indicating the likelihood that utterance 104 will correspond to the hot word. Hotwaders can extract audio features, such as filterbank energy or mel-frequency cepstral coefficient, from the processed audio data. Hotwaders can process these audio features by using classifying windows, for example, using a support vector machine or neural network. Based on the processing of the audio features, HotWonder 124 calculates a reliability score of 0.85, HotWonder 126 calculates a reliability score of 0.6, and HotWonder 128 calculates a reliability score of 0.45. In some implementations, the confidence score can be normalized to a scale of 0 to 1, and a higher number indicates greater confidence that vocalization 104 will include the hot word.
각각의 컴퓨팅 디바이스는 각자의 신뢰도 점수 데이터 패킷을 디바이스 그룹 내의 다른 컴퓨팅 디바이스들에 송신한다. 각각의 신뢰도 점수 데이터 패킷은 각자의 신뢰도 점수 및 컴퓨팅 디바이스에 대한 각자의 디바이스 식별자를 포함한다. 예를 들어, 컴퓨팅 디바이스(106)는 0.85의 신뢰도 점수 및 디바이스 식별자 "전화"를 포함하는 신뢰도 점수 데이터 패킷(130)을 디바이스 그룹(118) 내의 컴퓨팅 디바이스들인, 컴퓨팅 디바이스들(108 및 110)에 송신한다. 컴퓨팅 디바이스(108)는 0.6의 신뢰도 점수 및 디바이스 식별자 "태블릿"을 포함하는 신뢰도 점수 데이터 패킷(132)을 디바이스 그룹(120) 내의 컴퓨팅 디바이스들인, 컴퓨팅 디바이스들(106 및 110)에 송신한다. 컴퓨팅 디바이스(110)는 0.45의 신뢰도 점수 및 디바이스 식별자 "온도조절장치"를 포함하는 신뢰도 점수 데이터 패킷(134)을 디바이스 그룹(118) 내의 컴퓨팅 디바이스들인, 컴퓨팅 디바이스들(106 및 108)에 송신한다.Each computing device sends its own reliability score data packet to the other computing devices in the device group. Each reliability score data packet includes a respective reliability score and a respective device identifier for the computing device. For example, the computing device 106 may send a reliability score data packet 130 containing a reliability score of 0.85 and a device identifier "telephone " to the computing devices 108 and 110, which are computing devices in the device group 118 . The computing device 108 sends a confidence score data packet 132 containing a confidence score of 0.6 and a device identifier "tablet " to the computing devices 106 and 110, which are computing devices in the device group 120. The computing device 110 sends a reliability point data packet 134 containing a reliability score of 0.45 and a device identifier "temperature controller" to the computing devices 106 and 108, which are computing devices in the device group 118 .
일부 구현들에서, 컴퓨팅 디바이스는 신뢰도 점수가 핫워드 점수 임계치를 만족시키면 신뢰도 점수 데이터 패킷을 송신할 수 있다. 예를 들어, 핫워드 점수 임계치가 0.5이면, 컴퓨팅 디바이스(110)는 신뢰도 점수 데이터 패킷(134)을 디바이스 그룹(122) 내의 다른 컴퓨팅 디바이스들에 송신하지 않을 것이다. 컴퓨팅 디바이스들(106 및 108)은 여전히 신뢰도 점수 데이터 패킷들(130 및 132)을, 각각, 디바이스 그룹들(118 및 120) 내의 컴퓨팅 디바이스들에 송신할 것이다.In some implementations, the computing device may transmit a confidence point data packet if the confidence score meets a hot word score threshold. For example, if the hotword score threshold is 0.5, computing device 110 will not send confidence score data packet 134 to other computing devices in device group 122. Computing devices 106 and 108 will still send confidence point data packets 130 and 132 to computing devices in device groups 118 and 120, respectively.
일부 구현들에서, 신뢰도 점수 데이터 패킷을 송신하는 컴퓨팅 디바이스는 신뢰도 점수 데이터 패킷을 다른 컴퓨팅 디바이스들에 직접 송신할 수 있다. 예를 들어, 컴퓨팅 디바이스(106)는 신뢰도 점수 데이터 패킷(130)을 컴퓨팅 디바이스들(108 및 110)에 단거리 무선을 통하여 송신할 수 있다. 2개의 컴퓨팅 디바이스 사이에 사용되는 통신 프로토콜은 유니버설 플러그 앤 플레이(universal plug and play)일 수 있다. 일부 구현들에서, 신뢰도 점수 데이터 패킷을 송신하는 컴퓨팅 디바이스는 신뢰도 점수 데이터 패킷을 브로드캐스트할 수 있다. 이 경우, 신뢰도 점수 데이터 패킷은 디바이스 그룹 내의 컴퓨팅 디바이스들에 의해 그리고 다른 컴퓨팅 디바이스들에 의해 수신될 수 있다. 일부 구현들에서, 신뢰도 점수 데이터 패킷을 송신하는 컴퓨팅 디바이스는 신뢰도 점수 데이터 패킷을 서버에 송신할 수 있고, 그 후 서버는 신뢰도 점수 데이터 패킷을 디바이스 그룹 내의 컴퓨팅 디바이스들에 송신한다. 서버는 컴퓨팅 디바이스들의 로컬 영역 네트워크 내에 위치하거나 인터넷을 통하여 액세스 가능할 수 있다. 예를 들어, 컴퓨팅 디바이스(108)는 신뢰도 점수 데이터 패킷(132) 및 디바이스 그룹(120) 내의 컴퓨팅 디바이스들의 목록을 서버에 송신한다. 서버는 신뢰도 점수 데이터 패킷(132)을 컴퓨팅 디바이스(106 및 110)에 송신한다. 컴퓨팅 디바이스가 신뢰도 점수 데이터 패킷을 다른 컴퓨팅 디바이스에 송신하는 경우에, 수신 컴퓨팅 디바이스는 수신 컴퓨팅 디바이스가 신뢰도 점수 데이터 패킷을 수신했다는 확인을 회신할 수 있다.In some implementations, the computing device transmitting the reliability point data packet may send the reliability point data packet directly to the other computing devices. For example, the computing device 106 may transmit the confidence score data packet 130 to the computing devices 108 and 110 over short-range wireless. The communication protocol used between the two computing devices may be a universal plug and play. In some implementations, the computing device transmitting the reliability point data packet may broadcast the reliability point data packet. In this case, the confidence score data packet may be received by the computing devices in the device group and by other computing devices. In some implementations, the computing device transmitting the reliability point data packet may send a reliability point data packet to the server, and then the server sends the reliability point data packet to the computing devices in the device group. The server may be located within the local area network of computing devices or may be accessible via the Internet. For example, the computing device 108 sends a reliability score data packet 132 and a list of computing devices in the device group 120 to the server. The server sends the confidence score data packet 132 to the computing devices 106 and 110. In case the computing device sends a reliability point data packet to another computing device, the receiving computing device may return confirmation that the receiving computing device has received the reliability point data packet.
각각의 컴퓨팅 디바이스는 점수 비교기를 이용하여 컴퓨팅 디바이스가 수신한 핫워드 신뢰도 점수들을 비교한다. 예를 들어, 컴퓨팅 디바이스(106)는 0.85의 핫워드 신뢰도 점수를 계산하였고 0.6 및 0.45의 핫워드 신뢰도 점수들을 수신하였다. 이 경우, 점수 비교기(136)는 3개의 점수를 비교하고 0.85의 점수를 가장 높은 것으로 식별한다. 컴퓨팅 디바이스들(108 및 110)에 대해, 점수 비교기들(138 및 140)은 컴퓨팅 디바이스(106)에 대응하는 0.85의 점수를 가장 높은 것으로 식별하는, 유사한 결론들에 도달한다.Each computing device uses the score comparator to compare the hotword reliability scores received by the computing device. For example, the computing device 106 computed a hot word reliability score of 0.85 and received hot word reliability scores of 0.6 and 0.45. In this case, the score comparator 136 compares the three scores and identifies the highest score of 0.85. For computing devices 108 and 110, score comparators 138 and 140 arrive at similar conclusions that identify the highest score of 0.85 corresponding to computing device 106.
그 자신의 핫워드 신뢰도 점수가 가장 높은 것을 결정하는 컴퓨팅 디바이스는 핫워드 발성 이후의 음성 데이터에 대한 음성 인식을 개시한다. 예를 들어, 사용자는 "OK 컴퓨터"를 말할 수 있고, 컴퓨팅 디바이스(106)는 그것이 가장 높은 핫워드 신뢰도 점수를 가지는 것을 결정할 수 있다. 컴퓨팅 디바이스(106)는 핫워드 이후에 수신된 오디오 데이터에 대한 음성 인식을 개시할 것이다. 사용자가 "Alice 호출(call Alice)"을 말하면, 컴퓨팅 디바이스(106)는 발성을 처리하고 적절한 명령을 실행할 것이다. 일부 구현들에서, 핫워드를 수신하는 것은 핫워드를 수신하는 컴퓨팅 디바이스들로 하여금 슬립(sleep) 상태로부터 활성화하게 할 수 있다. 이 경우, 가장 높은 핫워드 신뢰도 점수를 가진 컴퓨팅 디바이스는 어웨이크(awake) 상태에 남아 있는 반면 가장 높은 핫워드 신뢰도 점수를 갖지 않는 다른 컴퓨팅 디바이스들은 핫워드 발성 이후의 음성 데이터를 처리하지 않고 슬립 상태에 들어간다.A computing device that determines that its own hot word reliability score is highest will initiate voice recognition for voice data after hot word utterance. For example, the user may speak of an "OK computer ", and the computing device 106 may determine that it has the highest hot word reliability score. The computing device 106 will initiate speech recognition for the audio data received after the hot word. If the user speaks an "Alice call, " the computing device 106 will process the utterance and execute the appropriate command. In some implementations, receiving a hot word may cause the computing devices receiving the hot word to activate from a sleep state. In this case, the computing device with the highest hot word reliability score remains in the awake state, while other computing devices that do not have the highest hot word reliability score do not process the voice data after hot word utterance, ≪ / RTI >
도 1에 예시된 바와 같이, 점수 비교기(136)는 컴퓨팅 디바이스(106)에 대응하는 핫워드 신뢰도 점수를 가장 높은 것으로 식별하였다. 그러므로, 디바이스 상태(142)는 "어웨이크"이다. 점수 비교기들(138 및 140)도 컴퓨팅 디바이스(106)에 대응하는 핫워드 신뢰도 점수를 가장 높은 것으로 식별하였다. 그러므로, 디바이스 상태들(144 및 146)은 "슬립(asleep)"이다. 일부 구현들에서, 컴퓨팅 디바이스의 활성화 상태는 영향을 받지 않을 수 있다. 예를 들어, 사용자(102)는 컴퓨팅 디바이스(108)에서 영화를 시청중이고 사용자의 손에 컴퓨팅 디바이스(106)를 가질 수 있다. 사용자(102)가 "OK 컴퓨터"를 말할 때, 컴퓨팅 디바이스(106)는, 가장 높은 핫워드 신뢰도 점수를 가지고 있기 때문에, 핫워드 이후의 오디오 데이터에 대한 음성 인식을 개시한다. 컴퓨팅 디바이스(108)는 핫워드 이후의 오디오 데이터에 대한 음성 인식을 개시하지 않고, 계속 영화를 재생한다.As illustrated in FIG. 1, the score comparator 136 has identified the hotword reliability score corresponding to the computing device 106 as the highest. Therefore, the device state 142 is "awake ". Score comparators 138 and 140 also identified the hotword reliability score corresponding to computing device 106 as the highest. Therefore, device states 144 and 146 are "asleep ". In some implementations, the activation state of the computing device may not be affected. For example, the user 102 may be viewing a movie at the computing device 108 and have the computing device 106 in the hands of the user. When the user 102 speaks an "OK computer ", the computing device 106 initiates speech recognition for audio data after the hot word since it has the highest hot word reliability score. The computing device 108 does not initiate speech recognition for the audio data after the hot word and continues to play back the movie.
일부 구현들에서, 그것이 가장 높은 핫워드 신뢰도 점수를 가지는 것을 결정하는 컴퓨팅 디바이스는 핫워드 이후의 음성에 대한 음성 인식의 수행을 시작하기 전에 특정량의 시간 동안 기다린다. 이렇게 하는 것은 가장 높은 핫워드 신뢰도 점수를 계산한 컴퓨팅 디바이스가 더 높은 핫워드 신뢰도 점수를 기다리지 않고 핫워드 이후의 음성에 대한 음성 인식의 수행을 시작하는 것을 허용한다. 예시하자면, 컴퓨팅 디바이스(106)의 점수 비교기(136)는 컴퓨팅 디바이스(108 및 110)로부터, 각각, 0.6 및 0.45의 핫워드 신뢰도 점수들뿐만 아니라, 핫워더(124)로부터 0.85의 핫워드 신뢰도 점수를 수신하였다. 핫워더(124)가 "Ok 컴퓨터" 오디오 데이터의 핫워드 신뢰도 점수를 계산하는 때로부터, 컴퓨팅 디바이스(106)는 핫워드 이후의 음성에 대한 음성 인식을 수행하기 전에 500 밀리초를 기다린다. 점수 비교기가 더 높은 점수를 수신하는 경우에, 컴퓨팅 디바이스는 디바이스 상태를 "슬립"으로 설정하기 전에 특정량의 시간 동안 기다리지 않을 수 있다. 예를 들어, 컴퓨팅 디바이스(108)의 핫워더(126)는 0.6의 핫워드 신뢰도 점수를 계산하고 0.85 및 0.45의 핫워드 신뢰도 점수들을 수신한다. 컴퓨팅 디바이스(108)가 0.85의 핫워드 신뢰도 점수를 수신하면, 컴퓨팅 디바이스(108)는 디바이스 상태(144)를 "슬립"으로 설정할 수 있다. 이것은 컴퓨팅 디바이스(108)가 핫워더(126)가 0.6의 핫워드 신뢰도 점수를 계산한 후에 특정량의 시간 내에 0.85의 핫워드 신뢰도 점수를 수신하는 것을 가정한다.In some implementations, the computing device that determines that it has the highest hot word reliability score waits for a certain amount of time before beginning to perform speech recognition on the voice after the hot word. This allows a computing device that computes the highest hot word reliability score to begin performing voice recognition for voice after hot words without waiting for a higher hot word reliability score. The point comparator 136 of the computing device 106 receives from the computing devices 108 and 110 the hot word reliability scores of 0.6 and 0.45 respectively as well as the hot word reliability scores of 0.85 from the hot worder 124 . Computing device 106 waits 500 milliseconds prior to performing speech recognition for speech after the hot word, from when hotware 124 computes the hot word reliability score of the "Ok computer" audio data. If the score comparator receives a higher score, the computing device may not wait for a certain amount of time before setting the device state to "sleep ". For example, the hotwonder 126 of the computing device 108 computes a hot word reliability score of 0.6 and receives hot word reliability scores of 0.85 and 0.45. When the computing device 108 receives a hot word reliability score of 0.85, the computing device 108 may set the device state 144 to "sleep ". This assumes that the computing device 108 receives a hotword reliability score of 0.85 within a certain amount of time after the hotword 126 computes a hotword reliability score of 0.6.
일부 구현들에서, 컴퓨팅 디바이스가 가장 높은 핫워드 신뢰도 점수를 가지는 경우, 컴퓨팅 디바이스는 다른 컴퓨팅 디바이스들이 신뢰도 점수 데이터 패킷을 수신하는 것을 보장하기 위해 특정량의 시간 동안 계속 신뢰도 점수 데이터 패킷을 브로드캐스트할 수 있다. 이 전략은 컴퓨팅 디바이스가 다른 컴퓨팅 디바이스로부터 신뢰도 점수 데이터 패킷을 수신하면 확인을 회신하는 경우에 가장 적용 가능할 것이다. 그러므로, 컴퓨팅 디바이스(106)가 신뢰도 점수 데이터 패킷(130)을 디바이스 그룹(118) 내의 컴퓨팅 디바이스들에 송신하고 500 밀리초와 같은 특정량의 시간 전에 확인을 수신하면, 컴퓨팅 디바이스(106)는 핫워드 이후의 음성에 대한 음성 인식의 수행을 시작할 수 있다. 컴퓨팅 디바이스들이 그들의 신뢰도 점수 데이터 패킷들을 브로드캐스트하고 확인을 기대하지 않는 경우에, 컴퓨팅 디바이스는 그들의 핫워드 신뢰도 점수들을, 500 밀리초와 같은 특정량의 시간 동안, 또는 컴퓨팅 디바이스가 어떤 것이든 맨 먼저 오는 더 높은 핫워드 신뢰도 점수를 수신할 때까지, 계속 브로드캐스트할 수 있다. 예를 들어, 컴퓨팅 디바이스(110)는 0.45의 핫워드 신뢰도 점수를 계산하고 신뢰도 점수 데이터 패킷(134)을 브로드캐스트하기 시작한다. 300 밀리초 후에, 컴퓨팅 디바이스(110)는 신뢰도 점수 데이터 패킷(130)을 수신하고 신뢰도 점수 데이터 패킷(134)의 브로드캐스트를 중지하는데, 그 이유는 신뢰도 점수 데이터 패킷(130)으로부터의 0.85의 핫워드 신뢰도 점수가 45의 핫워드 신뢰도 점수보다 높기 때문이다. 또 다른 브로드캐스트 예로서, 컴퓨팅 디바이스(106)는 0.45의 핫워드 신뢰도 점수를 계산하고 신뢰도 점수 데이터 패킷(130)을 브로드캐스트하기 시작한다. 500 밀리초 후에, 컴퓨팅 디바이스(106)는 신뢰도 점수 데이터 패킷(130)의 브로드캐스트를 중지하고 핫워드 이후의 음성에 대한 음성 인식의 수행을 시작한다. 컴퓨팅 디바이스(106)는 500 밀리초가 경과하기 전에 신뢰도 점수 데이터 패킷들(132 및 134)을 수신할 수 있지만, 신뢰도 점수 데이터 패킷들(132 및 134) 내의 핫워드 신뢰도 점수들이 0.85보다 낮기 때문에, 컴퓨팅 디바이스 500 밀리초가 경과한 후까지 계속 기다린다.In some implementations, if the computing device has the highest hot word reliability score, the computing device continues to broadcast a reliability point data packet for a certain amount of time to ensure that other computing devices receive the reliability point data packet . This strategy would be most applicable when the computing device replies acknowledgment when it receives a reliability point data packet from another computing device. Thus, if computing device 106 sends a confidence score data packet 130 to computing devices in device group 118 and receives confirmation before a certain amount of time, such as 500 milliseconds, computing device 106 is hot It is possible to start performing speech recognition on the speech after the word. In the event that the computing devices broadcast their reliability score data packets and do not expect to be acknowledged, the computing devices may determine their hot word reliability scores for a certain amount of time, such as 500 milliseconds, It can continue to broadcast until it receives a higher hot word reliability score. For example, the computing device 110 computes a hotword reliability score of 0.45 and begins to broadcast a reliability score data packet 134. After 300 milliseconds, the computing device 110 receives the reliability score data packet 130 and stops broadcasting the reliability score data packet 134 because the reliability score data packet 130 is 0.85 hot Because the word reliability score is higher than the hot word reliability score of 45. As another broadcast example, the computing device 106 calculates a hotword reliability score of 0.45 and begins to broadcast a reliability score data packet 130. [ After 500 milliseconds, the computing device 106 stops broadcasting the reliability score data packet 130 and begins performing voice recognition for the voice after the hot word. The computing device 106 may receive the reliability point data packets 132 and 134 before 500 milliseconds have elapsed but since the hot word reliability scores in the reliability point data packets 132 and 134 are lower than 0.85, Wait until device 500 milliseconds have elapsed.
일부 구현들에서, 컴퓨팅 디바이스가 더 높은 핫워드 신뢰도 점수를 수신할 때까지 컴퓨팅 디바이스는 핫워드 이후의 음성에 대한 음성 인식의 수행을 시작할 수 있다. 핫워더는 핫워드 신뢰도 점수를 계산하고, 핫워드 신뢰도 점수가 임계치를 만족시키면, 컴퓨팅 디바이스는 핫워드 이후의 음성에 대한 음성 인식을 수행한다. 컴퓨팅 디바이스는 음성 인식에 대한 어떤 지시도 사용자에 표시하지 않고 음성 인식을 수행할 수 있다. 이것은 그렇게 하는 것이 컴퓨팅 디바이스가 가장 높은 핫워드 점수를 계산한 것을 확인할 때까지 컴퓨팅 디바이스가 기다리는 경우보다 더 빠르게 컴퓨팅 디바이스가 음성 인식에 기초한 결과들을 사용자에게 표시하는 것을 허용하면서도 컴퓨팅 디바이스가 활성이 아니라는 인상을 사용자에 주기 때문에 바람직할 수 있다. 예로서, 컴퓨팅 디바이스(106)는 0.85의 핫워드 신뢰도 점수를 계산하고 핫워드 이후의 음성에 대한 음성 인식의 수행을 시작한다. 컴퓨팅 디바이스(106)는 신뢰도 점수 데이터 패킷들(132 및 134)을 수신하고 0.85의 핫워드 신뢰도 점수가 가장 높다는 것을 결정한다. 컴퓨팅 디바이스(106)는 핫워드 이후의 음성에 대한 음성 인식을 계속 수행하고 그 결과들을 사용자에 제시한다. 컴퓨팅 디바이스(108)에 대해, 핫워더(126)는 0.6의 핫워드 신뢰도 점수를 계산하고, 컴퓨팅 디바이스(108)는 사용자에 데이터를 표시하지 않고 핫워드 이후의 음성에 대한 음성 인식의 수행을 시작한다. 컴퓨팅 디바이스(108)가 0.85의 핫워드 신뢰도를 포함하는 신뢰도 점수 데이터 패킷(130)을 수신하면, 컴퓨팅 디바이스는 음성 인식의 수행을 중지한다. 어떤 데이터도 사용자에 표시되지 않고, 사용자는 컴퓨팅 디바이스(108)가 "슬립" 상태에 남아 있었다는 인상을 받을 가능성이 있다.In some implementations, the computing device may begin performing voice recognition for voice after hot words until the computing device receives a higher hot word reliability score. The hotword computes a hotword confidence score, and if the hotword confidence score satisfies the threshold, the computing device performs speech recognition for the voice after the hotword. The computing device may perform speech recognition without any indication to the user of speech recognition. This allows the computing device to display results based on speech recognition to the user more quickly than if the computing device waited until doing so verified that the computing device had calculated the highest hotword score, To the user. As an example, the computing device 106 calculates a hotword reliability score of 0.85 and begins performing speech recognition for the voice after the hot word. The computing device 106 receives the reliability score data packets 132 and 134 and determines that the hot word reliability score of 0.85 is the highest. The computing device 106 continues to perform speech recognition for the voice after the hot word and present the results to the user. For the computing device 108, the hotwirder 126 computes a hotword reliability score of 0.6, and the computing device 108 begins performing speech recognition for the voice after the hot word without displaying data to the user do. When the computing device 108 receives the reliability point data packet 130 that includes the hot word reliability of 0.85, the computing device stops performing voice recognition. No data is displayed to the user, and the user is likely to be impressed that the computing device 108 has remained in the "sleep" state.
일부 구현들에서, 핫워드가 말해진 후에 어떤 대기 시간도 피하기 위해, 핫워드의 끝 전에, 예컨대, 부분적인 핫워드에 대해 핫워더로부터 점수들이 보고될 수 있다. 예를 들어, 사용자가 "Ok 컴퓨터"를 말하고 있을 때, 컴퓨팅 디바이스는 사용자가 "OK 컴(OK comp)"을 말하는 것을 완료하면 부분적인 핫워드 신뢰도 점수를 계산할 수 있다. 그 후 컴퓨팅 디바이스는 부분적인 핫워드 신뢰도 점수를 다른 컴퓨팅 디바이스들과 공유할 수 있다. 가장 높은 부분적인 핫워드 신뢰도 점수를 가진 컴퓨팅 디바이스는 사용자의 음성을 계속 처리할 수 있다.In some implementations, scores may be reported from the HotWorder prior to the end of the hot word, e.g., a partial hot word, to avoid any wait time after the hot word is spoken. For example, when the user is speaking "Ok computer ", the computing device can calculate a partial hot word reliability score if the user completes saying" OK comp ". The computing device may then share a partial hotword reliability score with other computing devices. A computing device with the highest partial hot-word reliability score can continue to process the user's voice.
일부 구현들에서, 컴퓨팅 디바이스가 핫워드 신뢰도 점수가 임계치를 만족시키는 것을 결정할 때 컴퓨팅 디바이스는, 예컨대, 특정 주파수 또는 주파수 패턴의, 가청음 또는 불가청음을 낼 수 있다. 그 음은 다른 컴퓨팅 디바이스들에게, 컴퓨팅 디바이스가 핫워드 이후의 오디오 데이터를 계속 처리할 것임을 신호할 것이다. 다른 컴퓨팅 디바이스들은 이 음을 수신하고 오디오 데이터의 처리를 중단할 것이다. 예를 들어, 사용자는 "Ok 컴퓨터"를 말한다. 컴퓨팅 디바이스들 중 하나가 임계치 이상인 핫워드 신뢰도 점수를 계산한다. 컴퓨팅 디바이스가 핫워드 신뢰도 점수가 임계치 이상인 것을 결정하면, 컴퓨팅 디바이스는 18 킬로헤르츠의 음을 낸다. 사용자 근처에 있는 다른 컴퓨팅 디바이스들도 핫워드 신뢰도 점수를 계산중일 수 있고 다른 컴퓨팅 디바이스들이 음을 수신할 때 핫워드 신뢰도 점수를 계산하는 도중일 수 있다. 다른 컴퓨팅 디바이스들이 음을 수신할 때, 다른 컴퓨팅 디바이스들은 사용자의 음성의 처리를 중단한다. 일부 구현들에서, 컴퓨팅 디바이스는 가청음 또는 불가청음에 핫워드 신뢰도 점수를 인코딩할 수 있다. 예를 들어, 핫워드 신뢰도 점수가 0.5이면, 컴퓨팅 디바이스는 0.5의 점수를 인코딩하는 주파수 패턴을 포함하는 가청음 또는 불가청음을 생성할 수 있다.In some implementations, when a computing device determines that a hot word reliability score meets a threshold, the computing device may generate audible or noisy speech, e.g., at a particular frequency or frequency pattern. The tone will signal other computing devices that the computing device will continue to process the audio data after the hot word. Other computing devices will receive this tone and stop processing the audio data. For example, the user refers to "Ok computer ". One of the computing devices calculates a hotword reliability score that is above a threshold. If the computing device determines that the hotword reliability score is above the threshold, the computing device produces a tone of 18 kilohertz. Other computing devices in the vicinity of the user may be calculating the hotword reliability score and calculating the hotword reliability score when the other computing devices receive the tone. When the other computing devices receive the tone, the other computing devices stop processing the user's voice. In some implementations, the computing device may encode a hot word reliability score in an audible or audible tone. For example, if the hotword reliability score is 0.5, the computing device may generate an audible or an audible tone that includes a frequency pattern that encodes a score of 0.5.
일부 구현들에서, 컴퓨팅 디바이스들은 상이한 오디오 메트릭들을 이용하여, 사용자의 음성의 처리를 계속할 컴퓨팅 디바이스를 선택할 수 있다. 예를 들어, 컴퓨팅 디바이스들은 소리 세기(loudness)를 이용하여, 어느 컴퓨팅 디바이스가 사용자의 음성을 계속 처리할 것인지를 결정할 수 있다. 가장 큰 음성을 검출하는 컴퓨팅 디바이스는 사용자의 음성을 계속 처리할 수 있다. 또 다른 예로서, 현재 사용중인 또는 활성 디스플레이를 가진 컴퓨팅 디바이스는 다른 컴퓨팅 디바이스들에게, 그것이 핫워드를 검출하면 사용자의 음성의 계속 처리할 것임을 통지할 수 있다.In some implementations, the computing devices may use different audio metrics to select a computing device to continue processing the user's voice. For example, computing devices can use loudness to determine which computing device will continue to process the user's voice. A computing device that detects the largest voice can continue to process the user's voice. As another example, a computing device that is currently in use or has an active display may notify other computing devices that it will continue to process the user's voice if it detects a hot word.
일부 구현들에서, 사용자가 말하고 있는 동안 사용자의 근처에 있는 각각의 컴퓨팅 디바이스는 오디오 데이터를 수신하고 음성 인식을 개선하기 위해 그 오디오 데이터를 서버에 송신한다. 각각의 컴퓨팅 디바이스는 사용자의 음성에 대응하는 오디오 데이터를 수신할 수 있다. 하나의 컴퓨팅 디바이스만이 사용자에게 사용자의 음성을 처리하고 있는 것으로 보이겠지만, 각각의 컴퓨팅 디바이스가 오디오 데이터를 서버에 송신할 수 있다. 그 후 서버는 각각의 컴퓨팅 디바이스로부터 수신되는 오디오 데이터를 이용하여 음성 인식을 개선할 수 있는데, 그 이유는 서버가 동일한 발성에 대응하는 상이한 오디오 샘플들을 비교할 수 있기 때문이다. 예를 들어, 사용자가 "Ok 컴퓨터, 우유를 사는 것을 상기시켜달라(Ok computer, remind me to buy milk)"고 말한다. 사용자가 "Ok 컴퓨터"를 말하는 것을 완료하면, 근처의 컴퓨팅 디바이스들은 어느 컴퓨팅 디바이스가 가장 높은 핫워드 신뢰도 점수를 가지는지를 결정했을 가능성이 있을 것이고, 해당 컴퓨팅 디바이스는 사용자가 "우유를 사는 것을 상기시켜달라"는 단어들을 말할 때 그 단어들을 처리하고 그에 응답할 것이다. 다른 컴퓨팅 디바이스들도 "우유를 사는 것을 상기시켜달라"를 수신할 것이다. 다른 컴퓨팅 디바이스는 "우유를 사는 것을 상기시켜달라"는 발성에 응답하지 않겠지만, 다른 컴퓨팅 디바이스들은 "우유를 사는 것을 상기시켜달라"에 대응하는 오디오 데이터를 서버에 송신할 수 있다. "우유를 사는 것을 상기시켜달라"에 응답하는 컴퓨팅 디바이스들도 그것의 오디오 데이터를 서버에 송신할 수 있다. 서버는 그 오디오 데이터를 처리하여 음성 인식을 개선할 수 있는데, 그 이유는 서버가 동일한 "우유를 사는 것을 상기시켜달라" 발성에 대응하는 상이한 컴퓨팅 디바이스들로부터의 상이한 오디오 샘플들을 가지기 때문이다.In some implementations, each computing device in the vicinity of the user while the user is speaking receives the audio data and sends the audio data to the server to improve speech recognition. Each computing device can receive audio data corresponding to the user ' s voice. Although only one computing device appears to be processing the user's voice to the user, each computing device may transmit audio data to the server. The server can then use the audio data received from each computing device to improve speech recognition because the server can compare different audio samples corresponding to the same utterance. For example, the user says, "Ok computer, remind me to buy milk." When the user finishes saying "Ok computer", it is likely that nearby computing devices have determined which computing device has the highest hot word reliability score, and that computing device reminds the user to "buy milk Will treat and respond to the words when speaking of them. Other computing devices will also receive a "remind me to buy milk". Other computing devices will not respond to the "remind me to buy milk" voices, but other computing devices can send audio data corresponding to "remind me to buy milk" to the server. Computing devices that respond to "remind to buy milk" can also send its audio data to the server. The server can process the audio data to improve speech recognition because the server has different audio samples from different computing devices corresponding to the same "remember to buy milk" utterance.
도 2는 핫워드 검출을 위한 예시적인 프로세스(200)의 도면이다. 프로세스(200)는 도 1로부터의 컴퓨팅 디바이스(108)와 같은 컴퓨팅 디바이스에 의해 수행될 수 있다. 프로세스(200)는 발성이 핫워드를 포함할 가능성에 대응하는 값을 계산하고 그 값을 다른 컴퓨팅 디바이스들에 의해 계산된 다른 값들과 비교하여 핫워드 이후의 발성의 부분에 대한 음성 인식을 수행할지 여부를 결정한다.2 is a diagram of an exemplary process 200 for hot word detection. Process 200 may be performed by a computing device, such as computing device 108 from FIG. The process 200 determines whether to perform speech recognition for the portion of the utterance after the hot word by calculating a value corresponding to the likelihood that the utterance will include a hot word and comparing the value with other values computed by other computing devices .
컴퓨팅 디바이스는 발성에 대응하는 오디오 데이터를 수신한다(210). 사용자가 발성을 말하고 컴퓨팅 디바이스의 마이크가 그 발성의 오디오 데이터를 수신한다. 컴퓨팅 디바이스는 오디오 데이터를 버터링, 필터링, 엔드포인팅, 및 디지털화하는 것에 의해 오디오 데이터를 처리한다. 예로서, 사용자는 "Ok, 컴퓨터"를 발성할 수 있고, 컴퓨팅 디바이스의 마이크는 "Ok, 컴퓨터"에 대응하는 오디오 데이터를 수신할 것이다. 컴퓨팅 디바이스의 오디오 서브시스템이 컴퓨팅 디바이스에 의한 추가 처리를 위해 오디오 데이터를 샘플링, 버퍼링, 필터링, 및 엔드포인팅할 것이다.The computing device receives the audio data corresponding to the utterance (210). The user speaks voices and the microphone of the computing device receives the voiced audio data. The computing device processes the audio data by buttering, filtering, endpointing, and digitizing the audio data. By way of example, the user may speak "Ok, computer" and the microphone of the computing device will receive audio data corresponding to "Ok, computer". The audio subsystem of the computing device will sample, buffer, filter, and end point the audio data for further processing by the computing device.
컴퓨팅 디바이스는 발성이 핫워드를 포함할 가능성에 대응하는 제1 값을 결정한다(220). 컴퓨팅 디바이스는 발성의 오디오 데이터를 핫워드를 포함하는 오디오 샘플들의 그룹과 비교하는 것에 의해 또는 발성의 오디오 데이터의 오디오 특성들을 분석하는 것에 의해, 핫워드 신뢰도 점수라고 불릴 수 있는, 제1 값을 결정한다. 제1 값은 0 내지 1의 스케일로 정규화될 수 있고, 여기서 1은 발성이 핫워드를 포함할 가장 높은 가능성을 나타낸다. 일부 구현들에서, 컴퓨팅 디바이스는 제2 컴퓨팅 디바이스를 식별하고 제2 컴퓨팅 디바이스가 핫워드를 포함하는 발성들에 응답하도록 구성되고 핫워드에 응답하도록 사용자에 의해 구성된 것을 결정한다. 사용자는 컴퓨팅 디바이스와 제2 컴퓨팅 디바이스 양쪽 모두에 로그인되어 있을 수 있다. 컴퓨팅 디바이스와 제2 컴퓨팅 디바이스 양쪽 모두가 사용자의 음성에 응답하도록 구성될 수 있다. 컴퓨팅 디바이스와 제2 컴퓨팅 디바이스는 동일한 로컬 영역 네트워크에 연결될 수 있다. 컴퓨팅 디바이스와 제2 컴퓨팅 디바이스는 양쪽 모두가, GPS 또는 신호 세기에 의해 결정된 바와 같이, 10 미터와 같은, 서로의 특정 거리 이내에 위치할 수 있다. 예를 들어, 이 컴퓨팅 디바이스들은 단거리 무선에 의해 통신할 수 있다. 컴퓨팅 디바이스는 제2 컴퓨팅 디바이스에 의해 송신되는 신호의 세기를 5 dBm으로서 검출하고 그것을 5 미터와 같은 대응하는 거리로 번역할 수 있다.The computing device determines 220 a first value corresponding to the likelihood that the utterance includes a hot word. The computing device determines a first value, which may be referred to as a hot word reliability score, by comparing the audio data of the utterance to a group of audio samples containing the hot word or by analyzing the audio characteristics of the audio data of utterance do. The first value may be normalized to a scale of 0 to 1, where 1 represents the highest probability that the utterance will include the hot word. In some implementations, the computing device identifies the second computing device and determines that the second computing device is configured to respond to voices, including hot words, and configured by the user to respond to hot words. The user may be logged in to both the computing device and the second computing device. Both the computing device and the second computing device may be configured to respond to the user's voice. The computing device and the second computing device may be connected to the same local area network. Both the computing device and the second computing device may be located within a certain distance of each other, such as 10 meters, as determined by GPS or signal strength. For example, these computing devices may communicate by short-range wireless. The computing device may detect the strength of the signal transmitted by the second computing device as 5 dBm and translate it to a corresponding distance, such as 5 meters.
컴퓨팅 디바이스는 발성이 핫워드를 포함할 가능성에 대응하는 제2 값 - 제2 값은 제2 컴퓨팅 디바이스에 의해 결정됨 - 을 수신한다(230). 제2 컴퓨팅 디바이스는 제2 컴퓨팅 디바이스의 마이크를 통하여 발성을 수신한다. 제2 컴퓨팅 디바이스는 발성에 대응하는 수신된 오디오 데이터를 처리하고 제2 값 또는 제2 핫워드 신뢰도 점수를 결정한다. 제2 핫워드 신뢰도 점수는 제2 컴퓨팅 디바이스에 의해 계산된, 발성이 핫워드를 포함할 가능성을 반영한다. 일부 구현들에서, 컴퓨팅 디바이스는 다음의 기법들 중 하나 이상을 이용하여 제1 값을 제2 컴퓨팅 디바이스에 송신한다. 컴퓨팅 디바이스는 인터넷을 통하여 액세스 가능한 서버를 통하여, 로컬 영역 네트워크에 위치하는 서버를 통하여, 또는 로컬 영역 네트워크 또는 단거리 무선을 통하여 직접, 제1 값을 제2 컴퓨팅 디바이스에 송신할 수 있다. 컴퓨팅 디바이스는 제1 값을 제2 컴퓨팅 디바이스에게만 송신할 수 있거나, 컴퓨팅 디바이스는 다른 컴퓨팅 디바이스들도 제1 값을 수신할 수 있도록 제1 값을 브로드캐스트할 수 있다. 컴퓨팅 디바이스는 컴퓨팅 디바이스가 제1 값을 송신한 것과 동일한 또는 상이한 기법을 이용하여 제2 컴퓨팅 디바이스로부터 제2 값을 수신할 수 있다.The computing device receives (230) a second value corresponding to the likelihood that the utterance includes a hot word, and a second value determined by the second computing device. The second computing device receives the vocalization through the microphone of the second computing device. The second computing device processes the received audio data corresponding to the utterance and determines a second value or a second hot word reliability score. The second hot word reliability score reflects the likelihood that the utterance, calculated by the second computing device, contains a hot word. In some implementations, a computing device transmits a first value to a second computing device using one or more of the following techniques. The computing device may transmit a first value to a second computing device via a server accessible through the Internet, through a server located in the local area network, or directly via a local area network or short-range wireless. The computing device may only transmit a first value to the second computing device, or the computing device may broadcast a first value such that other computing devices may also receive the first value. The computing device may receive the second value from the second computing device using the same or a different technique as the computing device transmits the first value.
일부 구현들에서, 컴퓨팅 디바이스는 발성에 대한 소리 세기 점수 또는 발성에 대한 신호 대 잡음비를 계산할 수 있다. 컴퓨팅 디바이스는 소리 세기 점수, 신호 대 잡음비, 및 핫워드 신뢰도 점수를 조합하여, 다른 컴퓨팅 디바이스들로부터의 유사한 값들과 비교하기 위한 새로운 값을 결정할 수 있다. 예를 들어, 컴퓨팅 디바이스는 핫워드 신뢰도 점수 및 신호 대 잡음비를 계산할 수 있다. 그 후 컴퓨팅 디바이스는 그 2개의 점수를 조합하고 다른 컴퓨팅 디바이스들로부터의 유사하게 계산된 점수들과 비교할 수 있다. 일부 구현들에서, 컴퓨팅 디바이스는 상이한 점수들을 계산하고 각각의 점수를 비교를 위해 다른 컴퓨팅 디바이스들에 송신할 수 있다. 예를 들어, 컴퓨팅 디바이스는 발성에 대한 소리 세기 점수 및 핫워드 신뢰도 점수를 계산할 수 있다. 그 후 컴퓨팅 디바이스는 그 점수들을 비교를 위해 다른 컴퓨팅 디바이스들에 송신할 수 있다.In some implementations, the computing device may calculate a speech intensity score for voicing or a signal-to-noise ratio for voicing. The computing device may combine the sound intensity score, the signal-to-noise ratio, and the hot word reliability score to determine a new value for comparison with similar values from other computing devices. For example, a computing device may calculate a hotword reliability score and a signal-to-noise ratio. The computing device can then combine the two scores and compare them with similarly computed scores from other computing devices. In some implementations, the computing device may calculate different scores and send each score to other computing devices for comparison. For example, the computing device may calculate a sound intensity score and a hot word reliability score for utterance. The computing device may then send the scores to other computing devices for comparison.
일부 구현들에서, 컴퓨팅 디바이스는 제1 값과 함께 제1 식별자를 송신할 수 있다. 이 식별자는 컴퓨팅 디바이스의 주소, 사용자에 의해 주어진 컴퓨팅 디바이스의 이름, 또는 컴퓨팅 디바이스의 위치 중 하나 이상에 기초할 수 있다. 예를 들어, 식별자는 "69.123.132.43" 또는 "전화"일 수 있다. 유사하게, 제2 컴퓨팅 디바이스는 제2 값과 함께 제2 식별자를 송신할 수 있다. 일부 구현들에서, 컴퓨팅 디바이스는 제1 식별자를, 컴퓨팅 디바이스가 핫워드에 응답하도록 구성된 것으로 이전에 식별한 특정 컴퓨팅 디바이스들에 송신할 수 있다. 예를 들어, 컴퓨팅 디바이스는, 핫워드에 응답할 수 있는 것에 더하여, 컴퓨팅 디바이스와 동일한 사용자가 제2 컴퓨팅 디바이스에 로그인되었기 때문에, 제2 컴퓨팅 디바이스를 핫워드에 응답하도록 구성된 것으로 이전에 식별했을 수 있다.In some implementations, the computing device may transmit the first identifier along with the first value. The identifier may be based on one or more of the address of the computing device, the name of the computing device given by the user, or the location of the computing device. For example, the identifier may be "69.123.132.43" or "phone. &Quot; Similarly, the second computing device may transmit the second identifier along with the second value. In some implementations, the computing device may send the first identifier to the particular computing devices previously identified as being configured to respond to the hot word by the computing device. For example, a computing device may have previously identified a second computing device as being configured to respond to a hot word, because in addition to being able to respond to a hot word, the same user as the computing device has been logged into the second computing device have.
컴퓨팅 디바이스는 제1 값과 제2 값을 비교한다(240). 그 후 컴퓨팅 디바이스는, 비교의 결과에 기초하여, 오디오 데이터에 대한 음성 인식 처리를 개시한다(250). 일부 구현들에서, 예를 들어, 컴퓨팅 디바이스는 제1 값이 제2 값 이상일 때 음성 인식을 개시한다. 사용자가 "ok 컴퓨터, Carol 호출"을 말하면, 컴퓨팅 디바이스는 제1 값이 제2 값 이상이기 때문에, "Carol 호출"에 대한 음성 인식을 수행하는 것에 의해 "Carol 호출"을 처리하기 시작할 것이다. 일부 구현들에서, 컴퓨팅 디바이스는 활성화 상태를 설정한다. 제1 값이 제2 값 이상인 경우에, 컴퓨팅 디바이스는 활성화 상태를 활성 또는 "어웨이크"로서 설정한다. "어웨이크" 상태에서, 컴퓨팅 디바이스는 음성 인식으로부터의 결과들을 표시한다.The computing device compares the first value to the second value (240). The computing device then initiates a speech recognition process on the audio data based on the result of the comparison (250). In some implementations, for example, the computing device initiates speech recognition when the first value is greater than or equal to a second value. If the user speaks "ok computer, call Carol", the computing device will begin processing "Carol call" by performing speech recognition for "Carol call" because the first value is above the second value. In some implementations, the computing device sets the activation state. If the first value is greater than or equal to the second value, the computing device sets the activation state as active or "awake. &Quot; In the "awake" state, the computing device displays results from speech recognition.
일부 구현들에서, 컴퓨팅 디바이스는 제1 값과 제2 값을 비교하고 제1 값이 제2 값 미만인 것을 결정한다. 컴퓨팅 디바이스는, 제1 값이 제2 값 미만이라는 결정에 기초하여, 활성화 상태를 비활성 또는 "슬립"으로서 설정한다. "슬립" 상태에서, 컴퓨팅 디바이스는 사용자에게, 활성이거나 오디오 데이터를 처리하는 것으로 보이지 않는다.In some implementations, the computing device compares the first value with the second value and determines that the first value is less than the second value. The computing device sets the activation state to inactive or "sleep" based on the determination that the first value is less than the second value. In the "sleep" state, the computing device is not visible to the user, either active or processing audio data.
일부 구현들에서, 컴퓨팅 디바이스가 제1 값이 제2 값 이상인 것을 결정할 때, 컴퓨팅 디바이스는 활성화 상태를 활성으로 설정하기 전에 특정량의 시간 동안 기다릴 수 있다. 컴퓨팅 디바이스는 컴퓨팅 디바이스가 다른 컴퓨팅 디바이스로부터 더 높은 값을 수신하지 않을 가능성을 증가시키기 위해 특정량의 시간 동안 기다릴 수 있다. 특정량의 시간은 고정될 수 있거나, 컴퓨팅 디바이스들이 값들을 송수신하는 기법에 따라서 달라질 수 있다. 일부 구현들에서, 컴퓨팅 디바이스가 제1 값이 제2 값 이상인 것을 결정할 때, 컴퓨팅 디바이스는 특정량의 시간 동안 제1 값을 계속 송신할 수 있다. 특정량의 시간 동안 제1 값을 계속 송신하는 것에 의해, 컴퓨팅 디바이스는 제1 값이 다른 컴퓨팅 디바이스들에 의해 수신되는 가능성을 증가시킨다. 컴퓨팅 디바이스가 제1 값이 제2 값 미만인 것을 결정하는 경우에, 컴퓨팅 디바이스는 제1 값의 송신을 중지할 수 있다.In some implementations, when the computing device determines that the first value is greater than or equal to the second value, the computing device may wait for a certain amount of time before setting the activation state to active. The computing device may wait a certain amount of time to increase the likelihood that the computing device will not receive a higher value from another computing device. The amount of time of a particular amount may be fixed or may vary depending on the technique by which computing devices transmit and receive values. In some implementations, when the computing device determines that the first value is greater than or equal to the second value, the computing device may continue to transmit the first value for a certain amount of time. By continually transmitting the first value for a particular amount of time, the computing device increases the likelihood that the first value is received by the other computing devices. In case the computing device determines that the first value is less than the second value, the computing device may cease transmission of the first value.
일부 구현들에서, 컴퓨팅 디바이스는 핫워드 이후의 명령을 실행할지를 결정할 때 부가 정보를 고려할 수 있다. 부가 정보의 일 예는 핫워드 이후의 발성의 부분일 수 있다. 전형적으로, 핫워드 이후의 오디오 데이터는 "Sally 호출", "할로윈 영화 재생(play Halloween Movie)", 또는 "70도로 난방 설정(set heat to 70 degrees)"과 같은 컴퓨팅 디바이스에 대한 명령에 대응한다. 컴퓨팅 디바이스는 요청의 타입을 핸들링하는 또는 요청을 핸들링할 수 있는 전형적인 디바이스를 식별할 수 있다. 사람을 호출하는 요청은 전형적으로 미리 프로그램된 전형적인 사용들에 기초하여 또는 디바이스의 사용자의 사용 패턴들에 기초하여 전화에 의해 핸들링될 것이다. 사용자가 전형적으로 태블릿에서 영화를 시청한다면, 태블릿은 영화를 재생하는 요청을 핸들링할 수 있다. 온도조절장치가 온도를 조절할 수 있다면, 온도조절장치는 온도 조절들을 핸들링할 수 있다.In some implementations, the computing device may consider the side information when deciding whether to execute an instruction after the hot word. One example of additional information may be part of the vocalization after the hot word. Typically, audio data after a hot word corresponds to a command to a computing device such as "Sally Call," " play Halloween Movie, "or" set heat to 70 degrees & . The computing device may identify a typical device that can handle the type of request or handle the request. A request to call a person will typically be handled by the phone based on typical preprogrammed uses or based on usage patterns of the user of the device. If a user typically watches a movie on a tablet, the tablet can handle a request to play the movie. If the temperature controller can control the temperature, the temperature controller can handle the temperature controls.
컴퓨팅 디바이스가 핫워드 이후의 발성의 부분을 고려하기 위해, 컴퓨팅 디바이스는 핫워드를 식별할 가능성이 있다면 오디오 데이터에 대한 음성 인식을 개시해야 할 것이다. 컴퓨팅 디바이스는 발성의 명령 부분을 분류하고 해당 분류에서 명령들의 빈도를 계산할 수 있다. 컴퓨팅 디바이스는 그 빈도를 핫워드 신뢰도 점수와 함께 다른 컴퓨팅 디바이스들에 송신할 수 있다. 각각의 컴퓨팅 디바이스는 그 빈도들 및 핫워드 신뢰도 점수들을 이용하여, 핫워드 이후의 명령을 실행할지를 결정할 수 있다.In order for the computing device to consider the portion of speech after the hot word, the computing device will have to initiate speech recognition for the audio data if it is likely to identify the hot word. The computing device may classify the command portion of the utterance and calculate the frequency of commands in that classification. The computing device may send its frequency to other computing devices along with the hot word reliability score. Each computing device may use its frequencies and hot word reliability scores to determine whether to execute a command after the hot word.
예를 들어, 사용자가 "OK 컴퓨터, 마이클 잭슨 재생(play Michael Jackson)"을 발성하면, 컴퓨팅 디바이스가 사용자가 시간의 20%를 음악을 청취하는 데 사용하는 전화라면, 컴퓨팅 디바이스는 해당 정보를 핫워드 신뢰도 점수와 함께 송신할 수 있다. 사용자가 시간의 5%를 음악을 청취하는 데 사용하는 태블릿과 같은 컴퓨팅 디바이스는 해당 정보를 핫워드 신뢰도 점수와 함께 다른 컴퓨팅 디바이스들에 송신할 수 있다. 컴퓨팅 디바이스들은 핫워드 신뢰도 점수와 음악 재생 시간의 백분율의 조합을 이용하여, 명령을 실행할지를 결정할 수 있다.For example, if a user utters "OK computer, play Michael Jackson" and the computing device is the phone the user uses to listen to music at 20% of the time, Can be transmitted together with the word reliability score. A computing device, such as a tablet, that a user uses to listen to music at 5% of the time may send that information to other computing devices along with a hotword reliability score. The computing devices may use a combination of the hotword reliability score and the percentage of music playback time to determine whether to execute the command.
도 3은 본 명세서에 기술된 기법들을 구현하기 위해 이용될 수 있는 컴퓨팅 디바이스(300) 및 모바일 컴퓨팅 디바이스(350)의 예를 보여준다. 컴퓨팅 디바이스(300)는 랩톱, 데스크톱, 워크스테이션, 개인 휴대 정보 단말기, 서버, 블레이드 서버, 메인프레임, 및 다른 적절한 컴퓨터와 같은, 다양한 형태의 디지털 컴퓨터들을 나타내기 위해 의도된 것이다. 모바일 컴퓨팅 디바이스(350)는 개인 휴대 정보 단말기, 휴대 전화, 스마트폰, 및 다른 유사한 컴퓨팅 디바이스들과 같은, 다양한 형태의 모바일 디바이스들을 나타내기 위해 의도된 것이다. 여기에 도시된 컴포넌트들, 그들의 연결들 및 관계들, 및 그들의 기능들은 단지 예들로 의도된 것이고, 제한적인 것으로 의도된 것은 아니다.FIG. 3 shows an example of a computing device 300 and a mobile computing device 350 that may be utilized to implement the techniques described herein. The computing device 300 is intended to represent various types of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers. The mobile computing device 350 is intended to represent various types of mobile devices, such as personal digital assistants, cell phones, smart phones, and other similar computing devices. The components, their connections and relationships, and their functions illustrated herein are by way of example only and are not intended to be limiting.
컴퓨팅 디바이스(300)는 프로세서(302), 메모리(304), 저장 디바이스(306), 메모리(304) 및 다수의 고속 확장 포트들(310)에 연결되는 고속 인터페이스(308), 및 저속 확장 포트(314) 및 저장 디바이스(306)에 연결되는 저속 인터페이스(312)를 포함한다. 프로세서(302), 메모리(304), 저장 디바이스(306), 고속 인터페이스(308), 고속 확장 포트들(310), 및 저속 인터페이스(312) 각각은 다양한 버스들을 이용하여 상호 연결되고, 공통의 마더보드 상에 또는 적절하게 다른 방식들로 장착될 수 있다. 프로세서(302)는 고속 인터페이스(308)에 결합된 디스플레이(316)와 같은, 외부 입출력 디바이스에서 GUI에 대한 그래픽 정보를 표시하기 위해 메모리(304)에 또는 저장 디바이스(306)에 저장된 명령어들을 포함하는, 컴퓨팅 디바이스(300) 내에서 실행하기 위한 명령어들을 처리할 수 있다. 다른 구현들에서는, 다수의 프로세서들 및/또는 버스들이, 적절하게, 다수의 메모리들 및 메모리 타입들과 함께 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들이 연결될 수 있고, 각각의 디바이스는 필요한 동작들의 부분들을 제공한다(예컨대, 서버 뱅크, 블레이드 서버들의 그룹, 또는 멀티-프로세서 시스템으로서).The computing device 300 includes a processor 302, a memory 304, a storage device 306, a memory 304 and a high speed interface 308 coupled to the plurality of high speed expansion ports 310, 314 and a low speed interface 312 connected to the storage device 306. Each of the processor 302, the memory 304, the storage device 306, the high speed interface 308, the high speed expansion ports 310 and the low speed interface 312 are interconnected using various busses, May be mounted on the board or, suitably in other manners. The processor 302 may include instructions stored in the memory 304 or stored in the storage device 306 to display graphical information for the GUI at an external input and output device, such as the display 316 coupled to the high- And processing instructions within computer device 300 for execution. In other implementations, multiple processors and / or busses may be used with multiple memories and memory types, as appropriate. In addition, multiple computing devices may be connected, and each device provides portions of the required operations (e.g., as a server bank, group of blade servers, or a multi-processor system).
메모리(304)는 컴퓨팅 디바이스(300) 내의 정보를 저장한다. 일부 구현들에서, 메모리(304)는 휘발성 메모리 유닛 또는 유닛들이다. 일부 구현들에서, 메모리(304)는 비휘발성 메모리 유닛 또는 유닛들이다. 메모리(304)는 또한 자기 또는 광 디스크와 같은, 다른 형태의 컴퓨터-판독가능 매체일 수 있다.The memory 304 stores information within the computing device 300. In some implementations, memory 304 is a volatile memory unit or unit. In some implementations, memory 304 is a non-volatile memory unit or unit. The memory 304 may also be another type of computer-readable medium, such as a magnetic or optical disk.
저장 디바이스(306)는 컴퓨팅 디바이스(300)를 위한 대용량 저장을 제공할 수 있다. 일부 구현들에서, 저장 디바이스(306)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스, 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 솔리드 스테이트 메모리 디바이스, 또는 저장 영역 네트워크 또는 다른 구성들에서의 디바이스들을 포함하는, 디바이스들의 어레이와 같은, 컴퓨터-판독가능 매체이거나 이를 포함할 수 있다. 명령어들은 정보 캐리어에 저장될 수 있다. 명령어들은, 하나 이상의 처리 디바이스들(예를 들어, 프로세서(302))에 의해 실행될 때, 전술한 것들과 같은 하나 이상의 방법을 수행한다. 명령어들은 또한 컴퓨터- 또는 머신-판독가능 매체들(예를 들어, 메모리(304), 저장 디바이스(306), 또는 프로세서(302)의 메모리)과 같은 하나 이상의 저장 디바이스에 의해 저장될 수 있다.The storage device 306 may provide mass storage for the computing device 300. In some implementations, the storage device 306 may include a floppy disk device, a hard disk device, an optical disk device, or a device in a tape device, flash memory or other similar solid state memory device, or in a storage area network or other configurations Or a computer-readable medium, such as an array of devices. The instructions may be stored in an information carrier. The instructions, when executed by one or more processing devices (e.g., processor 302), perform one or more methods, such as those described above. The instructions may also be stored by one or more storage devices, such as computer- or machine-readable media (e.g., memory 304, storage device 306, or memory of processor 302).
고속 인터페이스(308)는 컴퓨팅 디바이스(300)를 위한 대역폭 집중적인 동작들을 관리하는 반면, 저속 인터페이스(312)는 저대역폭 집중적인 동작들을 관리한다. 이러한 기능들의 할당은 단지 예이다. 일부 구현들에서, 고속 인터페이스(308)는 메모리(304), 디스플레이(316)에(예컨대, 그래픽 프로세서 또는 가속기를 통하여), 그리고 다양한 확장 카드들(미도시)을 수용할 수 있는, 고속 확장 포트들(310)에 결합된다. 구현에서, 저속 인터페이스(312)는 저장 디바이스(306) 및 저속 확장 포트(314)에 결합된다. 다양한 통신 포트들(예컨대, USB, 블루투스, 이더넷, 무선 이더넷)을 포함할 수 있는, 저속 확장 포트(314)는 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입출력 디바이스에, 또는 스위치 또는 라우터와 같은 네트워킹 디바이스에(예컨대, 네트워크 어댑터를 통하여) 결합될 수 있다.The high speed interface 308 manages bandwidth intensive operations for the computing device 300, while the low speed interface 312 manages low bandwidth intensive operations. The assignment of these functions is only an example. In some implementations, the high speed interface 308 may include a memory 304, a display 316 (e.g., via a graphics processor or accelerator), and a high speed expansion port (not shown) 310 < / RTI > In an implementation, the low speed interface 312 is coupled to the storage device 306 and the slow expansion port 314. The slow expansion port 314, which may include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet), may be connected to one or more input / output devices such as a keyboard, pointing device, scanner, May be coupled to the device (e.g., via a network adapter).
컴퓨팅 디바이스(300)는 도면에 도시된 바와 같이, 다수의 상이한 형태들로 구현될 수 있다. 예를 들어, 그것은 표준 서버(320)로서, 또는 그러한 서버들의 그룹에서 여러 번 구현될 수 있다. 게다가, 그것은 랩톱 컴퓨터(322)와 같은 개인용 컴퓨터로 구현될 수 있다. 그것은 또한 랙 서버 시스템(324)의 일부로서 구현될 수 있다. 대안적으로, 컴퓨팅 디바이스(300)로부터의 컴포넌트들은 모바일 컴퓨팅 디바이스(350)와 같은, 모바일 디바이스 내의 다른 컴포넌트들(미도시)과 조합될 수 있다. 그러한 디바이스들 각각은 컴퓨팅 디바이스(300)와 모바일 컴퓨팅 디바이스(350) 중 하나 이상을 포함할 수 있고, 전체 시스템은 서로 통신하는 다수의 컴퓨팅 디바이스들로 구성될 수 있다.The computing device 300 may be implemented in a number of different forms, as shown in the figures. For example, it may be implemented as standard server 320, or multiple times in a group of such servers. In addition, it may be implemented as a personal computer, such as laptop computer 322. [ It may also be implemented as part of the rack server system 324. [ Alternatively, components from the computing device 300 may be combined with other components (not shown) within the mobile device, such as the mobile computing device 350. Each of such devices may include one or more of computing device 300 and mobile computing device 350, and the entire system may be comprised of a plurality of computing devices in communication with one another.
모바일 컴퓨팅 디바이스(350)은, 여러 컴포넌트들 중에서, 프로세서(352), 메모리(364), 디스플레이(354)와 같은 입출력 디바이스, 통신 인터페이스(366), 및 트랜시버(368)를 포함한다. 모바일 컴퓨팅 디바이스(350)는 또한 부가 저장을 제공하기 위해, 마이크로-드라이브 또는 다른 디바이스와 같은 저장 디바이스를 구비할 수 있다. 프로세서(352), 메모리(364), 디스플레이(354), 통신 인터페이스(366), 및 트랜시버(368) 각각은 다양한 버스들을 이용하여 상호 연결되고, 컴포넌트들 중 여러 개가 공통 마더보드 상에 또는 적절하게 다른 방식들로 장착될 수 있다.The mobile computing device 350 includes among other components a processor 352, a memory 364, input and output devices such as a display 354, a communication interface 366, and a transceiver 368. The mobile computing device 350 may also include a storage device, such as a micro-drive or other device, to provide additional storage. The processor 352, the memory 364, the display 354, the communication interface 366 and the transceiver 368 are each interconnected using a variety of buses, and several of the components may be interconnected on a common motherboard, It can be mounted in other ways.
프로세서(352)는 메모리(364)에 저장된 명령어들을 포함하는, 모바일 컴퓨팅 디바이스(350) 내의 명령어들을 실행할 수 있다. 프로세서(352)는 개별적인 다수의 아날로그 및 디지털 프로세서들을 포함하는 칩들의 칩셋으로 구현될 수 있다. 프로세서(352)는, 예를 들어, 사용자 인터페이스들의 제어, 모바일 컴퓨팅 디바이스(350)에 의해 실행되는 애플리케이션들, 및 모바일 컴퓨팅 디바이스(350)에 의한 무선 통신과 같은, 모바일 컴퓨팅 디바이스(350)의 다른 컴포넌트들의 코디네이션(coordination)을 제공할 수 있다.The processor 352 may execute instructions in the mobile computing device 350, including instructions stored in the memory 364. [ The processor 352 may be implemented as a chipset of chips comprising a plurality of separate analog and digital processors. The processor 352 may be any suitable computing device that can be used by the mobile computing device 350 to communicate with other mobile computing devices 350, such as, for example, controls of user interfaces, applications executed by the mobile computing device 350, And may provide coordination of components.
프로세서(352)는 디스플레이(354)에 결합된 제어 인터페이스(358) 및 디스플레이 인터페이스(356)를 통하여 사용자와 통신할 수 있다. 디스플레이(354)는, 예를 들어, TFT(Thin-Film-Transistor Liquid Crystal Display) 디스플레이 또는 OLED(Organic Light Emitting Diode) 디스플레이, 또는 다른 적절한 디스플레이 기술일 수 있다. 디스플레이 인터페이스(356)는 그래픽 및 다른 정보를 사용자에 제시하도록 디스플레이(354)를 구동하기 위한 적절한 회로를 포함할 수 있다. 제어 인터페이스(358)는 사용자로부터 명령들을 수신하고 이들을 프로세서(352)에 제출하기 위해 변환할 수 있다. 게다가, 모바일 컴퓨팅 디바이스(350)와 다른 디바이스들의 근거리 통신을 가능하게 하기 위해, 외부 인터페이스(362)가 프로세서(352)와의 통신을 제공할 수 있다. 외부 인터페이스(362)는, 예를 들어, 일부 구현들에서 유선 통신을, 또는 다른 구현들에서 무선 통신을 제공할 수 있고, 다수의 인터페이스들이 또한 사용될 수 있다.The processor 352 may communicate with the user via the control interface 358 and the display interface 356 coupled to the display 354. The display 354 may be, for example, a thin film transistor (TFT) display or an organic light emitting diode (OLED) display, or other suitable display technology. Display interface 356 may include suitable circuitry for driving display 354 to present graphics and other information to a user. The control interface 358 may receive instructions from the user and convert them to submit them to the processor 352. In addition, external interface 362 may provide for communication with processor 352 to enable close communication between mobile computing device 350 and other devices. The external interface 362 may, for example, provide wired communication in some implementations, or wireless communications in other implementations, and multiple interfaces may also be used.
메모리(364)는 모바일 컴퓨팅 디바이스(350) 내의 정보를 저장한다. 메모리(364)는 컴퓨터-판독가능 매체 또는 매체들, 휘발성 메모리 유닛 또는 유닛들, 또는 비휘발성 메모리 유닛 또는 유닛들 중 하나 이상으로 구현될 수 있다. 확장 메모리(374)가 또한 제공되고, 예를 들어, SIMM(Single In Line Memory Module) 카드 인터페이스를 포함할 수 있는, 확장 인터페이스(372)를 통하여 모바일 컴퓨팅 디바이스(350)에 연결될 수 있다. 확장 메모리(374)는 모바일 컴퓨팅 디바이스(350)를 위한 추가 저장 공간을 제공할 수 있고, 또는 모바일 컴퓨팅 디바이스(350)를 위한 애플리케이션들 또는 다른 정보를 또한 저장할 수 있다. 구체적으로, 확장 메모리(374)는 전술한 프로세스들을 수행하는 또는 보충하는 명령어들을 포함할 수 있고, 보안 정보를 또한 포함할 수 있다. 따라서, 예를 들어, 확장 메모리(374)는 모바일 컴퓨팅 디바이스(350)를 위한 보안 모듈로서 제공될 수 있고, 모바일 컴퓨팅 디바이스(350)의 안전한 사용을 허용하는 명령어들로 프로그램될 수 있다. 게다가, 식별 정보를 SIMM 카드에 해킹 불가능한 방식으로 두는 것과 같은, 부가 정보와 함께, SIMM 카드들을 통해 안전한 애플리케이션들이 제공될 수 있다.The memory 364 stores information within the mobile computing device 350. The memory 364 may be embodied in one or more of computer-readable media or media, volatile memory units or units, or non-volatile memory units or units. An expansion memory 374 is also provided and may be coupled to the mobile computing device 350 via an expansion interface 372, which may include, for example, a Single In Line Memory Module (SIMM) card interface. Extension memory 374 may provide additional storage space for mobile computing device 350 or may also store applications or other information for mobile computing device 350. [ In particular, the expansion memory 374 may include instructions to perform or supplement the processes described above, and may also include security information. Thus, for example, the extended memory 374 may be provided as a security module for the mobile computing device 350 and may be programmed with instructions that allow secure use of the mobile computing device 350. In addition, secure applications can be provided over SIMM cards, along with additional information, such as putting the identification information in a non-hackable manner on the SIMM card.
메모리는, 아래 논의된 바와 같이, 예를 들어, 플래시 메모리 및/또는 NVRAM 메모리(비휘발성 랜덤 액세스 메모리)를 포함할 수 있다. 일부 구현들에서, 명령어들은 정보 캐리어에 저장될 수 있다. 명령어들은, 하나 이상의 처리 디바이스들(예를 들어, 프로세서(352))에 의해 실행될 때, 전술한 것들과 같은 하나 이상의 방법을 수행한다. 명령어들은 또한 하나 이상의 컴퓨터- 또는 머신-판독가능 매체들(예를 들어, 메모리(364), 확장 메모리(374), 또는 프로세서(352)의 메모리)과 같은 하나 이상의 저장 디바이스에 의해 저장될 수 있다. 일부 구현들에서, 명령어들은 전파된 신호에서, 예를 들어, 트랜시버(368) 또는 외부 인터페이스(362)를 통하여 수신될 수 있다.The memory may include, for example, flash memory and / or NVRAM memory (non-volatile random access memory), as discussed below. In some implementations, the instructions may be stored in an information carrier. The instructions, when executed by one or more processing devices (e.g., processor 352), perform one or more methods, such as those described above. The instructions may also be stored by one or more storage devices, such as one or more computer- or machine-readable media (e.g., memory 364, expansion memory 374, or memory of processor 352) . In some implementations, the instructions may be received in the propagated signal, e.g., via transceiver 368 or external interface 362.
모바일 컴퓨팅 디바이스(350)는 필요할 경우 디지털 신호 처리 회로를 포함할 수 있는, 통신 인터페이스(366)를 통하여 무선 통신할 수 있다. 통신 인터페이스(366)는, 특히, GSM 음성 통화(Global System for Mobile communications), 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)와 같은, 다양한 모드들 또는 프로토콜들에서의 통신들을 제공할 수 있다. 그러한 통신은, 예를 들어, 무선 주파수를 이용하여 트랜시버(368)를 통하여 발생할 수 있다. 게다가, 예를 들어, 블루투스, WiFi, 또는 다른 그러한 트랜시버(미도시)를 이용하여 단거리 통신이 발생할 수 있다. 게다가, GPS(Global Positioning System) 수신기 모듈(370)은 부가 내비게이션- 및 위치-관련 무선 데이터를 모바일 컴퓨팅 디바이스(350)에 제공할 수 있고, 그 데이터는 모바일 컴퓨팅 디바이스(350)에서 실행중인 애플리케이션들에 의해 적절하게 사용될 수 있다.The mobile computing device 350 may wirelessly communicate via the communication interface 366, which may include digital signal processing circuitry as needed. The communication interface 366 may be implemented in a variety of communication systems such as Global System for Mobile communications, SMS (Short Message Service), EMS (Enhanced Messaging Service), or MMS messaging (Multimedia Messaging Service), code division multiple access (CDMA) , Communications in various modes or protocols, such as time division multiple access (TDMA), personal digital cellular (PDC), wideband code division multiple access (WCDMA), CDMA2000, or general packet radio service . Such communication may occur through the transceiver 368 using, for example, radio frequency. In addition, short-range communications may occur using, for example, Bluetooth, WiFi, or other such transceivers (not shown). In addition, a Global Positioning System (GPS) receiver module 370 may provide additional navigation-and location-related wireless data to the mobile computing device 350, which data may be stored in applications running on the mobile computing device 350 . ≪ / RTI >
모바일 컴퓨팅 디바이스(350)는 또한 사용자로부터의 구두 정보를 수신하고 이를 사용 가능한 디지털 정보로 변환할 수 있는, 오디오 코덱(360)을 이용하여 들을 수 있게 통신할 수 있다. 오디오 코덱(360)은 마찬가지로, 예를 들어 스피커를 통하여, 예컨대, 모바일 컴퓨팅 디바이스(350)의 핸드세트에서, 사용자를 위한 가청음을 생성할 수 있다. 그러한 음은 음성 전화 통화들로부터의 음을 포함할 수 있고, 녹음된 음(예컨대, 음성 메시지, 음악 파일 등)을 포함할 수 있고, 또한 모바일 컴퓨팅 디바이스(350)에서 동작하는 애플리케이션들에 의해 실행된 음을 포함할 수 있다.The mobile computing device 350 may also audibly communicate using an audio codec 360, which may receive verbal information from the user and convert it into usable digital information. The audio codec 360 may likewise generate an audible sound for the user, e.g., via a speaker, e.g., in a handset of the mobile computing device 350. Such a tone may include notes from voice telephone calls and may include recorded notes (e.g., voice messages, music files, etc.) and may also be executed by applications running on the mobile computing device 350 ≪ / RTI >
모바일 컴퓨팅 디바이스(350)는 도면에 도시된 바와 같이, 다수의 상이한 형태들로 구현될 수 있다. 예를 들어, 그것은 휴대 전화(380)로서 구현될 수 있다. 그것은 또한 스마트폰(382), 개인 휴대 정보 단말기, 또는 다른 유사한 모바일 디바이스의 일부로서 구현될 수 있다.The mobile computing device 350 may be implemented in a number of different forms, as shown in the figures. For example, it may be implemented as a cellular phone 380. It may also be implemented as part of a smart phone 382, personal digital assistant, or other similar mobile device.
본 명세서에 기술된 시스템들 및 기법들의 다양한 구현들은 디지털 전자 회로, 집적 회로, 특수하게 설계된 ASIC(application specific integrated circuit), 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합들로 실현될 수 있다. 이 다양한 구현들은 저장 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령어들을 수신하도록 그리고 이들에 데이터 및 명령어들을 송신하도록 결합된, 특수 또는 범용일 수 있는, 적어도 하나의 프로그램가능 프로세서를 포함하는 프로그램가능 시스템에서 실행 가능한 그리고/또는 해석 가능한 하나 이상의 컴퓨터 프로그램에서의 구현을 포함할 수 있다.Various implementations of the systems and techniques described herein may be realized with digital electronic circuits, integrated circuits, specially designed application specific integrated circuits (ASICs), computer hardware, firmware, software, and / or combinations thereof . These various implementations include a storage system, at least one input device, and at least one programmable, which may be special or general purpose, coupled to receive data and instructions from the at least one output device and to transmit data and instructions thereto. And may include implementations in one or more computer programs executable and / or interpretable in a programmable system including a processor.
이 컴퓨터 프로그램들(프로그램들, 소프트웨어, 소프트웨어 애플리케이션들 또는 코드라고도 알려짐)은 프로그램가능 프로세서를 위한 머신 명령어들을 포함하고, 고급 절차 및/또는 개체 지향 프로그래밍 언어로, 그리고/또는 어셈블리/기계어로 구현될 수 있다. 본 명세서에서 사용될 때, 머신-판독가능 매체 및 컴퓨터-판독가능 매체라는 용어들은 머신-판독가능 신호로서 머신 명령어들을 수신하는 머신-판독가능 저장 매체를 포함하여, 프로그램가능 프로세서에 머신 명령어들 및/또는 데이터를 제공하기 위해 이용되는 장치 및/또는 디바이스(예컨대, 자기 디스크들, 광 디스크들, 메모리, 프로그램가능 논리 디바이스들(PLD들))를 포함하는 임의의 저장 매체를 지칭한다. 머신-판독가능 신호라는 용어는 머신 명령어들 및/또는 데이터를 프로그램가능 프로세서에 제공하기 위해 사용되는 임의의 신호를 지칭한다.These computer programs (also known as programs, software, software applications, or code) include machine instructions for a programmable processor and may be implemented in an advanced procedure and / or in an object oriented programming language and / . As used herein, the terms machine-readable medium and computer-readable medium include machine-readable storage media for receiving machine instructions as machine-readable signals to cause machine instructions and / Refers to any storage medium including devices and / or devices (e.g., magnetic disks, optical disks, memory, programmable logic devices (PLDs)) used to provide data. The term machine-readable signal refers to any signal that is used to provide machine instructions and / or data to the programmable processor.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에 기술된 시스템들 및 기법들은 사용자에 정보를 표시하기 위한 디스플레이 디바이스(예컨대, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터) 및 사용자가 컴퓨터에 입력을 제공하기 위해 이용할 수 있는 키보드 및 포인팅 디바이스(예컨대, 마우스 또는 트랙볼)를 가진 컴퓨터에서 구현될 수 있다. 다른 종류의 디바이스들도 사용자와의 상호 작용을 제공하기 위해 사용될 수 있다; 예를 들어, 사용자에 제공되는 피드백은 임의의 형태의 감각 피드백(예컨대, 시각 피드백, 청각 피드백, 또는 촉각 피드백)일 수 있고; 사용자로부터의 입력은, 음향, 음성, 또는 촉각 입력을 포함하여, 임의의 형태로 수신될 수 있다.To provide for interaction with a user, the systems and techniques described herein include a display device (e.g., a cathode ray tube (CRT) or a liquid crystal display (LCD) monitor) for displaying information to a user, May be implemented in a computer having a keyboard and pointing device (e.g., a mouse or trackball) available to provide input to a computer. Other types of devices may also be used to provide interaction with the user; For example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); The input from the user may be received in any form, including acoustic, voice, or tactile input.
본 명세서에 기술된 시스템들 및 기법들은 백 엔드 컴포넌트를 포함하는(예컨대, 데이터 서버로서), 또는 미들웨어 컴포넌트(예컨대, 애플리케이션 서버)를 포함하는, 또는 프런트 엔드 컴포넌트(예컨대, 사용자가 본 명세서에 기술된 시스템들 및 기법들의 구현과 상호 작용하기 위해 이용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저를 가진 클라이언트 컴퓨터), 또는 그러한 백 엔드, 미들웨어, 또는 프런트 엔드 컴포넌트들의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 임의의 형태 또는 매체의 디지털 데이터 통신(예컨대, 통신 네트워크)에 의해 상호 연결될 수 있다. 통신 네트워크들의 예들은 로컬 영역 네트워크(LAN), 광역 네트워크(WAN), 및 인터넷을 포함한다.The systems and techniques described herein may be implemented in a system that includes a back end component (e.g., as a data server), or a middleware component (e.g., an application server), or a front end component A client computer with a graphical user interface or a web browser that can be used to interact with the implementation of the disclosed systems and techniques), or any combination of such back-end, middleware, or front- . The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있고 전형적으로 통신 네트워크를 통하여 상호 작용한다. 클라이언트와 서버의 관계는 각자의 컴퓨터들에서 실행되고 서로 클라이언트-서버 관계를 가지는 컴퓨터 프로그램들에 의하여 발생한다.The computing system may include clients and servers. Clients and servers are typically far apart and typically interact through a communications network. The relationship between a client and a server is generated by computer programs running on their respective computers and having a client-server relationship with each other.
비록 소수의 구현들이 위에 상세히 기술되었지만, 다른 수정들이 가능하다. 예를 들어, 클라이언트 애플리케이션이 대리자(delegate)(들)에 액세스하는 것으로 기술되지만, 다른 구현들에서 대리자(들)는 하나 이상의 서버에서 실행되는 애플리케이션과 같은, 하나 이상의 프로세서에 의해 구현되는 다른 애플리케이션들에 의해 이용될 수 있다. 게다가, 도면들에 묘사된 논리 흐름들은 바람직한 결과들을 달성하기 위해, 도시된 특정 순서, 또는 순차적인 순서를 요구하지 않는다. 게다가, 다른 액션들이 제공될 수 있고, 기술된 흐름들로부터, 액션들이 제거될 수 있고, 기술된 시스템들에, 다른 컴포넌트들이 추가되거나, 그로부터 제거될 수 있다. 따라서, 다른 구현들이 다음의 청구항들의 범위 안에 있다.Although a few implementations have been described in detail above, other modifications are possible. For example, while a client application is described as accessing a delegate (s), in other implementations, the delegate (s) may include other applications implemented by one or more processors, such as an application executing on one or more servers Lt; / RTI > In addition, the logic flows depicted in the Figures do not require the specific order shown, or sequential order, to achieve the desired results. In addition, other actions may be provided, and from the described flows, actions may be removed and other components added to, or removed from, the described systems. Accordingly, other implementations are within the scope of the following claims.

Claims (22)

  1. 복수의 컴퓨팅 디바이스 중 어느 컴퓨팅 디바이스가 자동 음성 인식을 수행할지를 결정하기 위한 컴퓨터 구현 방법으로서,
    제1 컴퓨팅 디바이스에 의해, 발성(utterance)에 대응하는 오디오 데이터를 수신하는 단계;
    상기 오디오 데이터에 대한 자동 음성 인식 처리(automated speech recognition processing)를 시작하기 전에, 오디오 데이터를 특정 핫워드를 포함하는 것으로 또는 상기 특정 핫워드를 포함하지 않는 것으로 분류하는 분류기(classifier)를 이용하여 상기 오디오 데이터를 처리하는 단계;
    오디오 데이터를 특정 핫워드를 포함하는 것으로 또는 상기 특정 핫워드를 포함하지 않는 것으로 분류하는 상기 분류기를 이용하여 상기 오디오 데이터를 처리하는 것에 기초하여, 상기 발성이 상기 특정 핫워드를 포함할 제1 가능성을 반영하는 제1 값을 결정하는 단계;
    제2 컴퓨팅 디바이스에 의해 결정된, 상기 발성이 상기 특정 핫워드를 포함할 제2 가능성을 반영하는 제2 값을 수신하는 단계;
    상기 발성이 상기 특정 핫워드를 포함할 상기 제1 가능성을 반영하는 상기 제1 값과 상기 발성이 상기 특정 핫워드를 포함할 상기 제2 가능성을 반영하는 상기 제2 값을 비교하는 단계; 및
    상기 발성이 상기 특정 핫워드를 포함할 상기 제1 가능성을 반영하는 상기 제1 값과 상기 발성이 상기 특정 핫워드를 포함할 상기 제2 가능성을 반영하는 상기 제2 값을 비교하는 것에 기초하여, 상기 오디오 데이터에 대한 자동 음성 인식 처리의 수행을 시작할지를 결정하는 단계
    를 포함하는 방법.
    A computer-implemented method for determining which of a plurality of computing devices to perform automatic speech recognition,
    Receiving, by the first computing device, audio data corresponding to utterance;
    The method of claim 1, further comprising: prior to starting automated speech recognition processing on the audio data, using a classifier to classify the audio data as comprising a specific hot word or not including the specific hot word Processing the audio data;
    Based on processing the audio data using the classifier to classify the audio data as comprising a specific hot word or not including the specific hot word, Determining a first value that reflects the first value;
    Receiving a second value determined by the second computing device, the second value reflecting the second possibility that the utterance includes the particular hot word;
    Comparing the first value that reflects the first possibility that the utterance includes the specific hot word and the second value that reflects the second possibility that the utterance includes the particular hot word; And
    Based on the first value reflecting the first possibility that the utterance includes the specific hot word and the second value reflecting the second possibility that the utterance will include the particular hot word, Determining whether to start performing automatic speech recognition processing on the audio data
    ≪ / RTI >
  2. 제1항에 있어서,
    상기 제1 값이 핫워드 점수(hotword score)를 만족시키는 것을 결정하는 단계; 및
    상기 제1 값이 상기 핫워드 점수를 만족시키는 것을 결정하는 것에 기초하여, 상기 발성이 상기 특정 핫워드를 포함할 상기 제1 가능성을 반영하는 상기 제1 값을 상기 제2 컴퓨팅 디바이스에 송신하는 단계
    를 포함하는 방법.
    The method according to claim 1,
    Determining that the first value satisfies a hotword score; And
    Sending the first value to the second computing device based on determining that the first value satisfies the hot word score, the first value reflecting the first possibility that the utterance includes the particular hot word
    ≪ / RTI >
  3. 제1항에 있어서,
    상기 발성이 상기 특정 핫워드를 포함할 상기 제1 가능성을 반영하는 상기 제1 값과 상기 발성이 상기 특정 핫워드를 포함할 상기 제2 가능성을 반영하는 상기 제2 값을 비교하는 것에 기초하여, 상기 제1 컴퓨팅 디바이스의 활성화 상태를 결정하는 단계를 포함하는 방법.
    The method according to claim 1,
    Based on the first value reflecting the first possibility that the utterance includes the specific hot word and the second value reflecting the second possibility that the utterance will include the particular hot word, Determining an activation state of the first computing device.
  4. 제3항에 있어서, 상기 발성이 상기 특정 핫워드를 포함할 상기 제1 가능성을 반영하는 상기 제1 값과 상기 발성이 상기 특정 핫워드를 포함할 상기 제2 가능성을 반영하는 상기 제2 값을 비교하는 것에 기초하여, 상기 제1 컴퓨팅 디바이스의 활성화 상태를 결정하는 단계는:
    상기 제1 컴퓨팅 디바이스의 상기 활성화 상태가 활성 상태인 것을 결정하는 단계를 포함하는 방법.
    4. The method of claim 3, wherein the utterance includes a first value that reflects the first possibility to include the particular hot word and a second value that reflects the second possibility that the utterance includes the particular hot word. Based on the comparison, determining the activation state of the first computing device comprises:
    Determining that the activation state of the first computing device is active.
  5. 제1항에 있어서,
    상기 제1 컴퓨팅 디바이스에 의해, 부가 발성에 대응하는 부가 오디오 데이터를 수신하는 단계;
    상기 부가 오디오 데이터에 대한 자동 음성 인식 처리를 시작하기 전에, 오디오 데이터를 특정 핫워드를 포함하는 것으로 또는 상기 특정 핫워드를 포함하지 않는 것으로 분류하는 분류기를 이용하여 상기 부가 오디오 데이터를 처리하는 단계;
    오디오 데이터를 특정 핫워드를 포함하는 것으로 또는 상기 특정 핫워드를 포함하지 않는 것으로 분류하는 상기 분류기를 이용하여 상기 부가 오디오 데이터를 처리하는 것에 기초하여, 상기 부가 발성이 상기 특정 핫워드를 포함할 제3 가능성을 반영하는 제3 값을 결정하는 단계;
    제3 컴퓨팅 디바이스에 의해 결정된, 상기 부가 발성이 상기 특정 핫워드를 포함할 제4 가능성을 반영하는 제4 값을 수신하는 단계;
    상기 부가 발성이 상기 특정 핫워드를 포함할 상기 제3 가능성을 반영하는 상기 제3 값과 상기 부가 발성이 상기 특정 핫워드를 포함할 상기 제4 가능성을 반영하는 상기 제4 값을 비교하는 단계; 및
    상기 부가 발성이 상기 특정 핫워드를 포함할 상기 제3 가능성을 반영하는 상기 제3 값과 상기 부가 발성이 상기 특정 핫워드를 포함할 상기 제4 가능성을 반영하는 상기 제4 값을 비교하는 것에 기초하여, 상기 부가 오디오 데이터에 대한 자동 음성 인식 처리의 수행을 시작할지를 결정하는 단계
    를 포함하는 방법.
    The method according to claim 1,
    Receiving, by the first computing device, additional audio data corresponding to additional speech;
    Processing the additional audio data using a classifier that classifies audio data as containing a specific hot word or not including the specific hot word before starting automatic speech recognition processing on the additional audio data;
    Based on processing the additional audio data by using the classifier that classifies the audio data as including a specific hot word or not including the specific hot word, 3 determining a third value that reflects the likelihood;
    Receiving a fourth value determined by the third computing device, the fourth value reflecting the fourth possibility that the additive utterance will include the particular hot word;
    Comparing the third value that reflects the third possibility that the additive utterance includes the specific hot word and the fourth value that reflects the fourth possibility that the utterance includes the specific hot word; And
    Wherein the additive utterance is based on comparing the third value that reflects the third possibility to include the particular hot word and the fourth value that reflects the fourth possibility that the additive utterance includes the particular hot word And determining whether to start performing automatic speech recognition processing on the additional audio data
    ≪ / RTI >
  6. 제1항에 있어서,
    제2 컴퓨팅 디바이스에 의해 결정된, 상기 발성이 상기 특정 핫워드를 포함할 제2 가능성을 반영하는 제2 값을 수신하는 단계는:
    서버로부터, 로컬 네트워크를 통하여, 또는 단거리 무선 통신 채널을 통하여, 상기 발성이 상기 특정 핫워드를 포함할 상기 제2 가능성을 반영하는 제2 값을 수신하는 단계를 포함하는 방법.
    The method according to claim 1,
    Receiving a second value, determined by the second computing device, the second value reflecting the second possibility that the utterance includes the particular hot word comprises:
    Receiving a second value from the server, through the local network, or via a short-range wireless communication channel, the vocalization reflecting the second possibility to include the particular hot word.
  7. 제1항에 있어서,
    상기 제2 컴퓨팅 디바이스가 상기 특정 핫워드를 포함하는 발성들에 응답하도록 구성된 것을 결정하는 단계를 포함하고,
    상기 발성이 상기 특정 핫워드를 포함할 상기 제1 가능성을 반영하는 상기 제1 값과 상기 발성이 상기 특정 핫워드를 포함할 상기 제2 가능성을 반영하는 상기 제2 값을 비교하는 단계는 상기 제2 컴퓨팅 디바이스가 상기 특정 핫워드를 포함하는 발성들에 응답하도록 구성된 것을 결정하는 것에 응답하여 수행되는 방법.
    The method according to claim 1,
    Determining that the second computing device is configured to respond to voices comprising the particular hot word,
    Wherein the step of comparing the first value, which reflects the first possibility that the utterance includes the specific hot word, and the second value, which reflects the second possibility that the utterance includes the specific hot word, 2 < / RTI > computing device is configured to respond to voices comprising the particular hot word.
  8. 제1항에 있어서,
    제2 컴퓨팅 디바이스에 의해 결정된, 상기 발성이 상기 특정 핫워드를 포함할 제2 가능성을 반영하는 제2 값을 수신하는 단계는:
    상기 제2 컴퓨팅 디바이스의 제2 식별자를 수신하는 단계를 포함하는 방법.
    The method according to claim 1,
    Receiving a second value, determined by the second computing device, the second value reflecting the second possibility that the utterance includes the particular hot word comprises:
    And receiving a second identifier of the second computing device.
  9. 제4항에 있어서, 상기 오디오 데이터에 대한 자동 음성 인식 처리의 수행을 시작할지를 결정하는 단계는 또한, 상기 발성에 대응하는 상기 오디오 데이터를 수신하는 단계 이후 특정량의 시간이 경과한 것을 결정하는 단계에 기초하는 방법.5. The method of claim 4, wherein determining whether to start performing automatic speech recognition processing on the audio data further comprises: determining that a specific amount of time has elapsed since receiving the audio data corresponding to the utterance / RTI >
  10. 제4항에 있어서,
    상기 활성화 상태가 활성 상태인 것을 결정하는 것에 기초하여, 특정량의 시간 동안, 상기 발성이 상기 특정 핫워드를 포함할 상기 제1 가능성을 반영하는 상기 제1 값을 송신하는 단계를 포함하는 방법.
    5. The method of claim 4,
    The method comprising transmitting the first value reflecting the first possibility that the utterance will include the particular hot word for a specified amount of time based on determining that the activation state is active.
  11. 제1항에 있어서,
    상기 발성이 상기 특정 핫워드를 포함할 상기 제1 가능성을 반영하는 상기 제1 값과 상기 발성이 상기 특정 핫워드를 포함할 상기 제2 가능성을 반영하는 상기 제2 값을 비교하는 것에 기초하여, 상기 발성이 상기 특정 핫워드를 포함할 상기 제1 가능성을 반영하는 상기 제1 값이 상기 발성이 상기 특정 핫워드를 포함할 상기 제2 가능성을 반영하는 상기 제2 값보다 큰 것을 결정하는 단계를 포함하고,
    상기 오디오 데이터에 대한 자동 음성 인식 처리를 수행할지를 결정하는 단계는:
    상기 발성이 상기 특정 핫워드를 포함할 상기 제1 가능성을 반영하는 상기 제1 값이 상기 발성이 상기 특정 핫워드를 포함할 상기 제2 가능성을 반영하는 상기 제2 값보다 큰 것을 결정하는 것에 기초하여, 상기 오디오 데이터에 대한 자동 음성 인식 처리의 수행을 시작하기로 결정하는 단계를 포함하는 방법.
    The method according to claim 1,
    Based on the first value reflecting the first possibility that the utterance includes the specific hot word and the second value reflecting the second possibility that the utterance will include the particular hot word, The step of determining that the first value reflecting the first possibility that the utterance includes the specific hot word is greater than the second value reflecting the second possibility that the utterance includes the particular hot word Including,
    Wherein the step of determining whether to perform automatic speech recognition processing on the audio data comprises:
    Wherein the first value reflecting the first possibility that the utterance includes the particular hot word is determined based on determining that the utterance is greater than the second value reflecting the second possibility to include the particular hot word And determining to start performing automatic speech recognition processing on the audio data.
  12. 제1항에 있어서,
    상기 발성이 상기 특정 핫워드를 포함할 상기 제1 가능성을 반영하는 상기 제1 값과 상기 발성이 상기 특정 핫워드를 포함할 상기 제2 가능성을 반영하는 상기 제2 값을 비교하는 것에 기초하여, 상기 발성이 상기 특정 핫워드를 포함할 상기 제1 가능성을 반영하는 상기 제1 값이 상기 발성이 상기 특정 핫워드를 포함할 상기 제2 가능성을 반영하는 상기 제2 값보다 작은 것을 결정하는 단계를 포함하고,
    상기 오디오 데이터에 대한 자동 음성 인식 처리를 수행할지를 결정하는 단계는:
    상기 발성이 상기 특정 핫워드를 포함할 상기 제1 가능성을 반영하는 상기 제1 값이 상기 발성이 상기 특정 핫워드를 포함할 상기 제2 가능성을 반영하는 상기 제2 값보다 작은 것을 결정하는 것에 기초하여, 상기 오디오 데이터에 대한 자동 음성 인식 처리의 수행을 시작하지 않기로 결정하는 단계를 포함하는 방법.
    The method according to claim 1,
    Based on the first value reflecting the first possibility that the utterance includes the specific hot word and the second value reflecting the second possibility that the utterance will include the particular hot word, The step of determining that the first value reflecting the first possibility that the utterance includes the specific hot word is less than the second value reflecting the second possibility that the utterance includes the particular hot word Including,
    Wherein the step of determining whether to perform automatic speech recognition processing on the audio data comprises:
    Wherein the first value reflecting the first possibility that the utterance includes the particular hot word is determined based on determining that the utterance is less than the second value reflecting the second possibility to include the particular hot word And deciding not to start performing automatic speech recognition processing on the audio data.
  13. 제1항에 있어서, 오디오 데이터를 특정 핫워드를 포함하는 것으로 또는 상기 특정 핫워드를 포함하지 않는 것으로 분류하는 분류기를 이용하여 상기 오디오 데이터를 처리하는 단계는:
    상기 오디오 데이터로부터 필터뱅크 에너지(filterbank energy)들 또는 멜 주파수 켑스트럼 계수(mel-frequency cepstral coefficient)들을 추출하는 단계를 포함하는 방법.
    2. The method of claim 1, wherein processing the audio data using a classifier that classifies audio data as comprising a particular hot word or not includes the specific hot word comprises:
    Extracting filterbank energies or mel-frequency cepstral coefficients from the audio data.
  14. 제1항에 있어서, 오디오 데이터를 특정 핫워드를 포함하는 것으로 또는 상기 특정 핫워드를 포함하지 않는 것으로 분류하는 분류기를 이용하여 상기 오디오 데이터를 처리하는 단계는:
    서포트 벡터 머신(support vector machine) 또는 신경망(neural network)을 이용하여 상기 오디오 데이터를 처리하는 단계를 포함하는 방법.
    2. The method of claim 1, wherein processing the audio data using a classifier that classifies audio data as comprising a particular hot word or not includes the specific hot word comprises:
    Processing the audio data using a support vector machine or a neural network.
  15. 컴퓨팅 디바이스로서,
    상기 컴퓨팅 디바이스에 의해 실행될 때, 상기 컴퓨팅 디바이스로 하여금 복수의 컴퓨팅 디바이스 중 어느 컴퓨팅 디바이스가 자동 음성 인식을 수행할지를 결정하기 위한 동작들을 수행하게 하도록 동작 가능한 명령어들을 저장하는 하나 이상의 저장 디바이스를 포함하고, 상기 동작들은:
    제1 컴퓨팅 디바이스에 의해, 발성에 대응하는 오디오 데이터를 수신하는 동작;
    상기 오디오 데이터에 대한 자동 음성 인식 처리를 시작하기 전에, 오디오 데이터를 특정 핫워드를 포함하는 것으로 또는 상기 특정 핫워드를 포함하지 않는 것으로 분류하는 분류기를 이용하여 상기 오디오 데이터를 처리하는 동작;
    오디오 데이터를 특정 핫워드를 포함하는 것으로 또는 상기 특정 핫워드를 포함하지 않는 것으로 분류하는 상기 분류기를 이용하여 상기 오디오 데이터를 처리하는 것에 기초하여, 상기 발성이 상기 특정 핫워드를 포함할 제1 가능성을 반영하는 제1 값을 결정하는 동작;
    제2 컴퓨팅 디바이스에 의해 결정된, 상기 발성이 상기 특정 핫워드를 포함할 제2 가능성을 반영하는 제2 값을 수신하는 동작;
    상기 발성이 상기 특정 핫워드를 포함할 상기 제1 가능성을 반영하는 상기 제1 값과 상기 발성이 상기 특정 핫워드를 포함할 상기 제2 가능성을 반영하는 상기 제2 값을 비교하는 동작; 및
    상기 발성이 상기 특정 핫워드를 포함할 상기 제1 가능성을 반영하는 상기 제1 값과 상기 발성이 상기 특정 핫워드를 포함할 상기 제2 가능성을 반영하는 상기 제2 값을 비교하는 것에 기초하여, 상기 오디오 데이터에 대한 자동 음성 인식 처리의 수행을 시작할지를 결정하는 동작
    을 포함하는, 컴퓨팅 디바이스.
    As a computing device,
    And at least one storage device operable, when executed by the computing device, to store instructions operable to cause the computing device to perform operations for determining which of a plurality of computing devices to perform automatic speech recognition, The operations include:
    Receiving, by the first computing device, audio data corresponding to the utterance;
    Processing the audio data using a classifier that classifies the audio data as comprising a specific hot word or not including the specific hot word before starting automatic speech recognition processing on the audio data;
    Based on processing the audio data using the classifier to classify the audio data as comprising a specific hot word or not including the specific hot word, Determining a first value that reflects the first value;
    Receiving a second value determined by the second computing device, the second value reflecting the second possibility that the utterance includes the particular hot word;
    Comparing the first value that reflects the first possibility that the utterance includes the particular hot word and the second value that reflects the second possibility that the utterance includes the particular hot word; And
    Based on the first value reflecting the first possibility that the utterance includes the specific hot word and the second value reflecting the second possibility that the utterance will include the particular hot word, An operation for determining whether to start performing automatic speech recognition processing on the audio data
    Gt; computing device. ≪ / RTI >
  16. 제15항에 있어서, 상기 동작들은:
    상기 제1 값이 핫워드 점수를 만족시키는 것을 결정하는 동작; 및
    상기 제1 값이 상기 핫워드 점수를 만족시키는 것을 결정하는 것에 기초하여, 상기 발성이 상기 특정 핫워드를 포함할 상기 제1 가능성을 반영하는 상기 제1 값을 상기 제2 컴퓨팅 디바이스에 송신하는 동작
    을 더 포함하는 컴퓨팅 디바이스.
    16. The method of claim 15, wherein the operations comprise:
    Determining that the first value satisfies a hot word score; And
    Sending the first value to the second computing device, the first value reflecting the first possibility that the utterance includes the particular hot word, based on determining that the first value satisfies the hot word score
    Lt; / RTI >
  17. 제15항에 있어서, 상기 동작들은:
    상기 발성이 상기 특정 핫워드를 포함할 상기 제1 가능성을 반영하는 상기 제1 값과 상기 발성이 상기 특정 핫워드를 포함할 상기 제2 가능성을 반영하는 상기 제2 값을 비교하는 것에 기초하여, 상기 제1 컴퓨팅 디바이스의 활성화 상태를 결정하는 동작을 더 포함하는 컴퓨팅 디바이스.
    16. The method of claim 15, wherein the operations comprise:
    Based on the first value reflecting the first possibility that the utterance includes the specific hot word and the second value reflecting the second possibility that the utterance will include the particular hot word, The method further comprising: determining an activation state of the first computing device.
  18. 제17항에 있어서, 상기 발성이 상기 특정 핫워드를 포함할 상기 제1 가능성을 반영하는 상기 제1 값과 상기 발성이 상기 특정 핫워드를 포함할 상기 제2 가능성을 반영하는 상기 제2 값을 비교하는 것에 기초하여, 상기 제1 컴퓨팅 디바이스의 활성화 상태를 결정하는 동작은:
    상기 제1 컴퓨팅 디바이스의 상기 활성화 상태가 활성 상태인 것을 결정하는 동작을 포함하는 컴퓨팅 디바이스.
    18. The method of claim 17, wherein the first value reflecting the first possibility that the utterance includes the particular hot word and the second value reflecting the second possibility that the utterance includes the particular hot word Based on the comparison, the act of determining the activation state of the first computing device comprises:
    And determining that the activation state of the first computing device is active.
  19. 제15항에 있어서, 상기 동작들은:
    상기 제1 컴퓨팅 디바이스에 의해, 부가 발성에 대응하는 부가 오디오 데이터를 수신하는 동작;
    상기 부가 오디오 데이터에 대한 자동 음성 인식 처리를 시작하기 전에, 오디오 데이터를 특정 핫워드를 포함하는 것으로 또는 상기 특정 핫워드를 포함하지 않는 것으로 분류하는 분류기를 이용하여 상기 부가 오디오 데이터를 처리하는 동작;
    오디오 데이터를 특정 핫워드를 포함하는 것으로 또는 상기 특정 핫워드를 포함하지 않는 것으로 분류하는 상기 분류기를 이용하여 상기 부가 오디오 데이터를 처리하는 것에 기초하여, 상기 부가 발성이 상기 특정 핫워드를 포함할 제3 가능성을 반영하는 제3 값을 결정하는 동작;
    제3 컴퓨팅 디바이스에 의해 결정된, 상기 부가 발성이 상기 특정 핫워드를 포함할 제4 가능성을 반영하는 제4 값을 수신하는 동작;
    상기 부가 발성이 상기 특정 핫워드를 포함할 상기 제3 가능성을 반영하는 상기 제3 값과 상기 부가 발성이 상기 특정 핫워드를 포함할 상기 제4 가능성을 반영하는 상기 제4 값을 비교하는 동작; 및
    상기 부가 발성이 상기 특정 핫워드를 포함할 상기 제3 가능성을 반영하는 상기 제3 값과 상기 부가 발성이 상기 특정 핫워드를 포함할 상기 제4 가능성을 반영하는 상기 제4 값을 비교하는 것에 기초하여, 상기 부가 오디오 데이터에 대한 자동 음성 인식 처리의 수행을 시작할지를 결정하는 동작
    을 더 포함하는 컴퓨팅 디바이스.
    16. The method of claim 15, wherein the operations comprise:
    Receiving, by the first computing device, additional audio data corresponding to additional speech;
    Processing the additional audio data using a classifier that classifies the audio data as containing a specific hot word or not including the specific hot word before starting automatic speech recognition processing on the additional audio data;
    Based on processing the additional audio data by using the classifier that classifies the audio data as including a specific hot word or not including the specific hot word, 3 < / RTI >
    Receiving a fourth value determined by the third computing device, the fourth value reflecting the fourth possibility that the additive utterance includes the particular hot word;
    The third value reflecting the third possibility that the additive utterance includes the specific hot word and the fourth value reflecting the fourth possibility that the additive utterance will include the specific hot word; And
    Wherein the additive utterance is based on comparing the third value that reflects the third possibility to include the particular hot word and the fourth value that reflects the fourth possibility that the additive utterance includes the particular hot word An operation of determining whether to start performing automatic speech recognition processing on the additional audio data
    Lt; / RTI >
  20. 제15항에 있어서,
    제2 컴퓨팅 디바이스에 의해 결정된, 상기 발성이 상기 특정 핫워드를 포함할 제2 가능성을 반영하는 제2 값을 수신하는 동작은:
    서버로부터, 로컬 네트워크를 통하여, 또는 단거리 무선 통신 채널을 통하여, 상기 발성이 상기 특정 핫워드를 포함할 상기 제2 가능성을 반영하는 제2 값을 수신하는 동작을 포함하는 컴퓨팅 디바이스.
    16. The method of claim 15,
    The operation of receiving a second value determined by the second computing device, the second value reflecting the second possibility that the utterance includes the particular hot word comprises:
    Receiving from the server, via the local network, or via a short-range wireless communication channel, a second value that reflects the second possibility that the utterance will include the particular hot word.
  21. 제15항에 있어서, 상기 동작들은:
    상기 제2 컴퓨팅 디바이스가 상기 특정 핫워드를 포함하는 발성들에 응답하도록 구성된 것을 결정하는 동작을 더 포함하고,
    상기 발성이 상기 특정 핫워드를 포함할 상기 제1 가능성을 반영하는 상기 제1 값과 상기 발성이 상기 특정 핫워드를 포함할 상기 제2 가능성을 반영하는 상기 제2 값을 비교하는 것은 상기 제2 컴퓨팅 디바이스가 상기 특정 핫워드를 포함하는 발성들에 응답하도록 구성된 것을 결정하는 것에 응답하여 수행되는 컴퓨팅 디바이스.
    16. The method of claim 15, wherein the operations comprise:
    Further comprising determining that the second computing device is configured to respond to voices comprising the particular hot word,
    The first value reflecting the first possibility that the utterance includes the particular hot word and the second value reflecting the second possibility that the utterance will include the particular hot word may be compared to the second value, Wherein the computing device is responsive to determining that it is configured to respond to voices comprising the particular hot word.
  22. 하나 이상의 컴퓨터에 의해 실행 가능한 명령어들을 포함하는 소프트웨어를 저장하는 컴퓨터 판독가능 저장 매체로서,
    상기 명령어들은, 실행시에, 상기 하나 이상의 컴퓨터로 하여금 복수의 컴퓨팅 디바이스 중 어느 컴퓨팅 디바이스가 자동 음성 인식을 수행할지를 결정하기 위한 동작들을 수행하게 하고, 상기 동작들은:
    제1 컴퓨팅 디바이스에 의해, 발성에 대응하는 오디오 데이터를 수신하는 동작;
    상기 오디오 데이터에 대한 자동 음성 인식 처리를 시작하기 전에, 오디오 데이터를 특정 핫워드를 포함하는 것으로 또는 상기 특정 핫워드를 포함하지 않는 것으로 분류하는 분류기를 이용하여 상기 오디오 데이터를 처리하는 동작;
    오디오 데이터를 특정 핫워드를 포함하는 것으로 또는 상기 특정 핫워드를 포함하지 않는 것으로 분류하는 상기 분류기를 이용하여 상기 오디오 데이터를 처리하는 것에 기초하여, 상기 발성이 상기 특정 핫워드를 포함할 제1 가능성을 반영하는 제1 값을 결정하는 동작;
    제2 컴퓨팅 디바이스에 의해 결정된, 상기 발성이 상기 특정 핫워드를 포함할 제2 가능성을 반영하는 제2 값을 수신하는 동작;
    상기 발성이 상기 특정 핫워드를 포함할 상기 제1 가능성을 반영하는 상기 제1 값과 상기 발성이 상기 특정 핫워드를 포함할 상기 제2 가능성을 반영하는 상기 제2 값을 비교하는 동작; 및
    상기 발성이 상기 특정 핫워드를 포함할 상기 제1 가능성을 반영하는 상기 제1 값과 상기 발성이 상기 특정 핫워드를 포함할 상기 제2 가능성을 반영하는 상기 제2 값을 비교하는 것에 기초하여, 상기 오디오 데이터에 대한 자동 음성 인식 처리의 수행을 시작할지를 결정하는 동작
    을 포함하는, 컴퓨터 판독가능 저장 매체.
    25. A computer readable storage medium storing software comprising instructions executable by one or more computers,
    Wherein the instructions, when executed, cause the one or more computers to perform operations to determine which of a plurality of computing devices to perform automatic speech recognition, the operations comprising:
    Receiving, by the first computing device, audio data corresponding to the utterance;
    Processing the audio data using a classifier that classifies the audio data as comprising a specific hot word or not including the specific hot word before starting automatic speech recognition processing on the audio data;
    Based on processing the audio data using the classifier to classify the audio data as comprising a specific hot word or not including the specific hot word, Determining a first value that reflects the first value;
    Receiving a second value determined by the second computing device, the second value reflecting the second possibility that the utterance includes the particular hot word;
    Comparing the first value that reflects the first possibility that the utterance includes the particular hot word and the second value that reflects the second possibility that the utterance includes the particular hot word; And
    Based on the first value reflecting the first possibility that the utterance includes the specific hot word and the second value reflecting the second possibility that the utterance will include the particular hot word, An operation for determining whether to start performing automatic speech recognition processing on the audio data
    Gt; computer-readable < / RTI >
KR1020167021778A 2014-10-09 2015-09-29 Hotword detection on multiple devices KR101752119B1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US201462061830P true 2014-10-09 2014-10-09
US62/061,830 2014-10-09
US14/675,932 2015-04-01
US14/675,932 US9318107B1 (en) 2014-10-09 2015-04-01 Hotword detection on multiple devices
PCT/US2015/052860 WO2016057268A1 (en) 2014-10-09 2015-09-29 Hotword detection on multiple devices

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020167022701A Division KR101832648B1 (en) 2014-10-09 2015-09-29 Hotword detection on multiple devices

Publications (2)

Publication Number Publication Date
KR20160101198A KR20160101198A (en) 2016-08-24
KR101752119B1 true KR101752119B1 (en) 2017-06-28

Family

ID=54330874

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020167022701A KR101832648B1 (en) 2014-10-09 2015-09-29 Hotword detection on multiple devices
KR1020167021778A KR101752119B1 (en) 2014-10-09 2015-09-29 Hotword detection on multiple devices

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020167022701A KR101832648B1 (en) 2014-10-09 2015-09-29 Hotword detection on multiple devices

Country Status (6)

Country Link
US (6) US9318107B1 (en)
EP (4) EP3139378B1 (en)
JP (5) JP6208376B2 (en)
KR (2) KR101832648B1 (en)
CN (2) CN106030699B (en)
WO (1) WO2016057268A1 (en)

Families Citing this family (195)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US11017428B2 (en) 2008-02-21 2021-05-25 Google Llc System and method of data transmission rate adjustment
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US10776830B2 (en) 2012-05-23 2020-09-15 Google Llc Methods and systems for identifying new computers and providing matching services
US10152723B2 (en) 2012-05-23 2018-12-11 Google Llc Methods and systems for identifying new computers and providing matching services
US10735552B2 (en) 2013-01-31 2020-08-04 Google Llc Secondary transmissions of packetized data
US10650066B2 (en) 2013-01-31 2020-05-12 Google Llc Enhancing sitelinks with creative content
KR102118209B1 (en) 2013-02-07 2020-06-02 애플 인크. Voice trigger for a digital assistant
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US9589564B2 (en) * 2014-02-05 2017-03-07 Google Inc. Multiple speech locale-specific hotword classifiers for selection of a speech locale
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
CN106471570B (en) 2014-05-30 2019-10-01 苹果公司 Order single language input method more
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US9257120B1 (en) 2014-07-18 2016-02-09 Google Inc. Speaker verification using co-location information
KR20160023089A (en) * 2014-08-21 2016-03-03 엘지전자 주식회사 Digital device and method for controlling the same
US10748539B2 (en) * 2014-09-10 2020-08-18 Crestron Electronics, Inc. Acoustic sensory network
US10783888B2 (en) * 2015-09-10 2020-09-22 Crestron Electronics Inc. System and method for determining recipient of spoken command in a control system
US10204622B2 (en) * 2015-09-10 2019-02-12 Crestron Electronics, Inc. Acoustic sensory network
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9812128B2 (en) 2014-10-09 2017-11-07 Google Inc. Device leadership negotiation among voice interface devices
WO2018067528A1 (en) * 2016-10-03 2018-04-12 Google Llc Device leadership negotiation among voice interface devices
US9318107B1 (en) 2014-10-09 2016-04-19 Google Inc. Hotword detection on multiple devices
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
KR20170009337A (en) * 2015-07-16 2017-01-25 삼성전자주식회사 Method and Apparatus for alarming user interest voice
CN106469040B (en) * 2015-08-19 2019-06-21 华为终端有限公司 Communication means, server and equipment
US9542941B1 (en) * 2015-10-01 2017-01-10 Lenovo (Singapore) Pte. Ltd. Situationally suspending wakeup word to enable voice command input
US9653075B1 (en) * 2015-11-06 2017-05-16 Google Inc. Voice commands across devices
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10185544B1 (en) * 2015-12-28 2019-01-22 Amazon Technologies, Inc. Naming devices via voice commands
US10026401B1 (en) 2015-12-28 2018-07-17 Amazon Technologies, Inc. Naming devices via voice commands
US10127906B1 (en) 2015-12-28 2018-11-13 Amazon Technologies, Inc. Naming devices via voice commands
US10453460B1 (en) * 2016-02-02 2019-10-22 Amazon Technologies, Inc. Post-speech recognition request surplus detection and prevention
JP2017138476A (en) * 2016-02-03 2017-08-10 ソニー株式会社 Information processing device, information processing method, and program
US10743101B2 (en) 2016-02-22 2020-08-11 Sonos, Inc. Content mixing
US9947316B2 (en) 2016-02-22 2018-04-17 Sonos, Inc. Voice control of a media playback system
US9811314B2 (en) 2016-02-22 2017-11-07 Sonos, Inc. Metadata exchange involving a networked playback system and a networked microphone system
US10097939B2 (en) 2016-02-22 2018-10-09 Sonos, Inc. Compensation for speaker nonlinearities
US9965247B2 (en) 2016-02-22 2018-05-08 Sonos, Inc. Voice controlled media playback system based on user profile
US10264030B2 (en) 2016-02-22 2019-04-16 Sonos, Inc. Networked microphone device control
US10095470B2 (en) 2016-02-22 2018-10-09 Sonos, Inc. Audio response playback
US9779735B2 (en) * 2016-02-24 2017-10-03 Google Inc. Methods and systems for detecting and processing speech signals
US10229687B2 (en) * 2016-03-10 2019-03-12 Microsoft Technology Licensing, Llc Scalable endpoint-dependent natural language understanding
US9948479B2 (en) * 2016-04-05 2018-04-17 Vivint, Inc. Identification graph theory
WO2017197312A2 (en) * 2016-05-13 2017-11-16 Bose Corporation Processing speech from distributed microphones
US9978390B2 (en) 2016-06-09 2018-05-22 Sonos, Inc. Dynamic player selection for audio signal processing
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US10152969B2 (en) 2016-07-15 2018-12-11 Sonos, Inc. Voice detection by multiple devices
US10134399B2 (en) 2016-07-15 2018-11-20 Sonos, Inc. Contextualization of voice inputs
US10438583B2 (en) * 2016-07-20 2019-10-08 Lenovo (Singapore) Pte. Ltd. Natural language voice assistant
US10621992B2 (en) * 2016-07-22 2020-04-14 Lenovo (Singapore) Pte. Ltd. Activating voice assistant based on at least one of user proximity and context
KR20180012055A (en) * 2016-07-26 2018-02-05 삼성전자주식회사 Electronic device and method for operating the same
US10810212B2 (en) * 2016-07-29 2020-10-20 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Validating provided information in a conversation
US10115400B2 (en) 2016-08-05 2018-10-30 Sonos, Inc. Multiple voice services
US9693164B1 (en) 2016-08-05 2017-06-27 Sonos, Inc. Determining direction of networked microphone device relative to audio playback device
US9972320B2 (en) 2016-08-24 2018-05-15 Google Llc Hotword detection on multiple devices
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US9794720B1 (en) 2016-09-22 2017-10-17 Sonos, Inc. Acoustic position measurement
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
TWI606390B (en) * 2016-09-23 2017-11-21 元鼎音訊股份有限公司 Method for automatic adjusting output of sound and electronic device
US9942678B1 (en) 2016-09-27 2018-04-10 Sonos, Inc. Audio playback settings for voice interaction
US9743204B1 (en) 2016-09-30 2017-08-22 Sonos, Inc. Multi-orientation playback device microphones
US10181323B2 (en) 2016-10-19 2019-01-15 Sonos, Inc. Arbitration-based voice recognition
US10592611B2 (en) * 2016-10-24 2020-03-17 Conduent Business Services, Llc System for automatic extraction of structure from spoken conversation using lexical and acoustic features
US10783883B2 (en) * 2016-11-03 2020-09-22 Google Llc Focus session at a voice interface device
EP3430617B1 (en) 2016-11-07 2019-10-23 Google LLC Recorded media hotword trigger suppression
US10079015B1 (en) * 2016-12-06 2018-09-18 Amazon Technologies, Inc. Multi-layer keyword detection
US10311875B2 (en) * 2016-12-22 2019-06-04 Soundhound, Inc. Full-duplex utterance processing in a natural language virtual assistant
US10559309B2 (en) * 2016-12-22 2020-02-11 Google Llc Collaborative voice controlled devices
US10032452B1 (en) * 2016-12-30 2018-07-24 Google Llc Multimodal transmission of packetized data
US10593329B2 (en) 2016-12-30 2020-03-17 Google Llc Multimodal transmission of packetized data
US10708313B2 (en) 2016-12-30 2020-07-07 Google Llc Multimodal transmission of packetized data
US10013986B1 (en) 2016-12-30 2018-07-03 Google Llc Data structure pooling of voice activated data packets
KR20180083587A (en) * 2017-01-13 2018-07-23 삼성전자주식회사 Electronic device and operating method thereof
US10810510B2 (en) 2017-02-17 2020-10-20 International Business Machines Corporation Conversation and context aware fraud and abuse prevention agent
US10757058B2 (en) 2017-02-17 2020-08-25 International Business Machines Corporation Outgoing communication scam prevention
US10102868B2 (en) * 2017-02-17 2018-10-16 International Business Machines Corporation Bot-based honeypot poison resilient data collection
US9990926B1 (en) * 2017-03-13 2018-06-05 Intel Corporation Passive enrollment method for speaker identification systems
US20180277113A1 (en) * 2017-03-27 2018-09-27 Sonos, Inc. Systems and Methods of Multiple Voice Services
US10748531B2 (en) * 2017-04-13 2020-08-18 Harman International Industries, Incorporated Management layer for multiple intelligent personal assistant services
CN110603584A (en) 2017-04-20 2019-12-20 谷歌有限责任公司 Multi-user authentication on a device
KR20180118470A (en) * 2017-04-21 2018-10-31 엘지전자 주식회사 Voice recognition apparatus and voice recognition method
IL252071D0 (en) 2017-05-03 2017-07-31 Google Inc Contextual language translation
CN108235745B (en) * 2017-05-08 2021-01-08 深圳前海达闼云端智能科技有限公司 Robot awakening method and device and robot
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. User interface for correcting recognition errors
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK201770428A1 (en) 2017-05-12 2019-02-18 Apple Inc. Low-latency intelligent automated assistant
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
DK179549B1 (en) 2017-05-16 2019-02-12 Apple Inc. Far-field extension for digital assistant services
US20180336892A1 (en) * 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US10664533B2 (en) 2017-05-24 2020-05-26 Lenovo (Singapore) Pte. Ltd. Systems and methods to determine response cue for digital assistant based on context
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
US10395650B2 (en) 2017-06-05 2019-08-27 Google Llc Recorded media hotword trigger suppression
US10283117B2 (en) * 2017-06-19 2019-05-07 Lenovo (Singapore) Pte. Ltd. Systems and methods for identification of response cue at peripheral device
CN109213777A (en) * 2017-06-29 2019-01-15 杭州九阳小家电有限公司 A kind of voice-based recipe processing method and system
KR102052510B1 (en) * 2017-08-03 2019-12-05 에스케이브로드밴드주식회사 Voice bridge appratus and voice recognition apparatus, and control method thereof
US10475449B2 (en) * 2017-08-07 2019-11-12 Sonos, Inc. Wake-word detection suppression
JP6513749B2 (en) * 2017-08-09 2019-05-15 レノボ・シンガポール・プライベート・リミテッド Voice assist system, server device, voice assist method thereof, and program for execution by computer
US10777197B2 (en) 2017-08-28 2020-09-15 Roku, Inc. Audio responsive device with play/stop and tell me something buttons
US10048930B1 (en) 2017-09-08 2018-08-14 Sonos, Inc. Dynamic computation of system response volume
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10446165B2 (en) 2017-09-27 2019-10-15 Sonos, Inc. Robust short-time fourier transform acoustic echo cancellation during audio playback
US10051366B1 (en) 2017-09-28 2018-08-14 Sonos, Inc. Three-dimensional beam forming with a microphone array
US10621981B2 (en) 2017-09-28 2020-04-14 Sonos, Inc. Tone interference cancellation
US10482868B2 (en) 2017-09-28 2019-11-19 Sonos, Inc. Multi-channel acoustic echo cancellation
US10466962B2 (en) 2017-09-29 2019-11-05 Sonos, Inc. Media playback system with voice assistance
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
US10403288B2 (en) 2017-10-17 2019-09-03 Google Llc Speaker diarization
US10916252B2 (en) 2017-11-10 2021-02-09 Nvidia Corporation Accelerated data transfer for latency reduction and real-time processing
CN107919119A (en) 2017-11-16 2018-04-17 百度在线网络技术(北京)有限公司 Method, apparatus, equipment and the computer-readable medium of more equipment interaction collaborations
US10157611B1 (en) * 2017-11-29 2018-12-18 Nuance Communications, Inc. System and method for speech enhancement in multisource environments
US10102858B1 (en) * 2017-11-29 2018-10-16 International Business Machines Corporation Dynamically changing audio keywords
US10482878B2 (en) * 2017-11-29 2019-11-19 Nuance Communications, Inc. System and method for speech enhancement in multisource environments
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
US10880650B2 (en) 2017-12-10 2020-12-29 Sonos, Inc. Network microphone devices with automatic do not disturb actuation capabilities
US10818290B2 (en) 2017-12-11 2020-10-27 Sonos, Inc. Home graph
US10672380B2 (en) * 2017-12-27 2020-06-02 Intel IP Corporation Dynamic enrollment of user-defined wake-up key-phrase for speech enabled computer system
WO2019128541A1 (en) * 2017-12-31 2019-07-04 Midea Group Co., Ltd. Method and system for controlling multiple home devices
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US20190251960A1 (en) * 2018-02-13 2019-08-15 Roku, Inc. Trigger Word Detection With Multiple Digital Assistants
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US20190288867A1 (en) * 2018-03-15 2019-09-19 Lenovo (Singapore) Pte. Ltd. Alternative output response based on context
US20190295532A1 (en) * 2018-03-22 2019-09-26 Adobe Inc. Remote Generation of Executable Code for a Client Application Based on Natural Language Commands Captured at a Client Device
US10755706B2 (en) * 2018-03-26 2020-08-25 Midea Group Co., Ltd. Voice-based user interface with dynamically switchable endpoints
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
US20190304443A1 (en) * 2018-03-30 2019-10-03 Oath Inc. Electronic message transmission
EP3580751B8 (en) * 2018-04-16 2021-02-24 Google LLC Automatically determining language for speech recognition of spoken utterance received via an automated assistant interface
SG11201912061WA (en) 2018-04-16 2020-01-30 Google Llc Automatically determining language for speech recognition of spoken utterance received via an automated assistant interface
EP3564949A1 (en) * 2018-04-23 2019-11-06 Spotify AB Activation trigger processing
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
CN108615526B (en) * 2018-05-08 2020-07-07 腾讯科技(深圳)有限公司 Method, device, terminal and storage medium for detecting keywords in voice signal
US10847178B2 (en) 2018-05-18 2020-11-24 Sonos, Inc. Linear filtering for noise-suppressed speech detection
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
US10692496B2 (en) 2018-05-22 2020-06-23 Google Llc Hotword suppression
US10959029B2 (en) 2018-05-25 2021-03-23 Sonos, Inc. Determining and adapting to changes in microphone performance of playback devices
DK201870382A1 (en) 2018-06-01 2020-01-13 Apple Inc. Attention aware virtual assistant dismissal
US10892996B2 (en) * 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK179822B1 (en) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US20190371316A1 (en) 2018-06-03 2019-12-05 Apple Inc. Accelerated task performance
US10636425B2 (en) 2018-06-05 2020-04-28 Voicify, LLC Voice application platform
US10803865B2 (en) * 2018-06-05 2020-10-13 Voicify, LLC Voice application platform
US10235999B1 (en) 2018-06-05 2019-03-19 Voicify, LLC Voice application platform
GB2574803A (en) * 2018-06-11 2019-12-25 Xmos Ltd Communication between audio devices
US10783886B2 (en) * 2018-06-12 2020-09-22 International Business Machines Corporation Cognitive agent disambiguation
US10681460B2 (en) 2018-06-28 2020-06-09 Sonos, Inc. Systems and methods for associating playback devices with voice assistant services
CN108922528B (en) * 2018-06-29 2020-10-23 百度在线网络技术(北京)有限公司 Method and apparatus for processing speech
US10461710B1 (en) 2018-08-28 2019-10-29 Sonos, Inc. Media playback system with maximum volume setting
US10587430B1 (en) 2018-09-14 2020-03-10 Sonos, Inc. Networked devices, systems, and methods for associating playback devices based on sound codes
US10878811B2 (en) 2018-09-14 2020-12-29 Sonos, Inc. Networked devices, systems, and methods for intelligently deactivating wake-word engines
US10811015B2 (en) 2018-09-25 2020-10-20 Sonos, Inc. Voice detection optimization based on selected voice assistant service
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US20200104094A1 (en) * 2018-09-27 2020-04-02 Abl Ip Holding Llc Customizable embedded vocal command sets for a lighting and/or other environmental controller
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US20200105256A1 (en) * 2018-09-28 2020-04-02 Sonos, Inc. Systems and methods for selective wake word detection using neural network models
US10692518B2 (en) 2018-09-29 2020-06-23 Sonos, Inc. Linear filtering for noise-suppressed speech detection via multiple network microphone devices
US10777186B1 (en) * 2018-11-13 2020-09-15 Amazon Technolgies, Inc. Streaming real-time automatic speech recognition service
KR20200074690A (en) * 2018-12-17 2020-06-25 삼성전자주식회사 Electonic device and Method for controlling the electronic device thereof
KR20200074680A (en) * 2018-12-17 2020-06-25 삼성전자주식회사 Terminal device and method for controlling thereof
US10602268B1 (en) 2018-12-20 2020-03-24 Sonos, Inc. Optimization of network microphone devices using noise classification
US10867604B2 (en) 2019-02-08 2020-12-15 Sonos, Inc. Devices, systems, and methods for distributed voice processing
CN110136707B (en) * 2019-04-22 2021-03-02 云知声智能科技股份有限公司 Man-machine interaction system for multi-equipment autonomous decision making
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
WO2020241920A1 (en) * 2019-05-29 2020-12-03 엘지전자 주식회사 Artificial intelligence device capable of controlling another device on basis of device information
US10586540B1 (en) 2019-06-12 2020-03-10 Sonos, Inc. Network microphone device with command keyword conditioning
CN110148401A (en) * 2019-07-02 2019-08-20 腾讯科技(深圳)有限公司 Audio recognition method, device, computer equipment and storage medium
US10871943B1 (en) 2019-07-31 2020-12-22 Sonos, Inc. Noise classification for event detection
KR102243325B1 (en) * 2019-09-11 2021-04-22 넷마블 주식회사 Computer programs for providing startup language recognition technology

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014008194A1 (en) * 2012-07-03 2014-01-09 Google Inc. Determining hotword suitability

Family Cites Families (115)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4363102A (en) 1981-03-27 1982-12-07 Bell Telephone Laboratories, Incorporated Speaker identification system using word recognition templates
JPS59180599A (en) * 1983-03-31 1984-10-13 Nippon Denki Home Electronics Voice recognition controller to be carried on vehicle
US5659665A (en) * 1994-12-08 1997-08-19 Lucent Technologies Inc. Method and apparatus for including speech recognition capabilities in a computer system
JP3674990B2 (en) 1995-08-21 2005-07-27 セイコーエプソン株式会社 Speech recognition dialogue apparatus and speech recognition dialogue processing method
JP3522421B2 (en) 1995-10-31 2004-04-26 株式会社リコー Speaker recognition system and speaker recognition method
US5895448A (en) 1996-02-29 1999-04-20 Nynex Science And Technology, Inc. Methods and apparatus for generating and using speaker independent garbage models for speaker dependent speech recognition purpose
US6023676A (en) * 1996-12-12 2000-02-08 Dspc Israel, Ltd. Keyword recognition system and method
SE511418C2 (en) 1997-03-13 1999-09-27 Telia Ab Method of speech verification / identification via modeling of typical non-typical characteristics.
US6076055A (en) 1997-05-27 2000-06-13 Ameritech Speaker verification method
US5897616A (en) 1997-06-11 1999-04-27 International Business Machines Corporation Apparatus and methods for speaker verification/identification/classification employing non-acoustic and/or acoustic models and databases
JPH1152976A (en) * 1997-07-29 1999-02-26 Nec Home Electron Ltd Voice recognition device
JP3524370B2 (en) * 1998-02-19 2004-05-10 富士通テン株式会社 Voice activation system
JP2000075954A (en) 1998-09-02 2000-03-14 Sony Corp Electronic equipment controller
US6141644A (en) 1998-09-04 2000-10-31 Matsushita Electric Industrial Co., Ltd. Speaker verification and speaker identification based on eigenvoices
US6744860B1 (en) * 1998-12-31 2004-06-01 Bell Atlantic Network Services Methods and apparatus for initiating a voice-dialing operation
US6671672B1 (en) * 1999-03-30 2003-12-30 Nuance Communications Voice authentication system having cognitive recall mechanism for password verification
US6408272B1 (en) * 1999-04-12 2002-06-18 General Magic, Inc. Distributed voice user interface
JP3357629B2 (en) * 1999-04-26 2002-12-16 旭化成株式会社 Equipment control system
DE10015960C2 (en) * 2000-03-30 2003-01-16 Micronas Munich Gmbh Speech recognition method and speech recognition device
US6567775B1 (en) 2000-04-26 2003-05-20 International Business Machines Corporation Fusion of audio and video based speaker identification for multimedia information access
US6826159B1 (en) 2000-05-24 2004-11-30 Cisco Technology, Inc. System and method for providing speaker identification in a conference call
EP1168736A1 (en) * 2000-06-30 2002-01-02 Alcatel Telecommunication system and method with a speech recognizer
US7016833B2 (en) 2000-11-21 2006-03-21 The Regents Of The University Of California Speaker verification system using acoustic data and non-acoustic data
US6973426B1 (en) 2000-12-29 2005-12-06 Cisco Technology, Inc. Method and apparatus for performing speaker verification based on speaker independent recognition of commands
US6701293B2 (en) * 2001-06-13 2004-03-02 Intel Corporation Combining N-best lists from multiple speech recognizers
JP4086280B2 (en) * 2002-01-29 2008-05-14 株式会社東芝 Voice input system, voice input method, and voice input program
JP4224250B2 (en) * 2002-04-17 2009-02-12 パイオニア株式会社 Speech recognition apparatus, speech recognition method, and speech recognition program
JP2003345391A (en) 2002-05-23 2003-12-03 Denso Corp Terminal, voice recognition server, voice recognition system and computer program
US8503686B2 (en) * 2007-05-25 2013-08-06 Aliphcom Vibration sensor and acoustic voice activity detection system (VADS) for use with electronic systems
US20030231746A1 (en) 2002-06-14 2003-12-18 Hunter Karla Rae Teleconference speaker identification
TW200409525A (en) * 2002-11-26 2004-06-01 Lite On Technology Corp Voice identification method for cellular phone and cellular phone with voiceprint password
EP1429314A1 (en) 2002-12-13 2004-06-16 Sony International (Europe) GmbH Correction of energy as input feature for speech processing
US7222072B2 (en) * 2003-02-13 2007-05-22 Sbc Properties, L.P. Bio-phonetic multi-phrase speaker identity verification
US7571014B1 (en) 2004-04-01 2009-08-04 Sonos, Inc. Method and apparatus for controlling multimedia players in a multi-zone system
US20070198262A1 (en) 2003-08-20 2007-08-23 Mindlin Bernardo G Topological voiceprints for speaker identification
US20050165607A1 (en) * 2004-01-22 2005-07-28 At&T Corp. System and method to disambiguate and clarify user intention in a spoken dialog system
US8290603B1 (en) 2004-06-05 2012-10-16 Sonos, Inc. User interfaces for controlling and manipulating groupings in a multi-zone media system
US8214447B2 (en) 2004-06-08 2012-07-03 Bose Corporation Managing an audio network
US7720012B1 (en) 2004-07-09 2010-05-18 Arrowhead Center, Inc. Speaker identification in the presence of packet losses
US8412521B2 (en) * 2004-08-20 2013-04-02 Multimodal Technologies, Llc Discriminative training of document transcription system
US8521529B2 (en) 2004-10-18 2013-08-27 Creative Technology Ltd Method for segmenting audio signals
KR100679043B1 (en) * 2005-02-15 2007-02-05 삼성전자주식회사 Apparatus and method for spoken dialogue interface with task-structured frames
US8041570B2 (en) * 2005-05-31 2011-10-18 Robert Bosch Corporation Dialogue management using scripts
US7603275B2 (en) * 2005-10-31 2009-10-13 Hitachi, Ltd. System, method and computer program product for verifying an identity using voiced to unvoiced classifiers
JP2006227634A (en) * 2006-03-29 2006-08-31 Seiko Epson Corp Equipment control method using voice recognition, equipment control system using voice recognition and recording medium which records equipment control program using voice recognition
CN1996847B (en) 2006-12-27 2010-05-19 中国科学院上海技术物理研究所 Cooperative network based image and multi-media data communication and storage system
US8099288B2 (en) 2007-02-12 2012-01-17 Microsoft Corp. Text-dependent speaker verification
US20110060587A1 (en) * 2007-03-07 2011-03-10 Phillips Michael S Command and control utilizing ancillary information in a mobile voice-to-speech application
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
US8385233B2 (en) 2007-06-12 2013-02-26 Microsoft Corporation Active speaker identification
GB2450886B (en) * 2007-07-10 2009-12-16 Motorola Inc Voice activity detector and a method of operation
JP2009104020A (en) 2007-10-25 2009-05-14 Panasonic Electric Works Co Ltd Voice recognition device
GB2458461A (en) * 2008-03-17 2009-09-23 Kai Yu Spoken language learning system
US8352264B2 (en) 2008-03-19 2013-01-08 Canyon IP Holdings, LLC Corrective feedback loop for automated speech recognition
US8504365B2 (en) * 2008-04-11 2013-08-06 At&T Intellectual Property I, L.P. System and method for detecting synthetic speaker verification
US8145482B2 (en) * 2008-05-25 2012-03-27 Ezra Daya Enhancing analysis of test key phrases from acoustic sources with key phrase training models
KR101056511B1 (en) * 2008-05-28 2011-08-11 (주)파워보이스 Speech Segment Detection and Continuous Speech Recognition System in Noisy Environment Using Real-Time Call Command Recognition
US8676586B2 (en) * 2008-09-16 2014-03-18 Nice Systems Ltd Method and apparatus for interaction or discourse analytics
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US9922640B2 (en) * 2008-10-17 2018-03-20 Ashwin P Rao System and method for multimodal utterance detection
KR101519104B1 (en) * 2008-10-30 2015-05-11 삼성전자 주식회사 Apparatus and method for detecting target sound
US8326637B2 (en) 2009-02-20 2012-12-04 Voicebox Technologies, Inc. System and method for processing multi-modal device interactions in a natural language voice services environment
US8209174B2 (en) 2009-04-17 2012-06-26 Saudi Arabian Oil Company Speaker verification system
US9858925B2 (en) * 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
CN101923853B (en) 2009-06-12 2013-01-23 华为技术有限公司 Speaker recognition method, equipment and system
US8311838B2 (en) 2010-01-13 2012-11-13 Apple Inc. Devices and methods for identifying a prompt corresponding to a voice input in a sequence of prompts
US8626511B2 (en) 2010-01-22 2014-01-07 Google Inc. Multi-dimensional disambiguation of voice commands
JP2011232521A (en) * 2010-04-27 2011-11-17 On Semiconductor Trading Ltd Speech recognition device
KR101672212B1 (en) 2010-06-15 2016-11-04 엘지전자 주식회사 Mobile terminal and operation method thereof
US8719018B2 (en) 2010-10-25 2014-05-06 Lockheed Martin Corporation Biometric speaker identification
US8874773B2 (en) 2010-11-30 2014-10-28 Gary W. Grube Obtaining group and individual emergency preparedness communication information
CN102741918B (en) * 2010-12-24 2014-11-19 华为技术有限公司 Method and apparatus for voice activity detection
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US9159324B2 (en) 2011-07-01 2015-10-13 Qualcomm Incorporated Identifying people that are proximate to a mobile device user via social graphs, speech models, and user context
US8660847B2 (en) * 2011-09-02 2014-02-25 Microsoft Corporation Integrated local and cloud based speech recognition
US8340975B1 (en) * 2011-10-04 2012-12-25 Theodore Alfred Rosenberger Interactive speech recognition device and system for hands-free building control
ES2409530B1 (en) * 2011-10-14 2014-05-14 Telefónica, S.A. METHOD FOR MANAGING THE RECOGNITION OF THE AUDIO CALL SPEAK
US9031847B2 (en) 2011-11-15 2015-05-12 Microsoft Technology Licensing, Llc Voice-controlled camera operations
US9153229B2 (en) * 2011-11-21 2015-10-06 Robert Bosch Gmbh Methods and systems for adapting grammars in hybrid speech recognition engines for enhancing local SR performance
US8825020B2 (en) * 2012-01-12 2014-09-02 Sensory, Incorporated Information access and device control using mobile phones and audio in the home environment
US9117449B2 (en) 2012-04-26 2015-08-25 Nuance Communications, Inc. Embedded system for construction of small footprint speech recognition with user-definable constraints
US9093076B2 (en) * 2012-04-30 2015-07-28 2236008 Ontario Inc. Multipass ASR controlling multiple applications
US20140006825A1 (en) 2012-06-30 2014-01-02 David Shenhav Systems and methods to wake up a device from a power conservation state
JP6131537B2 (en) 2012-07-04 2017-05-24 セイコーエプソン株式会社 Speech recognition system, speech recognition program, recording medium, and speech recognition method
TWI474317B (en) * 2012-07-06 2015-02-21 Realtek Semiconductor Corp Signal processing apparatus and signal processing method
US8983836B2 (en) * 2012-09-26 2015-03-17 International Business Machines Corporation Captioning using socially derived acoustic profiles
CN103729388A (en) * 2012-10-16 2014-04-16 北京千橡网景科技发展有限公司 Real-time hot spot detection method used for published status of network users
US20150228274A1 (en) 2012-10-26 2015-08-13 Nokia Technologies Oy Multi-Device Speech Recognition
US8996372B1 (en) * 2012-10-30 2015-03-31 Amazon Technologies, Inc. Using adaptation data with cloud-based speech recognition
JP2014092777A (en) 2012-11-06 2014-05-19 Magic Hand:Kk Activation of mobile communication device via voice
US20140156281A1 (en) * 2012-12-03 2014-06-05 Qualcomm Incorporated Voice-controlled configuration of an automation system
US9704486B2 (en) 2012-12-11 2017-07-11 Amazon Technologies, Inc. Speech recognition power management
JP2014130445A (en) * 2012-12-28 2014-07-10 Toshiba Corp Information extraction server, information extraction client, information extraction method, and information extraction program
US9256269B2 (en) 2013-02-20 2016-02-09 Sony Computer Entertainment Inc. Speech recognition system for performing analysis to a non-tactile inputs and generating confidence scores and based on the confidence scores transitioning the system from a first power state to a second power state
US9349386B2 (en) * 2013-03-07 2016-05-24 Analog Device Global System and method for processor wake-up based on sensor data
US9361885B2 (en) * 2013-03-12 2016-06-07 Nuance Communications, Inc. Methods and apparatus for detecting a voice command
US9312826B2 (en) * 2013-03-13 2016-04-12 Kopin Corporation Apparatuses and methods for acoustic channel auto-balancing during multi-channel signal extraction
US8768687B1 (en) * 2013-04-29 2014-07-01 Google Inc. Machine translation of indirect speech
US9380654B2 (en) 2013-07-11 2016-06-28 General Electric Company Light emitting diode (LED) lamp replacement driver for linear fluorescent lamps
WO2015025330A1 (en) 2013-08-21 2015-02-26 Kale Aaditya Kishore A system to enable user to interact with an electronic processing device using voice of the user
JP6502249B2 (en) * 2013-08-29 2019-04-17 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Speech recognition method and speech recognition apparatus
US9343068B2 (en) 2013-09-16 2016-05-17 Qualcomm Incorporated Method and apparatus for controlling access to applications having different security levels
US8775191B1 (en) 2013-11-13 2014-07-08 Google Inc. Efficient utterance-specific endpointer triggering for always-on hotwording
US9373321B2 (en) * 2013-12-02 2016-06-21 Cypress Semiconductor Corporation Generation of wake-up words
CN103745731B (en) * 2013-12-31 2016-10-19 科大讯飞股份有限公司 A kind of speech recognition effect automatization test system and method for testing
US8938394B1 (en) 2014-01-09 2015-01-20 Google Inc. Audio triggers based on context
US9639854B2 (en) 2014-06-26 2017-05-02 Nuance Communications, Inc. Voice-controlled information exchange platform, such as for providing information to supplement advertising
US9424841B2 (en) 2014-10-09 2016-08-23 Google Inc. Hotword detection on multiple devices
US9318107B1 (en) 2014-10-09 2016-04-19 Google Inc. Hotword detection on multiple devices
US9812126B2 (en) 2014-11-28 2017-11-07 Microsoft Technology Licensing, Llc Device arbitration for listening devices
JP6754184B2 (en) 2014-12-26 2020-09-09 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Voice recognition device and voice recognition method
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US10506068B2 (en) 2015-04-06 2019-12-10 Microsoft Technology Licensing, Llc Cloud-based cross-device digital pen pairing
US9875081B2 (en) 2015-09-21 2018-01-23 Amazon Technologies, Inc. Device selection for providing a response
JP2019021428A (en) 2017-07-12 2019-02-07 日立造船株式会社 Coin type battery and method for manufacturing the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014008194A1 (en) * 2012-07-03 2014-01-09 Google Inc. Determining hotword suitability

Also Published As

Publication number Publication date
JP2017520008A (en) 2017-07-20
JP6427549B2 (en) 2018-11-21
EP3171359B1 (en) 2020-07-01
WO2016057268A1 (en) 2016-04-14
US20170084277A1 (en) 2017-03-23
JP6208376B2 (en) 2017-10-04
JP2019133198A (en) 2019-08-08
JP6530023B2 (en) 2019-06-12
US10593330B2 (en) 2020-03-17
JP2017227912A (en) 2017-12-28
EP3139378B1 (en) 2019-12-04
JP2017072857A (en) 2017-04-13
CN106030699A (en) 2016-10-12
EP3627503A1 (en) 2020-03-25
US10909987B2 (en) 2021-02-02
KR20170004956A (en) 2017-01-11
EP3139378A1 (en) 2017-03-08
CN106030699B (en) 2019-12-10
US9318107B1 (en) 2016-04-19
EP3084759A1 (en) 2016-10-26
EP3171359A1 (en) 2017-05-24
US20160104480A1 (en) 2016-04-14
US20160217790A1 (en) 2016-07-28
US20210118448A1 (en) 2021-04-22
US9514752B2 (en) 2016-12-06
KR101832648B1 (en) 2018-02-26
JP2020034952A (en) 2020-03-05
US20190130914A1 (en) 2019-05-02
CN111028826A (en) 2020-04-17
US10134398B2 (en) 2018-11-20
KR20160101198A (en) 2016-08-24
EP3084759B1 (en) 2019-08-14
US20200058306A1 (en) 2020-02-20

Similar Documents

Publication Publication Date Title
US10878820B2 (en) Methods and systems for detecting and processing speech signals
US10643614B2 (en) Promoting voice actions to hotwords
US10504521B1 (en) Training a dialog system using user feedback for answers to questions
US10079014B2 (en) Name recognition system
CN106796791B (en) Speaker identification and unsupported speaker adaptation techniques
JP6549715B2 (en) Application Focus in Speech-Based Systems
CN106663430B (en) Keyword detection for speaker-independent keyword models using user-specified keywords
US20190035399A1 (en) Method and apparatus for executing voice command in electronic device
US10026399B2 (en) Arbitration between voice-enabled devices
US9343068B2 (en) Method and apparatus for controlling access to applications having different security levels
US10083006B1 (en) Intercom-style communication using multiple computing devices
US10475445B1 (en) Methods and devices for selectively ignoring captured audio data
US20170330566A1 (en) Distributed Volume Control for Speech Recognition
JP2020503568A (en) Contextual hotword
EP3179474A1 (en) User focus activated voice recognition
US9620114B2 (en) Initiating actions based on partial hotwords
US10068575B2 (en) Information notification supporting device, information notification supporting method, and computer program product
US11004441B2 (en) Speech endpointing based on word comparisons
US9972323B2 (en) Dynamic threshold for speaker verification
JP2019091472A (en) Dynamic threshold for always listening speech trigger
EP3134896B1 (en) Method and apparatus for activating application by speech input
US20200211554A1 (en) Context-based device arbitration
US10374816B1 (en) Network conference management and arbitration via voice-capturing devices
AU2019246868A1 (en) Method and system for voice activation
US10796702B2 (en) Method and system for controlling home assistant devices

Legal Events

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