KR20190100334A - 문맥상의 핫워드들 - Google Patents

문맥상의 핫워드들 Download PDF

Info

Publication number
KR20190100334A
KR20190100334A KR1020197021993A KR20197021993A KR20190100334A KR 20190100334 A KR20190100334 A KR 20190100334A KR 1020197021993 A KR1020197021993 A KR 1020197021993A KR 20197021993 A KR20197021993 A KR 20197021993A KR 20190100334 A KR20190100334 A KR 20190100334A
Authority
KR
South Korea
Prior art keywords
hotword
computing device
audio data
determining
computer
Prior art date
Application number
KR1020197021993A
Other languages
English (en)
Other versions
KR102312218B1 (ko
Inventor
크리스토퍼 타데우스 휴즈
이그나시오 로페즈 모레노
알렉산더 크라쿤
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Priority to KR1020217031942A priority Critical patent/KR102374519B1/ko
Publication of KR20190100334A publication Critical patent/KR20190100334A/ko
Application granted granted Critical
Publication of KR102312218B1 publication Critical patent/KR102312218B1/ko

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/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/02Feature extraction for speech recognition; Selection of recognition unit
    • 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/20Speech recognition techniques specially adapted for robustness in adverse environments, e.g. in noise, of stress induced speech
    • 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
    • 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/225Feedback of the input speech
    • 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/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • 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/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/228Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context

Abstract

문맥상의 핫워드들(contextual hotwords)을 위해 컴퓨터 저장 매체상에 인코딩된 컴퓨터 프로그램들을 포함하는 방법들, 시스템들 및 장치가 개시된다. 일 양태에서, 컴퓨팅 디바이스의 부트 프로세스 동안, 방법은, 컴퓨팅 디바이스에 의해 컴퓨팅 디바이스와 연관된 콘텍스트를 결정하는 동작을 포함한다. 동작은 컴퓨팅 디바이스와 연관된 콘텍스트에 기초하여, 핫워드를 결정하는 것을 더 포함한다. 동작은 또한 핫워드를 결정한 후, 발화에 대응하는 오디오 데이터를 수신하는 것을 포함한다. 상기 동작들은 오디오 데이터가 핫워드를 포함하는 것으로 결정하는 것을 더 포함한다. 상기 동작들은, 상기 오디오 데이터가 상기 핫워드를 포함한다고 결정한 것에 응답하여, 상기 핫워드와 연관된 동작을 수행하는 것을 더 포함한다.

Description

문맥상의 핫워드들
본 발명은 일반적으로 자동화된 음성 처리에 관한 것이다.
음성 인식가능 가정(speech-enabled home) 또는 다른 환경의 현실 - 즉, 사용자가 질문 또는 명령을 크게 소리내어 말하는 경우 또는 컴퓨터 기반 시스템이 상기 질문을 작성 및 응답하고 그리고/또는 상기 명령이 수행되도록 하는 것 - 이 우리에게 다가오고 있다. 음성 인식가능 환경(예를 들어, 가정, 직장, 학교 등)은 환경의 여러 방들 또는 영역들 전체에 분산되어 연결된 마이크로폰 디바이스들의 네트워크를 사용하여 구현될 수 있다. 이러한 마이크로폰들의 네트워크를 통해 사용자는 자신의 앞이나 또는 근처의 컴퓨터 또는 다른 디바이스들을 가질 필요없이 본질적으로 환경의 어느 곳에서나 시스템을 구두로 질의할 수 있는 권한을 갖는다. 예를 들어, 주방에서 요리하는 동안, 사용자는 시스템에 "3개의 컵에 몇 밀리리터가 들어 있지?"라고 물을 수 있고, 그리고 이에 응답하여, 예를 들어, 합성된 음성 출력의 형태로 시스템으로부터 응답을 수신할 수 있다. 대안으로, 사용자는 "가장 가까운 주유소에 언제 도달할 수 있지?" 또는 집을 나설 준비를 할 때, "오늘 나는 코트를 입어야 할까?"와 같은 시스템 질문을 할 수 있다.
또한, 사용자는 사용자의 개인 정보와 연관된 질의 및/또는 명령을 시스템에 할 수 있다. 예를 들어, 사용자가 시스템에 "존과의 만남은 언제인가?"라고 물어볼 수 있거나 또는 "내가 집에 돌아올 때 존에게 전화하라고 알려줘"라고 시스템에 명령할 수 있다.
음성 인식가능 시스템의 경우 사용자와 시스템의 상호 작용 방식은 주로 독점적이지는 않지만 음성 입력을 통해 이루어지도록 설계된다. 결과적으로, 시스템으로 향하지 않는 것들을 포함하여 주변 환경에서 이루어진 모든 발화들을 잠재적으로 픽업하는 시스템은, 어떤 주어진 발화가 반대 방향으로 향할 때, 예를 들어, 주변 환경에 존재하는 개인에게 향할 때를 식별하는 몇 가지 방법이 존재해야 한다. 이를 달성하는 한 가지 방법은, 환경 내의 사용자들 간의 동의에 따라 시스템의 주의를 끌기 위해 말해진 미리 결정된 단어로 예약된 핫워드를 사용하는 것이다. 예시적인 환경에서, 시스템의 주의를 끌기 위해 사용되는 핫워드는 "오케이 컴퓨터"라는 단어이다. 결과적으로, "오케이 컴퓨터"라는 단어들이 발음될 때마다, 마이크로폰에 의해 픽업되어 시스템으로 전달되며, 음성 모델링 기술들을 수행하여 핫워드가 말해졌는지를 결정하고, 그렇다면 다음의 명령 또는 질의를 대기한다. 따라서, 시스템으로 향하는 발화들은 일반적인 형식 [핫워드] [질의]를 가지고, 이 예에서, "핫워드"는 "오케이 컴퓨터"이고 그리고 "질의"는, 단독으로 또는 네트워크를 통해 서버와 결합하여 시스템에 의해 음성 인식, 구문 분석 및 수행될 수 있는 임의의 질의, 명령, 선언 또는 다른 요청일 수 있다.
사용자가 휴대 전화와 같은 음성 인식가능 시스템에 몇 개의 핫워드 기반 명령들을 제공하는 경우, 사용자와 전화의 상호 작용이 어색해질 수 있다. 사용자는 "오케이 컴퓨터, 나의 숙제 목록을 재생해"라고 말할 수 있다. 전화가 재생 목록의 첫 곡을 재생하기 시작할 수 있다. 사용자는 다음 곡으로 넘어가서 "오케이 컴퓨터, 다음"이라고 말하고 싶을 수도 있다. 또 다른 노래로 진행하려면, 사용자가 "오케이 컴퓨터, 다음"이라고 다시 말할 수 있다. 핫워드를 계속 반복해야 하는 필요성을 줄이기 위해, 전화는 핫워드 및 질의 모두, 또는 이 경우에는 명령으로 "다음"을 인식하도록 구성될 수 있다. 이러한 피처를 사용하면, 사용자는 "오케이 컴퓨터, 다음" 대신 다음 노래로 넘어가기 위해 "다음"만을 말할 수 있기에, 전화와 음악 애플리케이션과의 사용자 상호 작용은 더욱 자연스워러진다.
이를 달성하기 위해, 음성 인식가능 시스템은 시스템의 현재 콘텍스트를 결정하고 그리고 연관된 핫워드들을 식별한다. 콘텍스트는 시스템에서 실행중인 애플리케이션, 시스템 위치, 시스템 이동 또는 기타 유사한 상황을 기반으로 할 수 있다. 시스템은 시스템의 콘텍스트를 사용하여 추가 핫워드들을 식별할 수 있다. 예를 들어, 음악이 재생 중일 때, 시스템은 음악을 제어하기 위해 핫워드들 "다음", "중지" 및 "뒤로"를 식별할 수 있다. 시스템은 시스템의 콘텍스트를 사용하여 추가 핫워드들을 식별할 수 있다. 예를 들어, 음악이 재생중일 때, 시스템은 음악을 제어하기 위해 핫워드들 "다음", "중지" 및 "뒤로"를 식별할 수 있다. 시스템은 식별된 핫워드 각각에 대해 핫워드 모델을 요구할 수 있다. 시스템은 사용자의 음성에 대응하는 오디오 데이터의 오디오 특성을 처리하고 핫워드 모델들을 오디오 특성에 적용함으로써 새로운 핫워드들을 인식하기 위해 핫워드 모델들을 사용할 수 있다. 시스템은 음성 핫워드를 인식하고 해당 작업을 수행한다. 시스템이 음악을 재생 중이므로, 사용자가 "중지"를 말하고, 그리고 "중지"가 활성화된 핫워드가 되면, 이후 시스템은 음악 재생을 중지할 수 있다.
본 출원에 개시된 주제의 혁신적인 측면에 따르면, 롤백 방지 보안을 위한 방법은,
컴퓨팅 디바이스에 의해, 상기 컴퓨팅 디바이스와 연관된 콘텍스트를 결정하는 단계와; 상기 컴퓨팅 디바이스와 연관된 상기 콘텍스트에 기초하여, 핫워드를 결정하는 단계와; 상기 핫워드를 결정한 후, 발화(utterance)에 대응하는 오디오 데이터를 수신하는 단계와; 상기 오디오 데이터가 상기 핫워드를 포함한다고 결정하는 단계와; 그리고 상기 오디오 데이터가 상기 핫워드를 포함한다고 결정한 것에 응답하여, 상기 핫워드와 연관된 동작을 수행하는 단계를 포함한다.
이들 및 다른 구현들은 각각 선택적으로 하나 이상의 다음 피처들을 포함할 수 있다. 상기 오디오 데이터가 상기 핫워드를 포함한다고 결정하는 단계는, 상기 오디오 데이터에 대한 음성 인식을 수행하지 않고 상기 오디오 데이터가 상기 핫워드를 포함한다고 결정하는 단계를 포함한다. 상기 오디오 데이터가 상기 핫워드를 포함한다고 결정하는 단계는, 상기 발화에 대응하는 상기 오디오 데이터의 오디오 피처들(audio features)을 추출하는 단계와; 상기 오디오 피처들을 처리함으로써 핫워드 신뢰도 스코어(hotword confidence score)를 생성하는 단계와; 상기 핫워드 신뢰도 스코어가 핫워드 신뢰도 임계값을 만족시키는지를 결정하는 단계와; 그리고 상기 핫워드 신뢰도 스코어가 핫워드 신뢰도 임계값을 만족하는지를 결정하는 것에 기초하여, 상기 발화에 대응하는 상기 오디오 데이터가 상기 핫워드를 포함한다고 결정하는 단계를 포함한다. 상기 방법은 상기 핫워드를 결정한 후, 상기 핫워드에 대응하는 핫워드 모델을 수신하는 단계를 더 포함하고, 상기 오디오 데이터가 상기 핫워드를 포함한다고 결정하는 단계는, 상기 핫워드 모델을 사용하여, 상기 오디오 데이터가 상기 핫워드를 포함한다고 결정하는 단계를 포함한다.
상기 방법은, 상기 컴퓨팅 디바이스에 의해, 상기 컴퓨팅 디바이스 상에서 실행중인 애플리케이션을 식별하는 단계를 포함한다. 상기 콘텍스트는 상기 컴퓨팅 디바이스 상에서 실행중인 상기 애플리케이션에 기초한다. 상기 방법은, 상기 컴퓨팅 디바이스에 의해, 상기 콘텍스트가 상기 컴퓨팅 장치와 더 이상 연관되어 있지 않다고 결정하는 단계와; 그리고 상기 핫워드를 포함하는 후속적으로 수신된 오디오 데이터가 동작을 트리거링하지 않는 것으로 결정하는 단계를 더 포함한다. 상기 방법은, 출력을 위해, 상기 핫워드를 식별하는 데이터를 제공하는 단계를 더 포함한다. 상기 방법은, 상기 컴퓨팅 디바이스에 의해, 상기 컴퓨팅 디바이스의 움직임을 식별하는 단계를 포함한다. 상기 콘텍스트는 상기 컴퓨팅 디바이스의 움직임에 기초한다. 상기 방법은, 상기 컴퓨팅 디바이스에 의해, 상기 컴퓨팅 디바이스의 위치를 식별하는 단계를 더 포함한다. 상기 콘텍스트는 상기 컴퓨팅 디바이스의 위치에 기초한다. 상기 핫워드와 연관된 동작을 수행하는 단계는: 상기 핫워드를 포함하지 않는 상기 오디오 데이터의 부분에 대해 음성 인식을 수행하는 단계를 포함한다. 상기 동작은 상기 핫워드를 포함하지 않는 상기 오디오의 부분의 표기(transcription)에 기초한다. 상기 오디오 데이터는 상기 핫워드만을 포함한다. 상기 오디오 데이터의 초기 부분은 상기 핫워드를 포함한다.
이 양태의 다른 실시예들은 각각이 방법들의 동작들을 수행하도록 구성된 대응하는 시스템들, 디바이스들 및 컴퓨터 저장 디바이스 상에 기록된 컴퓨터 프로그램들을 포함한다.
본 출원서에 서술된 주제는 다음의 이점들 중 하나 이상을 가질 수 있다. 컴퓨팅 디바이스는, 통상적으로 사용자가 명령 뒤에 오는 핫워드를 말하도록 요구하는 종래의 시스템들보다 짧은 명령에 응답하여 이를 인식하고 동작할 수 있다. 그에 따라, 인식된 명령의 처리가 덜 필요하고, 따라서, 컴퓨팅 디바이스가 응답할 수 있도록 보다 적은 리소스 소비(입력 용어 및 전력 소비의 저장을 위한 메모리 포함를)가 필요하고, 따라서, 컴퓨팅 디바이스는 보다 신속하고 효율적으로 응답할 수 있다. 컴퓨팅 디바이스는 명령들에 대한 음성 인식을 수행하지 않고도 상이한 명령들에 응답하여 인식하고 동작할 수 있다. 질의 및 명령을 인식하는 데 필요한 컴퓨팅 리소스들 및 배터리 전력을 줄일 수 있는데, 이는, 왜냐하면 컴퓨팅 디바이스가 하나의 용어로 질의 및 명령을 인식할 수 있기 때문에 별도의 동작 단계들에서 둘 이상의 상이한 용어들을 처리할 필요가 없기 때문이다.
본 명세서에 서술된 주제의 하나 이상의 실시예들의 세부 사항들은 첨부된 도면들 및 이하의 설명에서 서술된다. 주제의 다른 특징, 양상 및 장점은 상세한 설명, 도면 및 청구 범위로부터 명백해질 것이다.
도 1은 문맥상의 핫워드들을 식별하고 처리하기 위한 예시적인 시스템을 도시한다.
도 2는 문맥상의 핫워드들을 식별하고 처리하기 위한 예시적인 프로세스를 도시한다.
도 3은 컴퓨팅 디바이스 및 모바일 컴퓨팅 디바이스의 예를 도시한다.
도면들에서, 동일한 참조 번호들은 전체에 걸쳐 대응하는 부분을 나타낸다.
도 1은 콘텍스트 핫워드들을 식별하고 처리하기 위한 예시적인 시스템(100)을 도시한다. 간략하게, 이하보다 상세히 설명하는 바와 같이, 컴퓨팅 디바이스(104)는 발화(106), "오케이 컴퓨터, 음악을 재생해(Ok computer, play music)."에 응답하여 음악을 재생하기 시작한다. 컴퓨팅 디바이스(104)는 음악을 재생하기 시작하고, 컴퓨팅 디바이스(104)는 추가의 핫워드 "다음(next)"을 다음 노래로 진행하기위한 명령으로 인식할 수 있다.
보다 상세하게, 도 1의 단계 A에서 시작하여, 사용자(102)는 컴퓨팅 디바이스(104) 부근에서 "오케이 컴퓨터, 음악 재생해"이라는 발화(106)를 말한다. 컴퓨팅 디바이스(104)의 마이크로폰은 발화(106)를 수신하고 발화에 대응하는 오디오 데이터를 처리한다. 오디오 데이터의 초기 처리는 오디오 데이터를 필터링하고 그리고 오디오 데이터를 아날로그 신호로부터 디지털 신호로 변환하는 것을 포함할 수 있다.
컴퓨팅 디바이스(104)가 오디오 데이터를 처리할 때, 컴퓨팅 디바이스는 추가적인 프로세싱을 위해 버퍼에 오디오 데이터를 저장할 수 있다. 버퍼 내의 오디오 데이터와 함께, 컴퓨팅 디바이스(104)는 오디오 데이터가 임의의 말한 단어들을 포함하는지 여부를 식별할 수 있다. 컴퓨팅 디바이스(104)가 말한 단어들을 식별하는 한가지 방법은 핫워드 검출기(108)를 사용하는 것이다. 핫워드 검출기(108)는 오디오 데이터에 포함된 핫워드를 식별하도록 구성된다.
일부 구현들에서, 핫워드 검출기(108)는 발화(106)의 초기 부분에 있는 핫워드들을 식별하도록 구성될 수 있다. 이 예에서, 핫워드 검출기(108)가 활성 핫워드 (112)의 특징인 오디오 데이터의 음향 특징들을 검출하면, 음성(106) "오케이 컴퓨터, 음악을 재생해"는 핫워드(110) "오케이 컴퓨터(ok computer)"를 포함함을, 핫워드 검출기(108)는 검출할 수 있다. 음향 특성들은 발화의 단기 파워 스펙트럼들을 나타내는 멜 주파수 셉스트럴 계수(MFCC)들일 수 있거나 발화(106)에 대한 멜 스케일 필터 뱅크 에너지들일 수 있다. 예를 들어, 오디오 데이터로부터 MFCC들을 생성하는 것, 그리고 MFCC들이 핫워드 모델들(114)에 저장된 바와 같이 핫 워드 "오케이 컴퓨터"의 특성인 MFCC들과 유사한 MFCC들을 포함하는지를 분류하는 것에 기초하여, 핫워드 검출기(108)는 발화(106) "오케이 컴퓨터, 음악 재생해"가 핫워드(110) "오케이 컴퓨터"를 포함함을 검출할 수 있다. 다른 예로서, 상기 오디오 데이터로부터 멜-스케일 필터 뱅크 에너지들을 생성하는 것, 그리고 멜-스케일 필터 뱅크 에너지들이 핫워드 모델들(114)에 저장된 핫워드 "오케이 컴퓨터"의 특성인 멜-스케일 필터 뱅크 에너지들과 유사한 멜-스케일 필터 뱅크 에너지들을 포함함을 것에 기초하여, 핫워드 검출기(108)는 발화(106) "오케이 컴퓨터, 음악 재생해"가 핫워드(110) "오케이 컴퓨터"를 포함함을 검출할 수 있다.
핫워드 검출기(108)는, 발화(106)에 대응하는 오디오 데이터가 핫워드(110)를 포함한다고 결정하고, 그리고 컴퓨팅 디바이스(104)는 발화(106)에 대응하는 오디오 데이터에 대해 음성 인식 또는 의미 해석을 수행할 수 있다. 음성 인식기 (116)는 핫 워드(110)를 따르는 오디오 데이터의 부분에 대해 음성 인식을 수행할 수 있다. 이 예에서, 음성 인식기(116)는 단어들(118) "음악 재생"을 식별할 수 있다.
일부 구현들에서, 음성 인식기(116)는 컴퓨팅 디바이스(104) 상에 위치하지 않을 수 있다. 그 대신에, 컴퓨팅 디바이스(104)는 발화(106)의 부분에 대응하는 오디오 데이터를 핫워드(110) 후에, 서버, 예를 들어, 서버(120)에 제공한다. 서버 (120)는 음성 인식을 수행하고 컴퓨팅 디바이스(104)로 오디오 데이터의 기록을 반환한다. 컴퓨팅 디바이스(104)는 발화(106) 내의 단어들을 식별하고, 그리고 컴퓨팅 디바이스 의미론적 해석을 수행하고 임의의 음성 명령들을 식별한다. 컴퓨팅 디바이스(104)는 명령을 식별하고 그리고 명령을 실행한다. 이 예 및 단계 B에서, 컴퓨팅 디바이스(104)는 "음악 재생" 명령(118)을 식별할 때 음악(122)을 재생한다.
음악 재생(122)에서, 컴퓨팅 디바이스(104)는 전경 또는 배경에서 음악 애플리케이션을 실행 중이다. 컴퓨팅 장치(104)는 콘텍스트 식별자(124) 및 활성 핫워드 선택기(126)를 포함할 수 있다. 콘텍스트 식별자(124)는 컴퓨팅 디바이스(104)의 현재 콘텍스트를 식별하도록 구성될 수 있다. 활성 핫워드 선택기(126)는 활성 핫 워드들을 선택하기 위해 컴퓨팅 디바이스(104)의 현재 콘텍스트를 사용할 수 있다. 이 예에서, 디바이스의 콘텍스트는 음악(122)을 재생하고 음악 애플리케이션을 실행하는 것과 관련될 수 있다. 사용자들이 음악 애플리케이션 및 각 핫워드에 대한 각각의 동작들과 상호 작용하기 위해 말할 수 있는 것을 음악 애플리케이션들의 개발자들은 원하기에, 활성 핫워드 선택기(126)는 임의의 핫워드들을 식별하기 위해 음악 애플리케이션의 코드를 검사할 수 있다. 음악 애플리케이션은 "재생(play)", "다음(next)", "중지(stop)" 및 "뒤로(back)"와 같은 핫워드들을 식별할 수 있다. 적극적으로 연주하는 음악의 콘텍스트를 기초로, 활성 핫워드 선택기(126)는 "다음", "중지" 및 "뒤로"의 핫워드들을 선택하여 활성 핫워드들(112)에 이들을 저장할 수 있다.
일부 구현들에서, 콘텍스트 식별자(124)는 콘텍스트를 결정하기 위해 컴퓨팅 디바이스(104)의 위치를 사용할 수 있다. 예를 들어, 콘텍스트 식별자(124)는 그 위치가 컴퓨팅 디바이스(104)의 사용자(102)의 집에 대응한다고 결정할 수 있다. 활성 핫워드 선택기(126)는, 사용자가 집의 온도를 제어할 수 있도록 "온열기(warmer)" 및 "냉각기(cooler)"와 같은 핫워드들을 식별하기 위해 디바이스가 사용자(102)의 집에 있다는 상황을 사용할 수 있다. 상기 예와 유사하게, 활성 핫워드 선택기(126)는 사용자(102)가 집에 있는 동안 활성 핫워드들(112)에 핫워드들인 "온열기" 및 "냉각기"를 저장할 수 있다.
일부 구현들에서, 콘텍스트 식별자(124)는 콘텍스트를 결정하기 위해 컴퓨팅 디바이스(104)의 모션을 사용할 수 있다. 예를 들어, 콘텍스트 식별자(124)는 컴퓨팅 디바이스(104)의 움직임이 전형적인 차량의 속도 및 모션에 대응한다고 결정할 수 있다. 콘텍스트 식별자(124)는, 또한, 컴퓨팅 디바이스(104)가 차량에 있다는 확신을 증가시키도록 컴퓨팅 장치(104)가 도로에 따라 움직이고 있는지를 결정하기 위해 컴퓨팅 디바이스(104)의 속도 및 움직임을 비교할 수 있다. 이 예에서, 활성 핫워드 선택기(126)는 컴퓨팅 장치의 콘텍스트를 사용하여 핫워드 "방향들들(directions)"을 식별하여 사용자가 특정 위치에 대한 방향을 요청할 수 있도록 할 수 있다. 활성 핫워드 선택기(126)는 컴퓨팅 디바이스(104)가 차량에 있는 동안 핫워드 "방향"을 활성 핫워드들(112)에 저장할 수 있다.
일부 구현들에서, 콘텍스트 식별자(124)는 콘텍스트를 결정하기 위해 요일 또는 시간 또는 둘 다를 사용할 수 있다. 예를 들어, 콘텍스트 식별자(124)는 콘텍스트가 오후 9시와 자정 사이와 같은 저녁 시간에 대응한다고 결정할 수 있다. 이 예에서, 활성 핫워드 선택기(126)는 사용자(102)가 알람을 설정하게 하는 핫워드 알람 설정(set alarm)"을 식별하기 위해 저녁 시간의 콘텍스트를 사용할 수 있다. 활성 핫워드 선택기(126)는 오후 9시부터 자정의 시간주기 동안 활성 핫워드들(112)에 핫 워드 "알람 설정"을 저장할 수 있다.
일부 구현들에서, 콘텍스트 식별자(124)는 핫워드들을 식별하기 위해 사용자(102)의 과거 동작들 및 패턴들을 사용할 수 있다. 콘텍스트 식별자(124)는 아마도 사용자가 아마도 하루 중의 다른 시간들에서 수행하는 동작을 식별하고, 그리고 이들 동작에 기초하여 콘텍스트를 결정할 수 있다. 활성 핫워드 선택기(126)는 관련 핫워드들을 식별하고 이러한 핫워드들을 해당 기간 동안 활성 핫워드들(112)에 저장할 수 있다. 예를 들어, 콘텍스트 식별자(124)는 사용자(102)가 오전 8시에서 오전 10시 동안 컴퓨팅 디바이스(104) 상의 뉴스를 읽는 것으로 결정할 수 있다. 활성 핫워드 선택기(126)는 활성 핫워드(112)로서 "뉴스(news)"를 선택할 수 있다. "뉴스"를 핫워드로 사용하면, 사용자(102)는 오전 8시부터 오전 10시 동안 뉴스 애플리케이션을 열기 위해 "뉴스"라고 말할 수 있다. 뉴스 애플리케이션은 고유한 해당 핫워드들이 있을 수 있다. 활성 핫워드 선택기(126)는, 뉴스 애플리케이션이 컴퓨팅 디바이스(104) 상에서 열려있을 때 "스포츠(sports)", "로컬(local)" 및 "국내(national)"와 같은 핫워드들을 활성 핫워드들(112)로서 식별할 수 있다.
일부 구현들에서, 콘텍스트 식별자(124)는 반드시 시간 의존적이지 않은 과거의 동작들을 식별할 수 있다. 예를 들어, 사용자(102)는 컴퓨팅 디바이스(102) 상의 날씨를 습관적으로 점검할 수 있다. 컴퓨팅 디바이스의 콘텍스트는 거의 항상 사용자(102)가 날씨를 체크 한 시간에 대응한다고, 콘텍스트 식별자(124)가 결정할 수 있다. 이 경우, 활성 핫워드 선택기(126)는 핫워드 "날씨(weather)"를 식별하고 그리고 핫워드를 활성 핫워드들(112)에 저장할 수 있다. "날씨"를 활성 핫워드로 사용하는 경우, 사용자(102)는 단지 날씨 애플리케이션을 열고 날씨를 확인하기 위해 "날씨"를 말한다.
일부 구현들에서, 콘텍스트 식별자(124)는 컴퓨팅 디바이스(104)의 상태에 기초하여 콘텍스트를 결정할 수 있다. 예를 들어, 컴퓨팅 디바이스(104)의 상태는 "잠금(lock)"이 될 수 있다. 이 경우, 활성 핫워드 선택기(126)는 핫워드 "잠금 해제(unlock)"를 식별하고, 디바이스가 잠금이될 때 핫워드를 활성 핫워드(112)에 저장할 수 있다. "잠금 해제"를 활성 핫워드로 사용하면, 사용자가 "잠금 해제"라고 말하면서 전화의 잠금을 해제할 수 있다. 보안을 향상시키기 위해, 컴퓨팅 디바이스(104)는 화자 식별 기술들을 사용하여 화자가 사용자(102)임을 검증할 수 있다. 이 경우, 상응하는 핫워드 모델은 사용자(102)의 음성을 사용하여 트레이닝될 것이다. 예를 들어, 컴퓨팅 디바이스(104)는, 컴퓨팅 디바이스(104) 또는 서버(120)가 음성 샘플들을 갖는 사용자(102)에 특정한 핫워드 모델을 구축할 수 있도록 사용자 (102)에게 여러번 "잠금 해제"하도록 촉구할 수 있다.
활성 핫워드들(112)은 새로운 핫워드를 포함하고, 그리고 컴퓨팅 디바이스(104)는, 컴퓨팅 디바이스(104)가 새로 추가된 핫워드에 대한 핫워드를 갖는지를 결정하기 위해 핫워드 모델들(114)을 검사할 수 있다. 예를 들어, 활성 핫워드 선택기(126)가 활성 핫워드들(112)에 "다음"을 저장할 때, 핫워드 모델들(114)이 "다음"에 대한 핫워드 모델을 포함하는지를 컴퓨팅 디바이스(104)가 결정한다. "다음"에 대한 핫워드 모델이 핫워드 모델들(114)에 있으면, 이후, 핫워드 검출기(108)는 핫워드 "다음"을 검출하기 시작할 수 있고 그리고 컴퓨팅 디바이스(104)는 스테이지 C, D 및 E를 스킵할 수 있다. "다음"에 대한 핫워드 모델이 핫워드 모델들 (114)에 없다면, 단계 C에서, 컴퓨팅 디바이스(104)는 서버(120)에 "다음"에 대한 핫워드 모델에 대한 요청(128)을 전송한다.
일부 구현들에서, 컴퓨팅 디바이스(104)는 핫워드 모델(114)에서 대응하는 핫워드 모델을 이미 갖는 핫워드 워드에 대한 핫워드 모델을 요구할 수 있다. 컴퓨팅 디바이스(104)는, 로컬로 저장된 핫워드 모델이 가능한 한 정확함을 보장하기 위해 주기적으로, 예를 들어, 일주일에 한 번 핫워드 모델을 요청할 수 있다. 컴퓨팅 디바이스(104)는 또한 사용자(102)로부터의 피드백에 응답하여 핫워드 모델을 요구할 수 있다. 일부 예들에서, 사용자(102)는 "다음"과 같은 핫워드를 말할 수 있고, 그리고 컴퓨터는 노래를 진행시킬 수 없다. 핫 워드 검출기(108)는 "다음"에 대응하는 오디오 데이터를 처리할 수 있지만, 핫워드 신뢰 스코어가 임계값을 만족시키지 않아서 핫워드를 식별할 수 없다.
사용자(102)는 컴퓨팅 디바이스(104) 상의 다음 노래 버튼을 선택함으로써 노래를 전진시킬 수 있다. 컴퓨팅 디바이스(104)가 이러한 일련의 동작들을 검출하면, 컴퓨팅 디바이스(104)는 "다음"에 대한 업데이트된 핫워드 모델을 요구할 수 있다. 대안적으로, 컴퓨팅 디바이스(104)는, 임계값을 만족시키지만 더 낮은 핫워드 신뢰도 임계치를 초과한 핫워드 신뢰도 스코어를 생성하지 않은 오디오 데이터를 사용하여 "다음"에 대한 핫워드 모델을 업데이트할 수 있다. 일부 구현들에서, 컴퓨팅 디바이스(104)는 임계값을 만족시키는 핫워드 신뢰도 스코어를 생성하지 않은 오디오 데이터에 대한 노이즈 레벨을 계산할 수 있다. 노이즈 레벨이 노이즈 임계치보다 크다면, 컴퓨팅 디바이스(104)는 너무 많은 배경 노이즈를 가질 수 있으므로, 대응하는 오디오 데이터로 핫워드 모델을 업데이트하지 않을 수 있다.
서버(120)는 핫워드 모델에 대한 요청(128)을 수신하고 그리고 스테이지 D에서 대응하는 핫워드 모델(130)을 식별한다. 서버(120)는 인터넷과 같은 네트워크(132)를 통해 액세스 가능한 하나 이상의 서버들에 대응할 수 있다. 하나의 서버에 의해 액세스할 수 있는 데이터는 다른 서버들에 의해 액세스할 수 있다. 핫워드 모델들을 식별 및 제공하는 것 이외에, 서버(102)는 오디오 데이터를 수신하고 그리고 수신된 오디오 데이터에 기초하여 핫워드 모델들(130)을 생성하도록 구성된다.
핫워드 모델들(130)을 생성하기 위해, 서버(120)는 음성 데이터(134)를 수신 및 수집한다. 서버(120)는 음성 인식을 수행하는 서버들로부터 음성 데이터(134)를 수신할 수 있다. 서버들은 음성 인식을 수행하고 그리고 오디오 데이터를 서버 (120)에 제공하여 핫워드 모델들을 생성할 수 있다. 수집된 음성 데이터(134)로, 음성 인식기(136)는 수집된 음성 데이터 내의 단어들을 식별한다.
음성 인식기(136)는 녹음 데이터 및 음성 데이터를 음성 데이터 토크나이저 (138)에 제공한다. 음성 데이터 토크 나이저(138)는 오디오 데이터를 상이한 단어들에 대응하는 부분들로 분할한다. 예를 들어, 수집된 음성 데이터(134)가 "다음 그 노래 재생"이라는 단어에 대응한다면, 이후, 음성 인식기는 "다음 그 노래 재생"의 변환을 생성하고 음성 데이터 토크나이저(138)는 오디오 데이터를 4개의 섹션으로 토큰화한다. "재생"에 대한 하나의 섹션, "그"에 대한 다른 섹션, "다음"에 대한 다른 섹션, "노래"에 대한 다른 섹션이 있다.
음성 인식기(136) 및 음성 데이터 토크나이저(138)는 많은 음성 샘플들을 토큰화할 수 있고 그리고 토큰화된 음성 샘플들을 핫워드 모델 생성기(140)에 제공할 수 있다. 핫워드 모델 생성기(140)는 동일한 단어의 다수의 샘플들을 처리하여 그 단어에 대한 핫워드 모델을 생성한다. 예를 들어, 핫워드 모델 생성기(140)는 단어 "다음"에 대응하는 다수의 음성 샘플들을 수신할 수 있다. 핫워드 모델 생성기(140)는 음성 샘플의 오디오 특성들을 추출하여 "다음"에 대한 핫워드 모델을 생성한다. 핫워드 모델 생성기(140)는 핫워드 모델들(130)에 "다음"에 대한 핫워드 모델을 저장한다.
핫워드 모델들(130)은 이들 특정 핫워드들을 인식하기 위해 서버가 컴퓨터 디바이스들에 제공할 준비가 되어있다. 일부 구현들에서, 서버(120)는 핫워드 모델 들(130)에서 요구된 핫워드를 갖지 않을 수 있다. 이 경우, 서버(120)는 음성 인식기(136) 및 음성 데이터 토크나이저(138)를 이용하여 수집된 음성 데이터(134)를 분석하여 요구된 단어에 대응하는 오디오 샘플들을 식별할 수 있다. 대안적으로, 서버(120)는 컴퓨팅 디바이스(104)가 샘플들을 수집하도록 요청할 수 있다. 컴퓨팅 디바이스(104)는 단어를 여러 번 반복하도록 사용자에게 요청할 수 있다. 컴퓨팅 디바이스(104)는 핫워드 모델을 생성하기 위한 처리를 위해 서버(120)에 오디오 데이터를 제공할 수 있다. 일부 구현들에서, 요청된 핫워드는 하나보다 많은 단어 일 수 있다. 이 예에서, 핫워드 모델 생성기(140)는 다수 워드 핫워드에 대한 핫워드 모델을 생성하기 위해 핫워드 모델들(130)을 결합할 수 있다.
일부 구현들에서, 핫워드 모델 생성기(140)는 특정 콘텍스트에 특정한 노이즈를 포함하는 핫워드 모델들을 생성할 수 있다. 핫워드 모델 생성기(140)는 타겟 핫워드에 대응하는 모든 음성 토큰을 선택하지 않을 수 있다. 그 대신에, 핫워드 모델 생성기(140)는 대응하는 콘텍스트에 존재할 가능성이 있는 배경 노이즈를 포함하는 음성 토큰들을 선택한다. 예를 들어, 핫워드 모델 생성기(140)는 "다음(next)"을 포함하고 배경 음악을 갖는 음성 토큰들로 "다음"에 대한 핫워드 모델을 생성할 수 있다. 서버(120)가 핫워드 모델 "다음"에 대한 요청을 수신하고 그리고 콘텍스트가 음악 재생임을 그 요청이 나타내면, 이후, 서버(120)는 배경 음악용으로 구성된 "다음"의 핫워드 모델을 제공할 수 있다. 서버(120)가 핫워드 모델 "다음"에 대한 요청을 수신하고 그리고 콘텍스트가 사진 감상임을 그 요청이 나타내면, 이후, 서버(120)는 배경 노이즈가 없도록 구성된 "다음"의 핫워드 모델을 제공할 수 있다.
단계 E에서, 서버(120)는 요청된 핫워드 모델을 포함하는 응답(142)을 제공한다. 도 1에 도시된 예에서, 서버(120)는 "다음"에 대한 핫워드 모델을 컴퓨팅 디바이스(104)에 제공한다. 컴퓨팅 디바이스(104)는 핫워드 모델을 핫워드 단어 모델들(114 및 114)에 저장하고 그리고 활성 핫워드들(112) 내의 표시자를 업데이트하여 컴퓨팅 디바이스(104)에 저장된 대응하는 핫워드 모델이 있음을 표시할 수 있다.
일부 구현들에서, 활성 핫워드 선택기(126)는 활성 핫워드들(112)로부터 핫 워드들을 제거할 수 있다. 콘텍스트 식별자(124)가 콘텍스트가 변경되었음을 표시할 때, 활성 핫워드 선택기(126)는 새로운 콘텍스트에 기초하여 활성 핫워드들(112)을 업데이트할 수 있다. 전술한 예들 중 일부에 이어서, 활성 핫워드 선택기(126)는 오전 10시 이후에 활성 핫워드들(112)로부터 핫워드 "뉴스"를 제거할 수 있다. 유사하게, 활성 핫워드 선택기(126)는 자정 이후에 핫워드 "알람 설정"을 제거할 수 있고 그리고 오후 9시 이후 핫워드 "알람 설정"을 활성 핫워드들(112)에 다시 추가할 수 있다. 일부 구현들에서, 활성 핫워드 선택기(126)가 핫워드 활성 핫워드들을(112)를 제거할 때 대응하는 핫워드 모델은 핫워드 모델들(114)에 남는다.
일부 구현들에서, 활성 핫워드 선택기(126)는, 동일한 애플리케이션이 컴퓨팅 디바이스(104)에서 실행 중일 때에도 활성 핫워드들(112)로부터 핫워드들을 제거할 수 있다. 컴퓨팅 디바이스(104)가 음악 애플리케이션을 실행할 때, 활성 핫워드 선택기(126)는 핫워드 "재생(play)", "다음(next)", "중지(stop)" 및 "뒤로(back)"를 식별할 수 있고, 그리고 핫워드 모델들(114)에 대응하는 핫워드 모델들을 로딩한다. 이 예에서, 핫워드들은 컴퓨팅 디바이스(104)가 핫워드 모델을 요구하기 위해 활성 핫워드들(112)에 추가될 필요가 없다. 음악이 재생되는 동안, 활성 핫워드 선택기들(126)은, 핫워드들 "다음", "중지" 및 "뒤로"를 활성 핫워드들로서 포함할 수 있다. 음악이 중지되고 그리고 음악 애플리케이션이 열린 상태로 남아있는 경우, 활성 핫워드 선택기(126)는 활성 핫워드들(112)을 "다음", "재생"및 "뒤로"로 업데이트할 수 있다.
일부 구현들에서, 사용자 인터페이스 생성기(144)는 컴퓨팅 디바이스(104) 상에 디스플레이하기 위한 사용자 인터페이스를 생성한다. 사용자 인터페이스는 활성 핫워드들(112)을 나타낼 수 있다. 예를 들어, 사용자 인터페이스는, 노래가 재생되기 시작할 때, 사용자(102)가 음악을 제어하기 위해 "다음", "중지" 또는 "뒤로"라고 말하도록 지시할 수 있다. 음악이 중지되면, 사용자 인터페이스는 사용자 (102)가 음악을 제어하기 위해 "다음", "재생" 및 "뒤로"를 말할 수 있음을 나타낼 수 있다. 사용자 인터페이스 생성기(144)는 또한 핫워드가 활성일 때 통지를 생성할 수 있다.
예를 들어, 사용자 인터페이스는 현재 시간이 오후 9시에 도달하면 핫워드 "알람 설정"이 활성화되었음을 나타낼 수 있다. 유사하게, 사용자 인터페이스는 현재 시간이 자정에 도달할 때 핫워드 "알람 설정"이 더 이상 활성화되지 않음을 나타낼 수 있다. 사용자 인터페이스는 각 핫워드를 말하는 효과를 나타낼 수도 있다. 예를 들어, 음악 애플리케이션이 활성화되어 있고 음악이 재생 중일 때, 사용자 인터페이스는 "다음"이 재생 목록의 다음 노래로 진행하고, "중지"는 현재 노래가 재생되는 것을 멈추고, "뒤로"는 재생 목록의 이전 노래로 되돌아 간다는 것을 나타낼 수 있다.
일부 구현들에서, 사용자 인터페이스 생성기(144)는 또한 상이한 핫워드들이 언제 활성화되는지를 제어하기 위해 사용자 인터페이스를 생성할 수 있다. 제어 인터페이스는 핫워드가 활성화될 때 콘텍스트를 포함할 수 있으며 핫워드가 활성화될 때 사용자가 콘텍스트를 업데이트할 수 있도록 한다. 부가적으로 또는 대안으로, 제어 인터페이스는 사용자(102)가 각각의 콘텍스트에 대해 활성인 핫워드들을 나타낼 수 있도록 한다. 예를 들어, 제어 인터페이스는 오전 8시부터 오전 10시까지 핫 워드 "뉴스(news)"가 활성화되었음을 나타낼 수 있다. 사용자(102)는 핫워드 "뉴스"가 오전 8시에서 정오까지 활성화되도록 콘텍스트를 조정할 수 있다.
제어 인터페이스는 또한 음악이 재생중일 때, 핫워드들 "다음", "중지" 또는 "뒤로"가 활성화되었음을 나타낼 수 있다. 사용자(102)는 음악 재생 콘텍스트에 대한 핫워드들을 단지 "다음" 및 "중지"로 업데이트할 수 있다. 일부 구현들에서, 제어 인터페이스는 또한 사용자(102)에게 기존 또는 커스텀 콘텍스트들에 대한 커스텀 핫워드들을 추가하는 기능을 제공할 수 있다. 예를 들어, 사용자(102)는 제어 인터페이스 "엄마에게 전화해(call mom)"를 핫워드로서 입력할 수 있고, 항상 핫워드를 활성화시키고, 연락처 "엄마"를 호출하는 핫워드를 검출할 수 있다. 또한, 사용자(102)는 음악 재생 콘텍스트에 "업" 및 "다운"을 추가할 수 있고 그리고 핫워드들이 볼륨을 제어하도록 지정할 수 있다. 사용자는 또한 시간주기 오전 11:00에서 오후 1:00에 대응하는 새로운 콘텍스트를 추가할 수 있다. 사용자는, 해당 기간 동안 활성화도록 핫워드 "점심 식사 주문(order lunch)"를 추가할 수 있고 그리고 핫워드가 음식 주문 애플리케이션을 여는 것임을 나타낼 수 있다.
단계 F에서, 사용자(102)는 핫워드(148)를 포함하는 발화(146)를 말한다. 컴퓨팅 장치(104)는 마이크로폰을 통해 발화(146)를 수신하고 그리고 대응하는 오디오 데이터를 처리한다. 핫워드 검출기(108)는 활성 핫워드들(112)의 핫워드 모델들 (114)을 비교하여 발화(146)가 임의의 활성 핫워드들을 포함하는지를 식별한다. 핫 워드 검출기(108)가 핫워드를 식별하면, 컴퓨팅 디바이스는 대응하는 명령을 수행한다. 도 1에 도시된 예에서, 사용자(102)는 "다음"을 말한다. 활성 핫워드들(112)는 "중지", "다음" 및 "뒤로"일 수 있다. 핫워드 검출기(108)는 발화(146)에 대응하는 오디오 데이터를 "중지", "다음" 및 "뒤로"에 대응하는 핫워드 모델들(114)과 비교하고 그리고 발화(146)가 핫워드 "다음"을 포함한다고 결정한다. 다음 노래로 진행하기 위한 명령에 대응하는 핫워드 "다음"을 검출하는 것에 기초하여, 컴퓨팅 디바이스는 단계 G에서 다음 노래(150)로 진행한다.
일부 구현들에서, 핫워드 검출기(108)는 활성 핫워드들(112) 중에서는 없지만 모델들이 여전히 핫워드 모델들에 저장된 핫워드들을 검출할 수 있다. 이 경우, 핫워드 검출기(108)는 핫워드가 현재 활성화되어 있지 않음을 나타내는 사용자 인터페이스를 생성하기 위한 지시를 사용자 인터페이스 생성기(144)에 제공할 수 있다. 예를 들어, 사용자(102)는 음악이 재생 중일 때 "재생"을 말할 수 있다. 핫 워드 검출기(108)는 핫워드 "재생"을 식별할 수 있다. 핫워드가 활성이 아니기 때문에, 컴퓨팅 디바이스(104)는 어떠한 동작도 수행하지 않는다. 하지만, 사용자 인터페이스 생성기(144)는 핫워드 "재생"이 활성 상태가 아니며 활성 핫워드가 "중지", "다음" 및 "뒤로"임을 나타내는 인터페이스를 생성할 수 있다.
일부 구현들에서, 컴퓨팅 디바이스(104)는 여전히 디폴트 핫워드 "오케이 컴퓨터"를 식별하도록 구성될 수 있다. 이 예에서, 컴퓨팅 디바이스(104)는 음성 인식을 사용하여 "오케이 컴퓨터"를 따르는 오디오 데이터를 처리할 수 있고 그리고 후속 오디오 데이터의 기록에 기초하여 적절한 동작을 실행할 수 있다. 예를 들어, 음악이 재생되는 동안 사용자(102)가 "오케이 컴퓨터, 다음"이라고 말하면, 이후 컴퓨팅 디바이스(104)는 "오케이 컴퓨터" 핫워드를 식별하고 그리고 명령어 "다음"을 포함하는 오디오 데이터의 후속 부분을 기록한 후 다음 노래로 진행한다.
유사하게, 문맥상의 핫워드는 명령어 다음에 올 수 있다. "점심 식사 주문"의 예를 계속하면, 사용자(102)는 핫워드가 활성화되는 동안 "샌드위치 델리에서 점심 식사 주문"을 말할 수 있다. 이 예에서, 핫워드 검출기(108)는 "점심 식사 주문" 핫워드를 식별한다. 음성 인식기(116)는 "샌드위치 델리(Sandwich Deli)"라는 표기를 생성한다. 컴퓨팅 디바이스(104)는 음식 주문 애플리케이션을 열고 그리고 샌드위치 델리 메뉴를 열 수 있다.
일부 구현들에서, 핫워드 검출기(108)는 처리된 오디오 데이터의 각 초기 부분에 대한 핫워드 신뢰도 스코어를 생성한다. 핫워드 신뢰도 스코어가 임계치를 만족하면, 핫워드 검출기(108)는 오디오 데이터가 핫워드를 포함한다고 결정한다. 예를 들어, 핫워드 신뢰도 스코어가 0.9이고, 그리고 핫워드 신뢰도 임계값이 0.8이면, 핫워드 검출기(108)는 오디오 데이터가 핫워드를 포함한다고 결정한다.
일부 구현들에서, 핫워드 신뢰도 스코어가 임계치 아래의 범위를 갖는다면, 사용자 인터페이스 생성기(144)는 사용자(102)가 핫워드를 말했음을 확인하는 인터페이스를 생성할 수 있다. 예를 들어, 핫워드 신뢰도 스코어는 0.7일 수 있다. 범위가 0.6 내지 0.8 사이이면, 사용자 인터페이스 생성기(144)는 사용자(102)가 핫 워드를 확인 또는 반복하도록 요청하는 사용자 인터페이스를 생성할 수 있다. 일부 구현들에서, 사용자(102)가 핫워드를 말했음을 사용자가 확인하면, 컴퓨팅 디바이스(104)는 오디오 데이터를 사용하여 미래의 성능을 향상시키기 위해 핫워드 모델을 업데이트할 수 있다. 컴퓨팅 디바이스(104)는 오디오 데이터에 너무 많은 노이즈가 있는 경우 오디오 데이터를 사용할 수 없다.
도 2는 문맥상의 핫워드들을 식별하고 처리하기 위한 예시적인 프로세스(200)를 도시한다. 일반적으로, 프로세스(200)는 디바이스의 콘텍스트에 기초하여 핫워드들을 식별하고 핫워드들에 액션들을 할당하여, 사용자가 핫워드를 말할 때, 프로세스는 대응하는 액션을 수행한다. 프로세스(200)는 하나 이상의 컴퓨터들을 포함하는 컴퓨터 시스템, 예를 들어, 도 1에 도시된 시스템(100)에 의해 수행되는 것으로 설명될 것이다.
시스템은 컴퓨팅 디바이스와 연관된 콘텍스트를 결정한다(210). 일부 구현들에서, 시스템은 시스템에서 실행중인 애플리케이션을 식별한다. 시스템은 시스템에서 실행중인 애플리케이션 기반으로 콘텍스트를 결정한다. 예를 들어, 애플리케이션은 음악 애플리케이션일 수 있다. 이 경우, 콘텍스트는 음악을 재생중일 수 있다. 시스템은, 또한, 백그라운드(background) 및 포그라운드(foreground)에서 실행중인 애플리케이션들 사이를 구별할 수 있다. 예를 들어, 백그라운드 또는 포그라운드에서 음악을 실행하고 재생하는 음악 애플리케이션은 음악 재생과 동일한 콘텍스트를 가질 수 있다. 백그라운드에서 실행중인 브라우저와 같은 애플리케이션은 콘텍스트에 영향을 미치지 않을 수 있다. 일부 구현들에서, 콘텍스트는 또한 디바이스가 잠겨질 때와 같은 디바이스의 상태와 관련될 수 있다. 콘텍스트는, 또한, 화면, 예를 들어, "홈 스크린(home screen)"에 디스플레이되는 것과 관련될 수 있다.
일부 구현들에서, 콘텍스트는 시스템의 움직임에 기초할 수 있다. 예를 들어, 시스템이 자동차와 유사한 속도로 움직이는 경우, 시스템은 콘텍스트가 "자동차 안에서(in a car)"라고 결정할 수 있다. 일부 구현들에서, 콘텍스트는 컴퓨팅 디바이스의 위치에 기초할 수 있다. 예를 들어, 시스템은 사용자의 집에 위치할 수 있다. 이 경우 장치의 콘텍스트는 "집에(at home)"일 수 있다. 일부 구현들에서, 콘텍스트는 콘텍스트들의 조합일 수 있다. 예를 들어, 시스템이 잠겨져 있고 그리고 사용자의 집에서 있는 경우, 콘텍스트는 "집에서 잠겨진(locked at home)" 상태일 수 있다.
시스템은, 시스템과 연관된 콘텍스트에 기반하여 핫워드(220)를 결정한다. 일부 구현들에서, 시스템은 소프트웨어에서 식별된 핫워드들에 기초하여 핫워드를 결정한다. 예를 들어, 음악 애플리케이션은 콘텍스트가 "음악 재생중"인 경우 그리고 음악이 중지되는 경우 그리고 음악 애플리케이션이 열려있는 경우에 대한 핫워드들을 식별할 수 있다.
일부 구현들에서, 시스템은 이전의 사용에 기초하여 핫워드들을 결정할 수 있다. 예를 들어, 사용자가 특정 시간 범위 동안 일반적으로 뉴스를 읽는 경우, 이후, 시스템은 콘텍스트가 그 시간 범위에 있을 때 핫워드 "뉴스"를 결정할 수 있다. 일부 구현들에서, 시스템은 핫워드를 디스플레이하고 핫워드에 의해 수행되는 동작을 디스플레이에 표시할 수 있다. 핫워드가 활성화될 때 및 시스템이 핫워드를 비활성화할 때 시스템은 알림을 제공할 수 있다.
시스템은 핫워드를 결정한 후, 발화(230)에 대응하는 오디오 데이터를 수신한다. 일부 구현들에서, 시스템은 서버로부터 핫워드를 위한 핫워드 모델을 요구하고, 시스템은 핫워드를 결정한다. 예를 들어, 시스템에서 핫워드 "다음"을 결정하면, 이후, 시스템은 서버로부터 "다음"에 대한 핫워드 모델을 요청할 수 있다.
시스템은 오디오 데이터가 핫워드(240)를 포함하는 것으로 결정한다. 일부 구현들에서, 시스템은 오디오 데이터가 오디오 데이터에 대한 음성 인식을 수행하지 않고 핫워드를 포함한다고 결정한다. 일부 구현들에서, 시스템은 발화에 대응하는 오디오 데이터의 오디오 피처들을 추출함으로써 오디오 데이터가 핫워드를 포함한다고 결정한다. 시스템은 오디오 피처들을 처리하고 가능한 오디오 피처들을 핫워드 모델의 피처들을 비교함으로써 핫워드 신뢰도 스코어를 생성한다.
핫워드 신뢰도 스코어가 핫워드 신뢰도 임계값을 만족하면, 이후, 시스템은 오디오 데이터가 핫워드를 포함한다고 결정한다. 핫워드 신뢰도 스코어가 핫워드 신뢰도 임계값을 만족시키지 않으면, 이후, 시스템은 오디오 데이터가 핫워드를 포함하지 않는다고 결정한다. 예를 들어, 핫워드 신뢰도 임계치가 0.8인 경우, 이후, 핫워드 신뢰도 스코어가 0.8 이상인 오디오 데이터는 핫워드를 포함하는 것으로 라벨링되고 그리고 핫워드 신뢰도 스코어가 0.8 미만인 오디오 데이터는 핫워드를 포함하지 않는 것으로 라벨링된다.
일부 구현들에서, 오디오 데이터는 핫워드만을 포함한다. 예를 들어, 사용자는 핫워드인 "다음"만을 말할 수 있다. 일부 구현들에서, 오디오 데이터의 초기 부분은 핫워드를 포함한다. 예를 들어, 핫워드는 "점심 식사 주문"일 수 있으며 사용자는 "샌드위치 델리에서 점심 식사 주문"을 말할 수 있다. 이 경우, 시스템은 핫 워드 "점심 식사 주문"을 식별하고 그리고 음성 인식을 사용하여 핫워드 다음의 오디오 데이터 부분을 처리한다.
시스템은, 오디오 데이터가 핫워드를 포함한다고 결정한 것에 응답하여, 핫 워드(250)와 연관된 동작을 수행한다. 일부 구현들에서, 시스템은 핫워드를 사용하여 동작을 식별한다. 예를 들어, 음악이 재생되고 사용자가 "다음"이라고 말하면 시스템은 노래를 진행시킨다.
일부 구현들에서, 시스템은 콘텍스트가 더 이상 유효하지 않을 때 활성 핫워드 목록으로부터 핫워드를 제거한다. 예를 들어, 사용자가 음악 재생을 중지하면, 이후, 시스템은 활성 핫워드들의 목록에서 핫워드 "다음"을 제거한다. 이 경우 사용자가 "다음"이라고 말하면, 시스템은 "다음"에 대한 응답으로 아무 작업도 수행하지 않는다.
일부 구현들에서, 동작은 핫워드 및 핫워드를 따르는 임의의 오디오 데이터에 기초하거나 또는 핫워드를 따르는 오디오 데이터에만 기초할 수 있다. 예를 들어, 활성 핫워드는 "방향들(directions)"일 수 있으며, 그리고 사용자는 "집으로 가는 방향(directions)"를 말할 수 있다. 이 경우, 시스템은 매핑 애플리케이션을 열 수 있고 그리고 사용자의 집으로 가는 방향들을 사용자에게 제공하기 시작할 수 있다.
일부 구현들에서, 동작은 핫워드를 따르는 오디오 데이터에 의존할 수 있다. 활성 핫워드가 핫워드를 따르는 오디오 데이터에 의존하는 상이한 작업들을 갖는 경우가 있을 수 있다. 예를 들어, 사용자가 집에 있을 수 있고 시스템이 음악을 재생 중일 수 있다. 집에 있는 사용자는 시스템이 핫워드 "증가"를 활성화하여 자동 온도 조절기의 온도를 상승시킬 수 있다. 음악을 재생하는 시스템은 또한 시스템이 핫워드 "증가"를 활성화하여 음악의 볼륨을 증가시킬 수 있다. 이 경우, 시스템은 하나 이상의 다음과 같은 방법들로 이 충돌을 완화할 수 있다.
시스템은 핫워드들을 "온도를 높여라" 및 "볼륨을 높여라"로 업데이트할 수 있다. 사용자가 음악 볼륨을 높이기 위해 "볼륨을 높여라" 또는 온도 조절기의 온도를 높이기 위해 "온도를 높여라"라고 말하는 것처럼, 사용자가 "높여라"라고 말하면 시스템은 스크린에 디스플레이할 수 있다. 대안으로, 시스템은 "높여라"를 핫워드로서 유지하고 그리고 시스템이 "높여라" 이후 어떤 오디오 데이터에 대한 음성 인식을 수행하는 경우 "높여라" 이후에 제안을 요구할 수 있거나 또는 사용자로부터 설명을 요구할 수 있다. 예를 들어, 사용자는 "높여라"를 말할 수 있다. 시스템은 무엇을 증가시킬지 명확히 하기 위해 요청을 디스플레이하거나 또는 사용자가 요청한 합성 음성을 재생할 수 있다.
일부 구현들에서, 시스템은 말해진 핫워드에 대한 제안 또는 접미사의 존재 하에서, 때로는 말해진 핫워드에 대한 제안 또는 접미어의 존재시에만 활성 핫워드를 검출할 수 있다. 예를 들어, 활성 핫워드는 "알람 설정"일 수 있다. 시스템은 "오전 6시" 또는 "내일 아침"과 같은 제안이 오는 경우에만 핫워드 "알람 설정"을 인식할 수 있다. 이 경우, 시스템은 핫워드 다음에 이어지는 오디오 데이터의 부분에 대해 음성 인식을 수행할 수 있고, 핫워드 다음에 추가 음성 용어들이 따르지 않으면 핫 워드를 인식하지 않을 수 있다. 일부 구현들에서, 추가 음성 용어들은 핫워드가 수용하는 제안들이다. 핫워드 "알람 설정"은 "오전 6시"와 같은 제안을 허용하지만 "참치 샌드위치"는 허용하지 않을 수 있다.
일부 구현들에서, 시스템은 오디오 데이터가 하나 이상의 핫워드를 포함한다고 결정할 수 있다. 현재 활성 핫워드들이 유사하게 들리기 때문에 이런 일이 발생할 수 있다. 예를 들어, 두 개의 활성 핫워드들은 "다음" 및 "텍스트"일 수 있다. 일부 구현들에서, 시스템은 오디오 데이터가 반드시 핫워드가 아닌, 핫워드를 포함한다는 것을 결정할 수 있다. 둘 이상의 핫 워드 모델이 오디오 데이터와 일치한다고 시스템이 판단하면, 이후, 시스템은 핫워드를 포함하는 오디오 데이터의 부분에 대해 음성 인식을 수행하여 사용자가 어떤 핫워드를 말했는지를 결정할 수 있다.
도 3는 본 명세서에 설명된 기술들을 구현하기 위해 사용될 수 있는 컴퓨팅 디바이스(300) 및 모바일 컴퓨팅 디바이스(350)의 일례를 도시한다. 컴퓨팅 디바이스(300)는 랩탑들, 데스크탑들, 워크스테이션들, 개인 정보 단말기(personal digital assistant)들, 서버들, 블레이드 서버들, 메인 프레임들 및 다른 적절한 컴퓨터들과 같은 다양한 형태들의 디지털 컴퓨터들을 나타내기 위해 의도된다. 모바일 컴퓨팅 디바이스(350)는 개인 정보 단말기들, 셀룰러 폰들, 스마트 폰들 및 다른 유사한 컴퓨팅 디바이스들과 같은 다양한 형태들의 모바일 디바이스들을 나타내기 위해 의도된다. 본 명세서에 제시된 구성 요소들, 이들의 연결 및 관계, 및 이들의 기능은 단지 예시적인 것으로 의도되며, 본 명세서에 설명된 및/또는 청구된 본 발명의 구현예를 제한하려고 의도된 것이 아니다.
컴퓨팅 디바이스(300)는 프로세서(302), 메모리(304), 저장 디바이스(306), 메모리(304) 및 다중 고속 확장 포트(310)에 연결된 고속 인터페이스(308), 및 저속 확장 포트(314) 및 저장 디바이스(306)에 연결된 저속 인터페이스(312)를 포함한다. 프로세서(302), 메모리(304), 저장 디바이스(306), 고속 인터페이스(308), 고속 확장 포트(310) 및 저속 인터페이스(312) 각각은 다양한 버스들을 사용하여 상호 연결되고, 공통 마더보드 상에 또는 적절한 다른 방식으로 장착될 수 있다. 프로세서(302)는, 메모리(304) 또는 저장 디바이스(306)에 저장된 명령어들을 포함하여, 컴퓨팅 디바이스(300) 내에서 실행되는 명령을 처리하여, 고속 인터페이스(308)에 결합된 디스플레이(316)와 같은 외부 입력/출력 디바이스 상에 GUI를 위한 그래픽 정보를 디스플레이할 수 있다. 다른 구현들에서, 다수의 메모리들 및 메모리 유형들과 함께 다수의 프로세서들 및/또는 다수의 버스들이 적절히 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들이 연결될 수 있고, 각 디바이스는 필요한 동작들(예를 들어, 서버 뱅크, 블레이드 서버들의 그룹 또는 다중 프로세서 시스템)의 일부들을 제공한다. 메모리(304)는 컴퓨팅 디바이스(300) 내에 정보를 저장한다. 일부 구현들에서, 메모리(304)는 휘발성 메모리 유닛 또는 유닛들이다. 일부 구현들에서, 메모리(304)는 비-휘발성 메모리 유닛 또는 유닛들이다. 메모리(304)는 또한 자기 디스크 또는 광 디스크와 같은 다른 형태의 컴퓨터 판독 가능한 매체일 수 있다.
저장 디바이스(306)는 컴퓨팅 디바이스(300)를 위한 대용량 저장 디바이스를 제공할 수 있다. 일부 구현들에서, 저장 디바이스(306)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 솔리드 스테이트 메모리 디바이스, 또는 저장 영역 네트워크 또는 다른 구성의 디바이스를 포함하는 디바이스의 어레이와 같은 컴퓨터-판독가능한 매체이거나 이 컴퓨터-판독가능한 매체를 포함할 수 있다. 명령어들은 정보 매체에 저장될 수 있다. 하나 이상의 프로세싱 디바이스들(예를 들어, 프로세서(302))에 의해 실행될 때, 명령어들은 상술한 바와 같은 하나 이상의 방법들을 수행한다.
명령어들은 또한 컴퓨터 판독 가능한 매체 또는 기계 판독 가능한 매체(예를 들어, 메모리(304), 저장 장치(306) 또는 프로세서(302)상의 메모리)와 같은 하나 이상의 저장 장치들에 의해 저장될 수 있다.
고속 인터페이스(308)는 컴퓨팅 디바이스(300)에 대한 대역폭 집약적인 동작을 관리하는 반면, 저속 인터페이스(312)는 낮은 대역폭 집약적인 동작을 관리한다. 이러한 기능 할당은 단지 예시적인 것이다. 일부 구현들에서, 고속 인터페이스(308)는 메모리(304), 디스플레이(316)(예를 들어, 그래픽 프로세서 또는 가속기를 통해), 및 다양한 확장 카드들을 수용할 수 있는 고속 확장 포트들(310)에 결합된다. 상기 구현에서, 저속 확장 포트(314)는 저장 디바이스(306) 및 저속 확장 포트(314)에 결합된다. 다양한 통신 포트들(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트는 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입력/출력 디바이스, 또는 예를 들어 네트워크 어댑터를 통해 라우터 또는 스위치와 같은 네트워킹 디바이스에 결합될 수 있다.
컴퓨팅 디바이스(300)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 이 컴퓨팅 디바이스는 표준 서버(320)로서 구현되거나, 또는 이러한 서버의 그룹으로 다수회 구현될 수 있다. 또한, 이 컴퓨팅 디바이스는 랩탑 컴퓨터(322)와 같은 개인용 컴퓨터에서 구현될 수도 있다. 이는 또한, 랙 서버 시스템(324)의 부분으로서 구현될 수 있다. 대안적으로, 컴퓨팅 디바이스(300)로부터의 구성 요소들은 모바일 컴퓨팅 디바이스(350)와 같은 모바일 디바이스 내의 다른 구성 요소들과 결합될 수 있다. 이러한 디바이스들 각각은 컴퓨팅 디바이스(300) 및 모바일 컴퓨팅 디바이스(350) 중 하나 이상을 포함할 수 있고, 그리고 전체 시스템은 서로 통신하는 다수의 컴퓨팅 디바이스들로 구성될 수 있다.
모바일 컴퓨팅 디바이스(350)는 다른 구성요소들 중 프로세서(352), 메모리(364), 디스플레이(354)와 같은 입력/출력 디바이스, 통신 인터페이스(366) 및 트랜시버(368)를 포함한다. 모바일 컴퓨팅 디바이스(350)는 추가적인 저장소를 제공하기 위해 마이크로 드라이브 또는 다른 디바이스와 같은 저장 디바이스를 또한 구비할 수 있다. 프로세서(352), 메모리(364), 디스플레이(354), 통신 인터페이스(366) 및 트랜시버(368)들 각각은 다양한 버스들을 사용하여 상호 연결되며, 일부 구성 요소는 공통 마더보드 상에 또는 적절히 다른 방식으로 장착될 수 있다.
프로세서(352)는 메모리(364)에 저장된 명령을 포함하여 모바일 컴퓨팅 디바이스(350) 내의 명령어들을 실행할 수 있다. 프로세서(352)는 별도의 및 다수의 아날로그 및 디지털 프로세서를 포함하는 칩의 칩셋(chipset)으로서 구현될 수 있다. 프로세서(352)는, 예를 들어, 사용자 인터페이스들의 제어, 모바일 컴퓨팅 디바이스(350)에 의해 실행되는 애플리케이션들, 및 모바일 컴퓨팅 디바이스(350)에 의한 무선 통신과 같은 모바일 컴퓨팅 디바이스(350)의 다른 구성 요소들의 조정을 제공할 수 있다.
프로세서(352)는 제어 인터페이스(358) 및 디스플레이(354)에 결합된 디스플레이 인터페이스(356)를 통해 사용자와 통신할 수 있다. 디스플레이(354)는, 예를 들어, 박막 트랜지스터 액정 디스플레이(Thin-Film-Transistor Liquid Crystal Display: TFT LCD) 또는 유기 발광 다이오드(Organic Light Emitting Diode: OLED) 디스플레이 또는 다른 적절한 디스플레이 기술일 수 있다. 디스플레이 인터페이스(356)는 사용자에게 그래픽 및 다른 정보를 제공하기 위해 디스플레이(354)를 구동하기 위한 적절한 회로를 포함할 수 있다. 제어 인터페이스(358)는 사용자로부터 명령을 수신하여 이 명령을 프로세서(352)에 전달하기 위해 이들 명령을 변환할 수 있다. 또한, 외부 인터페이스(362)는 프로세서(352)와 통신하며 다른 디바이스들과 모바일 통신 디바이스(350)의 근거리 통신이 가능하도록 제공될 수 있다. 외부 인터페이스(362)는, 예를 들어, 일부 구현들에서 유선 통신을 제공하거나, 또는 다른 구현들에서 무선 통신을 제공할 수 있으며, 다수의 인터페이스들은 또한 사용될 수 있다.
메모리(364)는 컴퓨팅 디바이스(350) 내에 정보를 저장한다. 메모리(364)는 컴퓨터 판독 가능 매체 또는 매체들, 휘발성 메모리 유닛 또는 유닛들 또는 비-휘발성 메모리 유닛 또는 유닛들 중 하나 이상으로 구현될 수 있다. 확장 메모리(374)는 또한 예를 들어 SIMM(Single In Line Memory Module) 카드 인터페이스를 포함할 수 있는 확장 인터페이스(372)를 통해 모바일 컴퓨팅 디바이스(350)에 제공되고 연결될 수 있다. 이러한 확장 메모리(374)는 모바일 컴퓨팅 디바이스(350)를 위한 여분의 저장 공간을 제공할 수 있거나, 또는 모바일 컴퓨팅 디바이스(350)를 위한 애플리케이션 또는 다른 정보를 더 저장할 수 있다. 구체적으로, 확장 메모리(374)는 전술된 처리를 수행하거나 보충하기 위한 명령을 포함할 수 있고, 또한 보안 정보를 포함할 수 있다. 따라서, 예를 들어, 확장 메모리(374)는 모바일 컴퓨팅 디바이스(350)를 위한 보안 모듈로서 제공될 수 있고, 모바일 컴퓨팅 디바이스(350)의 보안 사용을 가능하게 하는 명령으로 프로그래밍될 수 있다. 또한, 예를 들어 SIMM 카드 상에 식별 정보를 해킹할 수 없는 방식으로 배치하는 보안 애플리케이션이 추가적인 정보와 함께 SIMM 카드를 통해 제공될 수 있다.
메모리는, 예를 들어, 후술된 바와 같이, 플래시 메모리 및/또는 NVRAM 메모리(비-활성 랜덤 액세스 메모리)를 포함할 수 있다. 일 구현들에서, 명령어들은 정보 운반매체에 저장되고, 하나 이상의 프로세싱 디바이스들(예를 들어, 프로세서(352))에 의해 실행될 때, 그러한 명령어들은 전술한 방법과 같은 하나 이상의 방법들을 수행한다. 명령어들은 또한 하나 이상의 컴퓨터 판독 가능 매체 또는 기계 판독 가능 매체(예를 들어, 메모리(364), 확장 메모리(374) 또는 프로세서(352)상의 메모리)와 같은 하나 이상의 저장 디바이스들에 의해 저장될 수 있다. 일부 구현들에서, 명령어들은, 예를 들어, 트랜시버(368) 또는 외부 인터페이스(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)를 통해 발생할 수 있다. 또한, 예를 들어 블루투스, Wi-Fi 또는 다른 이러한 트랜시버를 사용하는 단거리 통신이 발생할 수 있다. 또한, GPS(Global Positioning System) 수신기 모듈(370)은 모바일 컴퓨팅 디바이스(350) 상에서 실행되는 애플리케이션들에 의해 적절히 사용될 수 있는 추가적인 네비게이션 관련 무선 데이터 및 위치 관련 무선 데이터를 모바일 컴퓨팅 디바이스(350)에 제공할 수 있다.
모바일 컴퓨팅 디바이스(350)는 또한 사용자로부터 발성된(spoken) 정보를 수신하고 이 발성된 정보를 사용 가능한 디지털 정보로 변환할 수 있는 오디오 코덱(360)을 사용하여 청각적으로 통신할 수 있다. 오디오 코덱(360)은 또한 예를 들어 모바일 컴퓨팅 디바이스(350)의 핸드셋 내 예를 들어 스피커를 통해, 사용자를 위한 가청 사운드를 생성할 수 있다. 이러한 사운드는 음성 전화 호출로부터의 사운드를 포함할 수 있고, 기록된 사운드(예를 들어, 음성 메시지들, 음악 파일들 등)를 포함할 수 있고, 또한 모바일 컴퓨팅 디바이스(350) 상에서 동작하는 애플리케이션들에 의해 생성된 사운드를 포함할 수도 있다.
모바일 컴퓨팅 디바이스(350)는 도면에 도시된 바와 같이 다수의 다른 형태들로 구현될 수 있다. 예를 들어, 이 모바일 컴퓨팅 디바이스는 셀룰러 폰(380)으로 구현될 수 있다. 이 컴퓨팅 디바이스는 또한 스마트 폰(382), 개인 정보 단말기, 또는 다른 유사한 모바일 디바이스의 일부로서 구현될 수 있다.
여기에 서술된 시스템들 및 서술들의 다양한 구현들은, 디지털 전자 회로, 집적 회로, 특수 설계된 ASIC(application specific integrated circuit)들, 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합들로 실현될 수 있다. 이러한 다양한 구현들은, 적어도 하나의 프로그램 가능 프로세서를 포함하는 프로그램 가능 시스템상에서 실행 가능하고 그리고/또는 해석 가능한 하나 이상의 컴퓨터 프로그램들에서의 구현을 포함할 수 있으며, 상기 적어도 하나의 프로그램 가능 프로세서는, 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령들을 수신하고, 그리고 데이터 및 명령들을 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스에 전송하도록 결합된 특수용 또는 범용 프로세서일 수 있다.
이러한 컴퓨터 프로그램들(프로그램들, 소프트웨어, 소프트웨어 애플리케이션들 또는 코드라고도 함)은 프로그래밍가능한 프로세서용 기계 명령들을 포함하고 그리고 하이-레벨 프로시저 및/또는 객체 지향 프로그래밍 언어, 및/또는 어셈블리/기계 언어로 구현될 수 있다. 여기에서 사용되는, "기계 판독가능 매체", "컴퓨터 판독가능 매체"라는 용어들은, 기계 판독가능한 신호로서 기계 명령들을 수신하는 기계 판독가능한 매체를 포함하여, 프로그램 가능 프로세서에 기계 명령들 및/또는 데이터를 제공하는데 사용되는, 임의의 컴퓨터 프로그램 제품, 장치 및/또는 디바이스(예를 들어, 자기 디스크들, 광 디스크들, 메모리, PLD(Programmable Logic Device)들)를 언급한다. "기계 판독가능 신호"라는 용어는 기계 명령어들 및/또는 데이터를 프로그램 가능 프로세서에 제공하기 위해 사용되는 임의의 신호를 언급한다.
사용자와의 상호 작용을 제공하기 위해, 여기에 서술된 시스템들 및 기술들은, 정보를 사용자에게 디스플레이하기 위한 디스플레이 디바이스(예를 들어, CRT (cathode ray tube) 또는 LCD(liquid crystal display) 모니터), 및 키보드 및 사용자가 입력을 컴퓨터에 제공할 수 있는 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)를 갖는 컴퓨터 상에 구현될 수 있다. 다른 종류의 디바이스들은 사용자와의 상호 작용을 제공하는데 사용될 수 있다. 예를 들어, 사용자에게 제공된 피드백은 임의의 형태의 감각 피드백(예를 들어, 시각적 피드백, 청각 피드백 또는 촉각 피드백)일 수 있고 그리고 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다.
여기에 서술된 시스템들 및 기술들은 백엔드 컴포넌트(예 : 데이터 서버)를 포함하거나 또는 미들웨어 컴포넌트(예 : 애플리케이션 서버)를 포함하거나 또는 프론트엔드 컴포넌트(예를 들어, 사용자가 여기에 서술된 시스템 및 기술들의 구현과 상호 작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 클라이언트 컴퓨터) 또는 이러한 백 엔드, 미들웨어 또는 프론트 엔드 컴포넌트의 임의의 조합을 포함할 수 있다. 시스템의 컴포넌트는 임의의 형태 또는 매체의 디지털 데이터 통신(예를 들어, 통신 네트워크)에 의해 상호접속될 수 있다. 통신 네트워크의 예들은 근거리 통신망("LAN"), 광역 통신망("WAN") 및 인터넷을 포함한다.
컴퓨팅 시스템에는 클라이언트들 및 서버들이 포함될 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 일반적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램에 의해 발생한다.
비록 일부 구현이 상술되었지만, 다른 수정들이 가능하다. 예를 들어, 클라이언트 애플리케이션은 델리게이트(들)에 액세스하는 것으로 서술되지만, 다른 구현들에서, 델리게이트(들)은 하나 이상의 서버들에서 실행되는 애플리케이션과 같은 하나 이상의 프로세서들에 의해 구현되는 다른 애플리케이션들에 의해 채용될 수 있다. 또한, 도면들에 도시된 논리 흐름들은 바람직한 결과들을 달성하기 위해 도시된 특정 순서 또는 순차 순서를 요구하지 않는다. 또한, 서술된 흐름에서 다른 동작을 제공하거나 동작을 제거할 수 있으며, 서술된 시스템들에 다른 구성 요소들 추가하거나 제거할 수 있다. 따라서, 다른 구현들은 다음의 청구항들의 범위 내에 있다.

Claims (21)

  1. 컴퓨터로 구현되는 방법으로서,
    컴퓨팅 디바이스에 의해, 상기 컴퓨팅 디바이스와 연관된 콘텍스트를 결정하는 단계와;
    상기 컴퓨팅 디바이스와 연관된 상기 콘텍스트에 기초하여, 핫워드를 결정하는 단계와;
    상기 핫워드를 결정한 후, 발화(utterance)에 대응하는 오디오 데이터를 수신하는 단계와;
    상기 오디오 데이터가 상기 핫워드를 포함한다고 결정하는 단계와; 그리고
    상기 오디오 데이터가 상기 핫워드를 포함한다고 결정한 것에 응답하여, 상기 핫워드와 연관된 동작을 수행하는 단계를 포함하는
    컴퓨터로 구현되는 방법.
  2. 제1항에 있어서,
    상기 오디오 데이터가 상기 핫워드를 포함한다고 결정하는 단계는, 상기 오디오 데이터에 대한 음성 인식을 수행하지 않고 상기 오디오 데이터가 상기 핫워드를 포함한다고 결정하는 단계를 포함하는 것을 특징으로 하는
    컴퓨터로 구현되는 방법.
  3. 제1항에 있어서,
    상기 오디오 데이터가 상기 핫워드를 포함한다고 결정하는 단계는,
    상기 발화에 대응하는 상기 오디오 데이터의 오디오 피처들(audio features)을 추출하는 단계와;
    상기 오디오 피처들을 처리함으로써 핫워드 신뢰도 스코어(hotword confidence score)를 생성하는 단계와;
    상기 핫워드 신뢰도 스코어가 핫워드 신뢰도 임계값을 만족시키는지를 결정하는 단계와; 그리고
    상기 핫워드 신뢰도 스코어가 핫워드 신뢰도 임계값을 만족하는지를 결정하는 것에 기초하여, 상기 발화에 대응하는 상기 오디오 데이터가 상기 핫워드를 포함한다고 결정하는 단계를 포함하는 것을 특징으로 하는
    컴퓨터로 구현되는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 핫워드를 결정한 후, 상기 핫워드에 대응하는 핫워드 모델을 수신하는 단계를 포함하고,
    상기 오디오 데이터가 상기 핫워드를 포함한다고 결정하는 단계는, 상기 핫워드 모델을 사용하여, 상기 오디오 데이터가 상기 핫워드를 포함한다고 결정하는 단계를 포함하는 것을 특징으로 하는
    컴퓨터로 구현되는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    출력을 위해, 상기 핫워드를 식별하는 데이터를 제공하는 단계를 포함하는 것을 특징으로 하는
    컴퓨터로 구현되는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 컴퓨팅 디바이스에 의해, 상기 컴퓨팅 디바이스의 움직임을 식별하는 단계를 포함하고,
    상기 콘텍스트는 상기 컴퓨팅 디바이스의 움직임에 기초하는 것을 특징으로 하는
    컴퓨터로 구현되는 방법.
  7. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 컴퓨팅 디바이스에 의해, 상기 컴퓨팅 디바이스 상에서 실행중인 애플리케이션을 식별하는 단계를 포함하고,
    상기 콘텍스트는 상기 컴퓨팅 디바이스 상에서 실행중인 상기 애플리케이션에 기초하는 것을 특징으로 하는
    컴퓨터로 구현되는 방법.
  8. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 컴퓨팅 디바이스에 의해, 상기 컴퓨팅 디바이스의 위치를 식별하는 단계를 포함하고,
    상기 콘텍스트는 상기 컴퓨팅 디바이스의 위치에 기초하는 것을 특징으로 하는
    컴퓨터로 구현되는 방법.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 컴퓨팅 디바이스에 의해, 상기 콘텍스트가 상기 컴퓨팅 장치와 더 이상 연관되어 있지 않다고 결정하는 단계와; 그리고
    상기 핫워드를 포함하는 후속적으로 수신된 오디오 데이터가 동작을 트리거링하지 않는 것으로 결정하는 단계를 포함하는 것을 특징으로 하는
    컴퓨터로 구현되는 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 핫워드와 연관된 동작을 수행하는 단계는:
    상기 핫워드를 포함하지 않는 상기 오디오 데이터의 부분에 대해 음성 인식을 수행하는 단계를 포함하고,
    상기 동작은 상기 핫워드를 포함하지 않는 상기 오디오의 부분의 표기(transcription)에 기초하는 것을 특징으로 하는
    컴퓨터로 구현되는 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    상기 오디오 데이터는 상기 핫워드만을 포함하는 것을 특징으로 하는
    컴퓨터로 구현되는 방법.
  12. 제1항 내지 제10항 중 어느 한 항에 있어서,
    상기 오디오 데이터의 초기 부분은 상기 핫워드를 포함하는 것을 특징으로 하는
    컴퓨터로 구현되는 방법.
  13. 시스템으로서,
    하나 이상의 컴퓨터들 및 하나 이상의 저장 디바이스들을 포함하고,
    상기 하나 이상의 저장 디바이스들은, 상기 하나 이상의 컴퓨터들에 의해 실행될 때, 상기 하나 이상의 컴퓨터들로 하여금 동작들을 수행하도록 동작가능한 명령어들을 저장하고,
    상기 동작들은:
    컴퓨팅 디바이스에 의해, 상기 컴퓨팅 디바이스와 연관된 콘텍스트를 결정하는 단계와;
    상기 컴퓨팅 디바이스와 연관된 상기 콘텍스트에 기초하여, 핫워드를 결정하는 단계와;
    상기 핫워드를 결정한 후, 발화에 대응하는 오디오 데이터를 수신하는 단계와;
    상기 오디오 데이터가 상기 핫워드를 포함한다고 결정하는 단계와; 그리고
    상기 오디오 데이터가 상기 핫워드를 포함한다고 결정한 것에 응답하여, 상기 핫워드와 연관된 동작을 수행하는 단계를 포함하는 것을 특징으로 하는
    시스템.
  14. 제13항에 있어서,
    상기 오디오 데이터가 상기 핫워드를 포함한다고 결정하는 단계는, 상기 오디오 데이터에 대한 음성 인식을 수행하지 않고 상기 오디오 데이터가 상기 핫워드를 포함한다고 결정하는 단계를 포함하는 것을 특징으로 하는
    시스템.
  15. 제13항에 있어서,
    상기 오디오 데이터가 상기 핫워드를 포함한다고 결정하는 단계는,
    상기 발화에 대응하는 상기 오디오 데이터의 오디오 피처들을 추출하는 단계와;
    상기 오디오 피처들을 처리함으로써 핫워드 신뢰도 스코어를 생성하는 단계와;
    상기 핫워드 신뢰도 스코어가 핫워드 신뢰도 임계값을 만족시키는지를 결정하는 단계와; 그리고
    상기 핫워드 신뢰도 스코어가 핫워드 신뢰도 임계값을 만족하는지를 결정하는 것에 기초하여, 상기 발화에 대응하는 상기 오디오 데이터가 상기 핫워드를 포함한다고 결정하는 단계를 포함하는 것을 특징으로 하는
    시스템.
  16. 제13항 내지 제15항 중 어느 한 항에 있어서,
    상기 동작들은:
    상기 핫워드를 결정한 후, 상기 핫워드에 대응하는 핫워드 모델을 수신하는 단계를 더 포함하고,
    상기 오디오 데이터가 상기 핫워드를 포함한다고 결정하는 단계는, 상기 핫워드 모델을 사용하여, 상기 오디오 데이터가 상기 핫워드를 포함한다고 결정하는 단계를 포함하는 것을 특징으로 하는
    시스템.
  17. 제13항 내지 제16항 중 어느 한 항에 있어서,
    상기 동작들은:
    상기 컴퓨팅 디바이스에 의해, 상기 컴퓨팅 디바이스 상에서 실행중인 애플리케이션을 식별하는 단계를 더 포함하고,
    상기 콘텍스트는 상기 컴퓨팅 디바이스 상에서 실행중인 상기 애플리케이션에 기초하는 것을 특징으로 하는
    시스템.
  18. 제13항 내지 제17항 중 어느 한 항에 있어서,
    상기 동작들은:
    상기 컴퓨팅 디바이스에 의해, 상기 콘텍스트가 상기 컴퓨팅 장치와 더 이상 연관되어 있지 않다고 결정하는 단계와; 그리고
    상기 핫워드를 포함하는 후속적으로 수신된 오디오 데이터가 동작을 트리거링하지 않는 것으로 결정하는 단계를 더 포함하는 것을 특징으로 하는
    시스템.
  19. 제13항 내지 제18항 중 어느 한 항에 있어서,
    상기 핫워드와 연관된 동작을 수행하는 단계는:
    상기 핫워드를 포함하지 않는 상기 오디오 데이터의 부분에 대해 음성 인식을 수행하는 단계를 포함하고,
    상기 동작은 상기 핫워드를 포함하지 않는 상기 오디오의 부분의 표기에 기초하는 것을 특징으로 하는
    시스템.
  20. 하나 이상의 컴퓨터들에 의해 실행 가능한 명령어들을 포함하는 소프트웨어를 저장하는 비 일시적인 컴퓨터 판독 가능 매체로서,
    상기 실행시에, 상기 하나 이상의 컴퓨터들로 하여금 동작들을 수행하도록 하고,
    상기 동작들은:
    컴퓨팅 디바이스에 의해, 상기 컴퓨팅 디바이스와 연관된 콘텍스트를 결정하는 단계와;
    상기 컴퓨팅 디바이스와 연관된 상기 콘텍스트에 기초하여, 핫워드를 결정하는 단계와;
    상기 핫워드를 결정한 후, 발화에 대응하는 오디오 데이터를 수신하는 단계와;
    상기 오디오 데이터가 상기 핫워드를 포함한다고 결정하는 단계와; 그리고
    상기 오디오 데이터가 상기 핫워드를 포함한다고 결정한 것에 응답하여, 상기 핫워드와 연관된 동작을 수행하는 단계를 포함하는 것을 특징으로 하는
    비 일시적인 컴퓨터 판독 가능 매체.
  21. 프로세서에 의해 실행될 때, 제1항 내지 제12항 중 어느 한 항의 방법을 수행하도록 구성된 컴퓨터 프로그램.
KR1020197021993A 2016-12-27 2017-08-01 문맥상의 핫워드들 KR102312218B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020217031942A KR102374519B1 (ko) 2016-12-27 2017-08-01 문맥상의 핫워드들

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/391,358 US10276161B2 (en) 2016-12-27 2016-12-27 Contextual hotwords
US15/391,358 2016-12-27
PCT/US2017/044918 WO2018125292A1 (en) 2016-12-27 2017-08-01 Contextual hotwords

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020217031942A Division KR102374519B1 (ko) 2016-12-27 2017-08-01 문맥상의 핫워드들

Publications (2)

Publication Number Publication Date
KR20190100334A true KR20190100334A (ko) 2019-08-28
KR102312218B1 KR102312218B1 (ko) 2021-10-13

Family

ID=59558544

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020197021993A KR102312218B1 (ko) 2016-12-27 2017-08-01 문맥상의 핫워드들
KR1020217031942A KR102374519B1 (ko) 2016-12-27 2017-08-01 문맥상의 핫워드들

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020217031942A KR102374519B1 (ko) 2016-12-27 2017-08-01 문맥상의 핫워드들

Country Status (6)

Country Link
US (3) US10276161B2 (ko)
EP (2) EP3627504A1 (ko)
JP (2) JP6780124B2 (ko)
KR (2) KR102312218B1 (ko)
CN (2) CN110140168B (ko)
WO (1) WO2018125292A1 (ko)

Families Citing this family (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9812128B2 (en) * 2014-10-09 2017-11-07 Google Inc. Device leadership negotiation among voice interface devices
US9965247B2 (en) 2016-02-22 2018-05-08 Sonos, Inc. Voice controlled media playback system based on user profile
US10509626B2 (en) 2016-02-22 2019-12-17 Sonos, Inc Handling of loss of pairing between networked devices
US9826306B2 (en) 2016-02-22 2017-11-21 Sonos, Inc. Default playback device designation
US10095470B2 (en) 2016-02-22 2018-10-09 Sonos, Inc. Audio response playback
US10264030B2 (en) 2016-02-22 2019-04-16 Sonos, Inc. Networked microphone device control
US9947316B2 (en) 2016-02-22 2018-04-17 Sonos, Inc. Voice control of a media playback system
US9978390B2 (en) 2016-06-09 2018-05-22 Sonos, Inc. Dynamic player selection for audio signal processing
US10134399B2 (en) 2016-07-15 2018-11-20 Sonos, Inc. Contextualization of voice inputs
US10152969B2 (en) 2016-07-15 2018-12-11 Sonos, Inc. Voice detection by multiple devices
US10115400B2 (en) 2016-08-05 2018-10-30 Sonos, Inc. Multiple voice services
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
US10217453B2 (en) * 2016-10-14 2019-02-26 Soundhound, Inc. Virtual assistant configured by selection of wake-up phrase
US10181323B2 (en) 2016-10-19 2019-01-15 Sonos, Inc. Arbitration-based voice recognition
US10276161B2 (en) 2016-12-27 2019-04-30 Google Llc Contextual hotwords
US10841412B2 (en) * 2017-03-13 2020-11-17 Motorola Mobility Llc Method and apparatus for enabling context-based voice responses to always-on-display notifications
US11183181B2 (en) 2017-03-27 2021-11-23 Sonos, Inc. Systems and methods of multiple voice services
KR102416782B1 (ko) * 2017-03-28 2022-07-05 삼성전자주식회사 음성 인식 서비스 운용 방법 및 이를 지원하는 전자 장치
US10475449B2 (en) 2017-08-07 2019-11-12 Sonos, Inc. Wake-word detection suppression
US10048930B1 (en) 2017-09-08 2018-08-14 Sonos, Inc. Dynamic computation of system response volume
US10446165B2 (en) 2017-09-27 2019-10-15 Sonos, Inc. Robust short-time fourier transform acoustic echo cancellation during audio playback
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
US10051366B1 (en) 2017-09-28 2018-08-14 Sonos, Inc. Three-dimensional beam forming with a microphone array
US10466962B2 (en) 2017-09-29 2019-11-05 Sonos, Inc. Media playback system with voice assistance
US10916252B2 (en) 2017-11-10 2021-02-09 Nvidia Corporation Accelerated data transfer for latency reduction and real-time processing
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
WO2019152722A1 (en) 2018-01-31 2019-08-08 Sonos, Inc. Device designation of playback and network microphone device arrangements
US10789940B2 (en) * 2018-03-27 2020-09-29 Lenovo (Singapore) Pte. Ltd. Dynamic wake word identification
EP3561806B1 (en) * 2018-04-23 2020-04-22 Spotify AB Activation trigger processing
US11175880B2 (en) 2018-05-10 2021-11-16 Sonos, Inc. Systems and methods for voice-assisted media content selection
US10847178B2 (en) 2018-05-18 2020-11-24 Sonos, Inc. Linear filtering for noise-suppressed speech detection
US10959029B2 (en) 2018-05-25 2021-03-23 Sonos, Inc. Determining and adapting to changes in microphone performance of playback devices
US10681460B2 (en) 2018-06-28 2020-06-09 Sonos, Inc. Systems and methods for associating playback devices with voice assistant services
CN112513978A (zh) * 2018-08-09 2021-03-16 谷歌有限责任公司 热词辨识和被动辅助
CN112272846A (zh) * 2018-08-21 2021-01-26 谷歌有限责任公司 用于调用自动助理的动态的和/或特定于场境的热词
EP3631793B1 (en) 2018-08-21 2022-03-30 Google LLC Dynamic and/or context-specific hot words to invoke automated assistant
CN109117233A (zh) * 2018-08-22 2019-01-01 百度在线网络技术(北京)有限公司 用于处理信息的方法和装置
US11076035B2 (en) 2018-08-28 2021-07-27 Sonos, Inc. Do not disturb feature for audio notifications
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
US11024331B2 (en) 2018-09-21 2021-06-01 Sonos, Inc. Voice detection optimization using sound metadata
US10811015B2 (en) 2018-09-25 2020-10-20 Sonos, Inc. Voice detection optimization based on selected voice assistant service
US11100923B2 (en) 2018-09-28 2021-08-24 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
US11899519B2 (en) 2018-10-23 2024-02-13 Sonos, Inc. Multiple stage network microphone device with reduced power consumption and processing load
EP3654249A1 (en) 2018-11-15 2020-05-20 Snips Dilated convolutions and gating for efficient keyword spotting
US11100925B2 (en) 2018-12-06 2021-08-24 Comcast Cable Communications, Llc Voice command trigger words
US11183183B2 (en) 2018-12-07 2021-11-23 Sonos, Inc. Systems and methods of operating media playback systems having multiple voice assistant services
US11132989B2 (en) 2018-12-13 2021-09-28 Sonos, Inc. Networked microphone devices, systems, and methods of localized arbitration
US10602268B1 (en) 2018-12-20 2020-03-24 Sonos, Inc. Optimization of network microphone devices using noise classification
US11315556B2 (en) 2019-02-08 2022-04-26 Sonos, Inc. Devices, systems, and methods for distributed voice processing by transmitting sound data associated with a wake word to an appropriate device for identification
US10867604B2 (en) 2019-02-08 2020-12-15 Sonos, Inc. Devices, systems, and methods for distributed voice processing
EP3871088A1 (en) * 2019-02-26 2021-09-01 Google LLC Reinforcement learning techniques for selecting a software policy network and autonomously controlling a corresponding software client based on selected policy network
KR20200104773A (ko) * 2019-02-27 2020-09-04 삼성전자주식회사 전자 장치 및 그 제어 방법
US11417323B2 (en) 2019-02-27 2022-08-16 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof
US11120794B2 (en) 2019-05-03 2021-09-14 Sonos, Inc. Voice assistant persistence across multiple network microphone devices
US11361756B2 (en) 2019-06-12 2022-06-14 Sonos, Inc. Conditional wake word eventing based on environment
US10586540B1 (en) 2019-06-12 2020-03-10 Sonos, Inc. Network microphone device with command keyword conditioning
US11200894B2 (en) 2019-06-12 2021-12-14 Sonos, Inc. Network microphone device with command keyword eventing
KR20210009596A (ko) * 2019-07-17 2021-01-27 엘지전자 주식회사 지능적 음성 인식 방법, 음성 인식 장치 및 지능형 컴퓨팅 디바이스
US11449308B2 (en) * 2019-07-19 2022-09-20 Google Llc Condensed spoken utterances for automated assistant control of an intricate application GUI
US11282500B2 (en) * 2019-07-19 2022-03-22 Cisco Technology, Inc. Generating and training new wake words
KR20190096862A (ko) * 2019-07-30 2019-08-20 엘지전자 주식회사 인공지능 장치를 이용한 음성 인식 기반 사용자 인증 방법 및 이를 위한 장치
US11138975B2 (en) 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
US10871943B1 (en) 2019-07-31 2020-12-22 Sonos, Inc. Noise classification for event detection
US11138969B2 (en) 2019-07-31 2021-10-05 Sonos, Inc. Locally distributed keyword detection
CN110415705B (zh) * 2019-08-01 2022-03-01 苏州奇梦者网络科技有限公司 一种热词识别方法、系统、装置及存储介质
CN112581946A (zh) * 2019-09-29 2021-03-30 百度在线网络技术(北京)有限公司 语音控制方法、装置、电子设备和可读存储介质
CN112581969A (zh) * 2019-09-29 2021-03-30 百度在线网络技术(北京)有限公司 语音控制方法、装置、电子设备和可读存储介质
EP3970139A1 (en) 2019-10-15 2022-03-23 Google LLC Detection and/or enrollment of hot commands to trigger responsive action by automated assistant
US11189286B2 (en) 2019-10-22 2021-11-30 Sonos, Inc. VAS toggle based on device orientation
CN110879839A (zh) * 2019-11-27 2020-03-13 北京声智科技有限公司 一种热词识别方法、装置及系统
US11200900B2 (en) 2019-12-20 2021-12-14 Sonos, Inc. Offline voice control
CN111028830B (zh) * 2019-12-26 2022-07-15 大众问问(北京)信息科技有限公司 一种本地热词库更新方法、装置及设备
US11562740B2 (en) 2020-01-07 2023-01-24 Sonos, Inc. Voice verification for media playback
US11556307B2 (en) 2020-01-31 2023-01-17 Sonos, Inc. Local voice data processing
US11308958B2 (en) 2020-02-07 2022-04-19 Sonos, Inc. Localized wakeword verification
US11308962B2 (en) 2020-05-20 2022-04-19 Sonos, Inc. Input detection windowing
US11727919B2 (en) 2020-05-20 2023-08-15 Sonos, Inc. Memory allocation for keyword spotting engines
US11482224B2 (en) 2020-05-20 2022-10-25 Sonos, Inc. Command keywords with input detection windowing
CN111768783B (zh) * 2020-06-30 2024-04-02 北京百度网讯科技有限公司 语音交互控制方法、装置、电子设备、存储介质和系统
US11698771B2 (en) 2020-08-25 2023-07-11 Sonos, Inc. Vocal guidance engines for playback devices
US11798530B2 (en) * 2020-10-30 2023-10-24 Google Llc Simultaneous acoustic event detection across multiple assistant devices
US11557278B2 (en) * 2020-12-10 2023-01-17 Google Llc Speaker dependent follow up actions and warm words
US11551700B2 (en) 2021-01-25 2023-01-10 Sonos, Inc. Systems and methods for power-efficient keyword detection
US11557293B2 (en) * 2021-05-17 2023-01-17 Google Llc Contextual suppression of assistant command(s)
US11830489B2 (en) 2021-06-30 2023-11-28 Bank Of America Corporation System and method for speech processing based on response content
US20230017728A1 (en) * 2021-07-14 2023-01-19 Harman International Industries, Incorporated Techniques for audio feature detection
US11915698B1 (en) * 2021-09-29 2024-02-27 Amazon Technologies, Inc. Sound source localization

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8938394B1 (en) * 2014-01-09 2015-01-20 Google Inc. Audio triggers based on context
US20150161990A1 (en) * 2013-12-05 2015-06-11 Google Inc. Promoting voice actions to hotwords
US20150199961A1 (en) * 2012-06-18 2015-07-16 Telefonaktiebolaget L M Ericsson (Publ) Methods and nodes for enabling and producing input to an application
KR20160145634A (ko) * 2014-04-17 2016-12-20 퀄컴 인코포레이티드 사용자 정의된 키워드를 검출하기 위한 키워드 모델 생성

Family Cites Families (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3764302B2 (ja) * 1999-08-04 2006-04-05 株式会社東芝 音声認識装置
JP2004516517A (ja) 2000-12-20 2004-06-03 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 発話による対話言語の設定
GB2372864B (en) 2001-02-28 2005-09-07 Vox Generation Ltd Spoken language interface
JP2002273036A (ja) * 2001-03-19 2002-09-24 Canon Inc 電子ゲーム装置および電子ゲーム装置における処理方法
US6751595B2 (en) * 2001-05-09 2004-06-15 Bellsouth Intellectual Property Corporation Multi-stage large vocabulary speech recognition system and method
WO2002096067A2 (en) 2001-05-22 2002-11-28 Teltone Corporation Pbx control system via remote telephone
US7103543B2 (en) * 2001-05-31 2006-09-05 Sony Corporation System and method for speech verification using a robust confidence measure
GB0120672D0 (en) * 2001-08-24 2001-10-17 Mitel Knowledge Corp Intermediate voice and DTMF detector device for improved speech recognition utilisation and penetration
KR100499124B1 (ko) * 2002-03-27 2005-07-04 삼성전자주식회사 직교 원형 마이크 어레이 시스템 및 이를 이용한 음원의3차원 방향을 검출하는 방법
JP2003308091A (ja) * 2002-04-17 2003-10-31 Pioneer Electronic Corp 音声認識装置、音声認識方法および音声認識プログラム
US20030212562A1 (en) 2002-05-13 2003-11-13 General Motors Corporation Manual barge-in for server-based in-vehicle voice recognition systems
US7502737B2 (en) * 2002-06-24 2009-03-10 Intel Corporation Multi-pass recognition of spoken dialogue
US7421390B2 (en) * 2002-09-13 2008-09-02 Sun Microsystems, Inc. Method and system for voice control of software applications
US7027842B2 (en) 2002-09-24 2006-04-11 Bellsouth Intellectual Property Corporation Apparatus and method for providing hands-free operation of a device
US7899500B2 (en) 2002-09-24 2011-03-01 At&T Intellectual Property I, L. P. Apparatus and method for providing hands-free operation of a device
US7519534B2 (en) * 2002-10-31 2009-04-14 Agiletv Corporation Speech controlled access to content on a presentation medium
JP4497834B2 (ja) * 2003-04-28 2010-07-07 パイオニア株式会社 音声認識装置及び音声認識方法並びに音声認識用プログラム及び情報記録媒体
US7624018B2 (en) 2004-03-12 2009-11-24 Microsoft Corporation Speech recognition using categories and speech prefixing
US7518631B2 (en) * 2005-06-28 2009-04-14 Microsoft Corporation Audio-visual control system
US8503624B2 (en) 2005-09-28 2013-08-06 Cisco Technology, Inc. Method and apparatus to process an incoming message
US7689417B2 (en) * 2006-09-04 2010-03-30 Fortemedia, Inc. Method, system and apparatus for improved voice recognition
US20080133245A1 (en) 2006-12-04 2008-06-05 Sehda, Inc. Methods for speech-to-speech translation
US8731146B2 (en) 2007-01-04 2014-05-20 At&T Intellectual Property I, L.P. Call re-directed based on voice command
US8060366B1 (en) 2007-07-17 2011-11-15 West Corporation System, method, and computer-readable medium for verbal control of a conference call
US20100004924A1 (en) * 2008-07-03 2010-01-07 Yuri Luis Paez Method and system context-aware for identifying, activating and executing software that best respond to user requests generated in natural language
US8548812B2 (en) 2008-12-22 2013-10-01 Avaya Inc. Method and system for detecting a relevant utterance in a voice session
US20130219333A1 (en) * 2009-06-12 2013-08-22 Adobe Systems Incorporated Extensible Framework for Facilitating Interaction with Devices
US9224396B2 (en) * 2010-06-02 2015-12-29 Nokia Technologies Oy Enhanced context awareness for speech recognition
US20120089392A1 (en) * 2010-10-07 2012-04-12 Microsoft Corporation Speech recognition user interface
DE112011105136B4 (de) * 2011-04-08 2018-12-13 Mitsubishi Electric Corporation Spracherkennungsvorrichtung und Navigationsvorrichtung
US9493130B2 (en) * 2011-04-22 2016-11-15 Angel A. Penilla Methods and systems for communicating content to connected vehicle users based detected tone/mood in voice input
US8762156B2 (en) * 2011-09-28 2014-06-24 Apple Inc. Speech recognition repair using contextual information
US8924219B1 (en) * 2011-09-30 2014-12-30 Google Inc. Multi hotword robust continuous voice command detection in mobile devices
ES2409530B1 (es) 2011-10-14 2014-05-14 Telefónica, S.A. Método para gestionar el reconocimiento del habla de llamadas de audio
WO2013071305A2 (en) * 2011-11-10 2013-05-16 Inventime Usa, Inc. Systems and methods for manipulating data using natural language commands
KR20180137041A (ko) * 2011-12-07 2018-12-26 퀄컴 인코포레이티드 디지털화된 오디오 스트림을 분석하는 저전력 집적 회로
US20130238326A1 (en) * 2012-03-08 2013-09-12 Lg Electronics Inc. Apparatus and method for multiple device voice control
EP2639792A1 (en) * 2012-03-16 2013-09-18 France Télécom Voice control of applications by associating user input with action-context idendifier pairs
US10156455B2 (en) * 2012-06-05 2018-12-18 Apple Inc. Context-aware voice guidance
US8905511B2 (en) * 2012-06-29 2014-12-09 Static Control Components, Inc. Network printer system
US9715879B2 (en) * 2012-07-02 2017-07-25 Salesforce.Com, Inc. Computer implemented methods and apparatus for selectively interacting with a server to build a local database for speech recognition at a device
US9536528B2 (en) * 2012-07-03 2017-01-03 Google Inc. Determining hotword suitability
US9672815B2 (en) * 2012-07-20 2017-06-06 Interactive Intelligence Group, Inc. Method and system for real-time keyword spotting for speech analytics
US20140095172A1 (en) * 2012-10-01 2014-04-03 Nuance Communications, Inc. Systems and methods for providing a voice agent user interface
US10276157B2 (en) * 2012-10-01 2019-04-30 Nuance Communications, Inc. Systems and methods for providing a voice agent user interface
US9459176B2 (en) 2012-10-26 2016-10-04 Azima Holdings, Inc. Voice controlled vibration data analyzer systems and methods
CN103078915B (zh) * 2012-12-28 2016-06-01 深圳职业技术学院 一种基于云计算车联网的车载语音点歌系统及其方法
US9460715B2 (en) * 2013-03-04 2016-10-04 Amazon Technologies, Inc. Identification using audio signatures and additional characteristics
US20140337031A1 (en) * 2013-05-07 2014-11-13 Qualcomm Incorporated Method and apparatus for detecting a target keyword
US20140379334A1 (en) * 2013-06-20 2014-12-25 Qnx Software Systems Limited Natural language understanding automatic speech recognition post processing
US9786296B2 (en) * 2013-07-08 2017-10-10 Qualcomm Incorporated Method and apparatus for assigning keyword model to voice operated function
KR102210717B1 (ko) * 2013-07-09 2021-02-02 삼성전자 주식회사 전자 장치의 이메일 처리 방법 및 장치
KR102070623B1 (ko) * 2013-07-09 2020-01-29 삼성전자 주식회사 비트 라인 등화 회로
US9548047B2 (en) * 2013-07-31 2017-01-17 Google Technology Holdings LLC Method and apparatus for evaluating trigger phrase enrollment
US20160293167A1 (en) * 2013-10-10 2016-10-06 Google Inc. Speaker recognition using neural networks
US9443522B2 (en) * 2013-11-18 2016-09-13 Beijing Lenovo Software Ltd. Voice recognition method, voice controlling method, information processing method, and electronic apparatus
US11138971B2 (en) * 2013-12-05 2021-10-05 Lenovo (Singapore) Pte. Ltd. Using context to interpret natural language speech recognition commands
US10102848B2 (en) * 2014-02-28 2018-10-16 Google Llc Hotwords presentation framework
US9437188B1 (en) * 2014-03-28 2016-09-06 Knowles Electronics, Llc Buffered reprocessing for multi-microphone automatic speech recognition assist
US10770075B2 (en) * 2014-04-21 2020-09-08 Qualcomm Incorporated Method and apparatus for activating application by speech input
US9697828B1 (en) * 2014-06-20 2017-07-04 Amazon Technologies, Inc. Keyword detection modeling using contextual and environmental information
US9767794B2 (en) * 2014-08-11 2017-09-19 Nuance Communications, Inc. Dialog flow management in hierarchical task dialogs
US9959863B2 (en) * 2014-09-08 2018-05-01 Qualcomm Incorporated Keyword detection using speaker-independent keyword models for user-designated keywords
US10789041B2 (en) * 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US9502032B2 (en) * 2014-10-08 2016-11-22 Google Inc. Dynamically biasing language models
US9318107B1 (en) 2014-10-09 2016-04-19 Google Inc. Hotword detection on multiple devices
US9424841B2 (en) * 2014-10-09 2016-08-23 Google Inc. Hotword detection on multiple devices
US9837068B2 (en) * 2014-10-22 2017-12-05 Qualcomm Incorporated Sound sample verification for generating sound detection model
US9418656B2 (en) * 2014-10-29 2016-08-16 Google Inc. Multi-stage hotword detection
AU2015342324B2 (en) 2014-11-03 2021-08-19 Beijing Protgen Ltd. Drug for inhibiting adipose cell differentiation and insulin resistance
US9646611B2 (en) * 2014-11-06 2017-05-09 Microsoft Technology Licensing, Llc Context-based actions
US9775113B2 (en) * 2014-12-11 2017-09-26 Mediatek Inc. Voice wakeup detecting device with digital microphone and associated method
US9633661B1 (en) * 2015-02-02 2017-04-25 Amazon Technologies, Inc. Speech-responsive portable speaker
EP3067884B1 (en) * 2015-03-13 2019-05-08 Samsung Electronics Co., Ltd. Speech recognition system and speech recognition method thereof
JP2016218852A (ja) * 2015-05-22 2016-12-22 ソニー株式会社 情報処理装置および情報処理方法、並びにプログラム
US9819905B1 (en) * 2015-05-28 2017-11-14 Amazon Technologies, Inc. Video communication sessions between whitelisted devices
CN105895093A (zh) * 2015-11-02 2016-08-24 乐视致新电子科技(天津)有限公司 语音信息处理方法及装置
US9940929B2 (en) * 2015-12-09 2018-04-10 Lenovo (Singapore) Pte. Ltd. Extending the period of voice recognition
US10388280B2 (en) * 2016-01-27 2019-08-20 Motorola Mobility Llc Method and apparatus for managing multiple voice operation trigger phrases
US20170236148A1 (en) * 2016-02-16 2017-08-17 Google Inc. Efficient Content Distribution
US9972313B2 (en) * 2016-03-01 2018-05-15 Intel Corporation Intermediate scoring and rejection loopback for improved key phrase detection
ES2806204T3 (es) * 2016-06-15 2021-02-16 Cerence Operating Co Técnicas para reconomiento de voz para activación y sistemas y métodos relacionados
US10453449B2 (en) * 2016-09-01 2019-10-22 Amazon Technologies, Inc. Indicator for voice-based communications
US10437841B2 (en) * 2016-10-10 2019-10-08 Microsoft Technology Licensing, Llc Digital assistant extension automatic ranking and selection
US20180122372A1 (en) * 2016-10-31 2018-05-03 Soundhound, Inc. Distinguishable open sounds
US10134396B2 (en) * 2016-12-07 2018-11-20 Google Llc Preventing of audio attacks
US10083689B2 (en) * 2016-12-23 2018-09-25 Intel Corporation Linear scoring for low power wake on voice
US10276161B2 (en) 2016-12-27 2019-04-30 Google Llc Contextual hotwords

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150199961A1 (en) * 2012-06-18 2015-07-16 Telefonaktiebolaget L M Ericsson (Publ) Methods and nodes for enabling and producing input to an application
US20150161990A1 (en) * 2013-12-05 2015-06-11 Google Inc. Promoting voice actions to hotwords
US8938394B1 (en) * 2014-01-09 2015-01-20 Google Inc. Audio triggers based on context
KR20160145634A (ko) * 2014-04-17 2016-12-20 퀄컴 인코포레이티드 사용자 정의된 키워드를 검출하기 위한 키워드 모델 생성

Also Published As

Publication number Publication date
CN116052661B (zh) 2024-03-12
JP2021015281A (ja) 2021-02-12
US10839803B2 (en) 2020-11-17
CN116052661A (zh) 2023-05-02
CN110140168A (zh) 2019-08-16
JP7078689B2 (ja) 2022-05-31
US20190287528A1 (en) 2019-09-19
EP3485489A1 (en) 2019-05-22
EP3627504A1 (en) 2020-03-25
US20210043210A1 (en) 2021-02-11
EP3485489B1 (en) 2019-11-06
US10276161B2 (en) 2019-04-30
JP2020503568A (ja) 2020-01-30
KR102374519B1 (ko) 2022-03-16
JP6780124B2 (ja) 2020-11-04
US20180182390A1 (en) 2018-06-28
KR102312218B1 (ko) 2021-10-13
KR20210124531A (ko) 2021-10-14
CN110140168B (zh) 2022-12-06
US11430442B2 (en) 2022-08-30
WO2018125292A1 (en) 2018-07-05

Similar Documents

Publication Publication Date Title
KR102312218B1 (ko) 문맥상의 핫워드들
US11138977B1 (en) Determining device groups
KR102360924B1 (ko) 발언 분류기
JP6317111B2 (ja) ハイブリッド型クライアントサーバ音声認識
US9805715B2 (en) Method and system for recognizing speech commands using background and foreground acoustic models
KR101770358B1 (ko) 내장형 및 네트워크 음성 인식기들의 통합
CN109710727B (zh) 用于自然语言处理的系统和方法
EP3676828A1 (en) Context-based device arbitration
US11295735B1 (en) Customizing voice-control for developer devices
JP6874037B2 (ja) カスタム音響モデル
KR102451034B1 (ko) 화자 구분
US11443730B2 (en) Initiating synthesized speech output from a voice-controlled device
US10901689B1 (en) Dynamic augmented reality interface creation
KR20210042520A (ko) 전자 장치 및 이의 제어 방법
US10803870B2 (en) Electronic device performing operation using voice command and method of operating electronic device
US10657951B2 (en) Controlling synthesized speech output from a voice-controlled device
US11481188B1 (en) Application launch delay and notification
KR20230118165A (ko) 핫워드 속성에 기초한 자동화된 스피치 인식 파라미터적응시키기
KR20210098250A (ko) 전자 장치 및 이의 제어 방법
US11893996B1 (en) Supplemental content output
JP2021092817A (ja) 言語識別装置及び言語を判定する方法

Legal Events

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