KR20230116908A - 프리즈 워드 - Google Patents

프리즈 워드 Download PDF

Info

Publication number
KR20230116908A
KR20230116908A KR1020237022674A KR20237022674A KR20230116908A KR 20230116908 A KR20230116908 A KR 20230116908A KR 1020237022674 A KR1020237022674 A KR 1020237022674A KR 20237022674 A KR20237022674 A KR 20237022674A KR 20230116908 A KR20230116908 A KR 20230116908A
Authority
KR
South Korea
Prior art keywords
freeze
word
audio data
user
instance
Prior art date
Application number
KR1020237022674A
Other languages
English (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
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20230116908A publication Critical patent/KR20230116908A/ko

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/04Segmentation; Word boundary detection
    • G10L15/05Word boundary detection
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

프리즈 워드를 검출하기 위한 방법(300)은 사용자(10)에 의해 발언되고 사용자와 연관된 사용자 장치(110)에 의해 캡처된 발화(119)에 대응하는 오디오 데이터(118)를 수신하는 단계를 포함한다. 이 방법은 또한 음성 인식기(200)를 사용하여, 오디오 데이터를 프로세싱하여 발화가 동작을 수행하기 위한 디지털 어시스턴트(109)에 대한 쿼리(122)를 포함하는지를 결정하는 단계를 포함한다. 음성 인식기는 오디오 데이터에서 미리결정된 비음성 기간 후에 발화의 엔드포인팅을 트리거하도록 구성된다. 미리 결정된 비음성 기간 전에, 방법은 오디오 데이터에서 프리즈 워드(123)를 검출하는 단계를 포함한다. 오디오 데이터에서 프리즈 워드를 검출하는 것에 응답하여, 방법은 또한 사용자 장치에서 하드 마이크로폰 폐쇄 이벤트(125)를 트리거하는 단계를 포함한다. 하드 마이크로폰 폐쇄 이벤트는 사용자 장치가 프리즈 워드에 후속하는 오디오를 캡처하지 못하도록 한다.

Description

프리즈 워드
본 명세서는 프리즈 워드에 관한 것이다.
음성 지원 환경(예: 집, 직장, 학교, 자동차 등)에서는 사용자가 쿼리를 입력하고 응답하는 컴퓨터 기반 시스템에 큰 소리로 쿼리 또는 명령을 말할 수 있고 명령에 따라 기능을 수행할 수 있다. 음성 지원 환경은 환경의 다양한 방이나 영역에 분산된 연결된 마이크로폰 장치의 네트워크를 사용하여 구현할 수 있다. 이러한 장치는 핫워드를 사용하여 소정의 발화가 환경에 있는 다른 개인을 향한 발화가 아니라 시스템을 향한 경우를 식별하는 데 도움을 줄 수 있다. 따라서 장치는 슬립 상태 또는 하이버네이션 상태로 동작하다가 검출된 발화에 핫워드가 포함된 경우에만 웨이크업할 수 있다. 웨이크업된 장치는 전체 장치 내 ASR(자동 음성 인식) 또는 서버 기반 ASR과 같은 더 비싼 프로세싱을 계속 수행할 수 있다.
본 명세서의 한 양태는 프리즈 워드를 검출하기 위한 방법을 제공한다. 이 방법은 데이터 프로세싱 하드웨어에서, 사용자에 의해 발언되고 그리고 상기 사용자와 연관된 사용자 장치에 의해 캡처된 발화에 대응하는 오디오 데이터를 수신하는 단계를 포함한다. 이 방법은 또한 데이터 프로세싱 하드웨어에 의해, 음성 인식기를 사용하여, 상기 발화가 동작을 수행하기 위한 디지털 어시스턴트에 대한 쿼리를 포함하는지 결정하도록 상기 오디오 데이터를 프로세싱하는 단계를 포함한다. 음성 인식기는 오디오 데이터에서 미리결정된 비음성 기간 후에 발화의 엔드포인팅을 트리거하도록 구성된다. 오디오 데이터에서 미리 결정된 비음성 기간 전에, 방법은 데이터 프로세싱 하드웨어에 의해 오디오 데이터에서 프리즈 워드를 검출하는 단계를 포함한다. 프리즈 워드는 사용자에 의해 발언되고 그리고 상기 사용자 장치에서 캡처한 발화의 쿼리 뒤에 오는 워드이다. 오디오 데이터에서 프리즈 워드를 검출하는 것에 응답하여, 방법은 데이터 프로세싱 하드웨어에 의해, 사용자 장치가 프리즈 워드에 후속하는 임의의 오디오를 캡처하는 것을 방지하기 위해 사용자 장치에서 하드 마이크로폰 폐쇄 이벤트(hard microphone closing event)를 트리거하는 단계를 포함한다.
본 개시의 구현은 다음의 선택적 특징 중 하나 이상을 포함할 수 있다. 일부 구현에서는, 프리즈 워드는 소정의 언어의 모든 사용자에 대해 하나 이상의 고정된 용어를 포함하는 미리정의된 프리즈 워드, 사용자 장치의 사용자가 지정한 하나 이상의 용어를 포함하는 사용자가 선택한 프리즈 워드, 또는 디지털 어시스턴트에 의해 수행될 동작과 연관된 액션-특정 프리즈 워드 중 하나를 포함환다. 일부 예에서 오디오 데이터에서 프리즈 워드를 검출하는 단계는 오디오 데이터에서 오디오 특징을 추출하는 단계; 프리즈 워드 검출 모델을 이용하여 상기 추출된 오디오 특징을 프로세싱하여 프리즈 워드 신뢰도 점수를 생성하는 단계 -프리즈 워드 검출 모델은 데이터 프로세싱 하드웨어에서 실행됨-; 그리고 프리즈 워드 신뢰도 점수가 프리즈 워드 신뢰도 임계값을 만족할 때 발화에 대응하는 오디오 데이터가 프리즈 워드를 포함한다고 결정하는 단계를 포함한다.
오디오 데이터에서 프리즈 워드를 검출하는 단계는 데이터 프로세싱 하드웨어에서 실행하는 음성 인식기를 사용하여 오디오 데이터에서 프리즈 워드를 인식하는 것을 포함할 수 있다. 선택적으로, 상기 방법은 오디오 데이터에서 프리즈 워드를 검출한 것에 응답하여: 데이터 프로세싱 하드웨어에 의해, 상기 오디오 데이터에 대한 활성 프로세싱을 중단하도록 음성 인식기에 지시하는 단계; 그리고 상기 데이터 프로세싱 하드웨어에 의해, 상기 동작의 수행을 이행하도록 디지털 어시스턴트에 지시하는 단계를 더 포함한다.
일부 구현에서, 상기 발화가 동작을 수행하기 위한 디지털 어시스턴트에 대한 쿼리를 포함하는지 결정하도록 상기 오디오 데이터를 프로세싱하는 단계는, 상기 음성 인식기를 사용하여, 상기 오디오 데이터에 대한 음성 인식 결과를 생성하도록 상기 오디오 데이터를 프로세싱하는 단계; 그리고 상기 오디오 데이터가 상기 동작을 수행하기 위한 쿼리를 포함하는지를 결정하도록 상기 오디오 데이터에 대한 상기 음성 인식 결과에 대해 의미론적 해석을 수행하는 단계를 포함한다. 이러한 구현에서, 상기 방법은, 상기 오디오 데이터에서 프리즈 워드를 검출한 것에 응답하여: 상기 데이터 프로세싱 하드웨어에 의해, 상기 음성 인식 결과로부터 프리즈 워드를 스트립(strip)함으로써 상기 오디오 데이터에 대한 음성 인식 결과를 수정하는 단계; 그리고 상기 데이터 프로세싱 하드웨어에 의해, 상기 수정된 음성 인식 결과를 사용하여, 쿼리에 의해 요청된 동작을 수행하도록 디지털 어시스턴트에 지시하는 단계를 포함한다.
일부 예에서, 상기 방법은, 상기 음성 인식기를 사용하여 오디오 데이터를 프로세싱하기 전에: 상기 데이터 프로세싱 하드웨어에 의해, 핫워드 검출 모델을 사용하여, 상기 오디오 데이터에서 상기 쿼리에 선행하는 핫워드를 검출하는 단계; 그리고 상기 핫워드를 검출하는 것에 응답하여, 상기 데이터 프로세싱 하드웨어에 의해, 오디오 데이터에서 상기 핫워드에 뒤따르는 하나 이상의 용어 및/또는 핫워드에 대해 음성 인식을 수행함으로써 상기 오디오 데이터를 프로세싱하도록 음성 인식기를 트리거하는 단계를 포함한다. 이들 예들에서, 방법은 또한 데이터 프로세싱 하드웨어에 의해, 오디오 데이터에서 프리즈 워드 검출에 기초하여 핫워드 검출 모델에 의해 검출된 핫워드의 존재를 검증하는 것을 포함할 수 있다. 선택적으로, 오디오 데이터에서 프리즈 워드를 검출하는 것은 오디오 데이터에 대해 음성 인식을 수행하지 않고 오디오 데이터에서 프리즈 워드를 검출하도록 구성된 데이터 프로세싱 하드웨어에서 프리즈 워드 검출 모델을 실행하는 것을 포함할 수 있다. 여기서, 프리즈 워드 검출 모델과 핫워드 검출 모델은 각각 동일하거나 상이한 신경망 기반 모델을 포함할 수 있다.
본 개시내용의 또 다른 양태는 프리즈 워드를 검출하기 위한 방법을 제공한다. 이 방법은 데이터 프로세싱 하드웨어에서, 디지털 어시스턴트가 사용자가 발언한 가청 콘텐츠를 구술하기 위한 구술 기반 쿼리에 대응하는 오디오 데이터의 제1 인스턴스를 수신하는 단계를 포함한다. 구술 기반 쿼리는 사용자에 의해 발언되고 그리고 상기 사용자와 연결된 어시스턴트 가능 장치에서 캡처한다. 방법은 또한 데이터 프로세싱 하드웨어에서, 사용자에 의해 발언되고 어시스턴트 가능 장치에 의해 캡처된 가청 콘텐츠의 발언에 대응하는 오디오 데이터의 제2 인스턴스를 수신하는 단계를 포함한다. 이 방법은 또한 데이터 프로세싱 하드웨어에 의해 음성 인식기를 사용하여 오디오 데이터의 제2 인스턴스를 프로세싱하여 가청 콘텐츠의 전사를 생성하는 단계를 포함한다. 오디오 데이터의 제2 인스턴스를 프로세싱하는 동안, 방법은 데이터 프로세싱 하드웨어에 의해 오디오 데이터의 제2 인스턴스에서 프리즈 워드를 검출하는 단계를 포함한다. 상기 프리즈 워드는 사용자에 의해 발언되고 그리고 상기 어시스턴트 가능 장치에 의해 캡처된 발화의 가청 콘텐츠 다음에 오는 워드이다. 오디오 데이터의 제2 인스턴스에서 프리즈 워드를 검출하는 것에 응답하여, 방법은 데이터 프로세싱 하드웨어에 의해 어시스턴트 가능 장치로부터의 출력을 위해 사용자가 발언한 가청 콘텐츠의 전사를 제공하는 단계를 포함한다.
본 개시의 구현은 다음의 선택적 특징 중 하나 이상을 포함할 수 있다. 일부 구현에서, 상기 방법은, 오디오 데이터의 제2 인스턴스에서 프리즈 워드를 검출한 것에 응답하여: 상기 데이터 프로세싱 하드웨어에 의해, 상기 어시스턴트 가능 장치가 상기 프리즈 워드에 후속하는 임의의 오디오를 캡처하는 것을 방지하도록 상기 어시스턴트 가능 장치에서 하드 마이크로폰 폐쇄 이벤트를 개시하는 단계; 상기 데이터 프로세싱 하드웨어에 의해, 상기 오디오 데이터의 제2 인스턴스에 대한 활성 프로세싱을 중단하는 단계; 그리고 상기 어시스턴트 가능 장치로부터의 출력을 위해 상기 가청 콘텐츠의 전사를 제공하기 전에, 상기 데이터 프로세싱 하드웨어에 의해, 상기 전사의 끝에서 상기 프리즈 워드를 스트립(strip)하는 단계를 포함한다.
선택적으로, 상기 방법은 상기 데이터 프로세싱 하드웨어에 의해, 음성 인식기를 사용하여, 음성 인식 결과를 생성하도록 상기 오디오 데이터의 제1 인스턴스를 프로세싱하는 단계; 그리고 상기 데이터 프로세싱 하드웨어에 의해, 상기 오디오 데이터의 제1 인스턴스가 사용자에 의해 발언된 가청 콘텐츠를 구술하기 위한 구술 기반 쿼리를 포함하는지를 결정하도록 상기 오디오 데이터의 제1 인스턴스에 대한 음성 인식 결과에 대해 의미론적 해석을 수행하는 단계를 더 포함한다. 일부 예에서, 상기 방법은, 전사를 생성하도록 오디오 데이터의 제2 인스턴스에 대한 프로세싱을 개시하기 전에: 상기 데이터 프로세싱 하드웨어에 의해, 구술 기반 쿼리가 오디오 데이터의 제1 인스턴스에 대한 음성 인식 결과에 대해 수행된 의미론적 해석에 기초하여 프리즈 워드를 지정한다고 결정하는 단계; 그리고 상기 데이터 프로세싱 하드웨어에 의해, 가청 콘텐츠의 발화를 엔드포인팅하기 위한 엔드포인팅 타임아웃 기간을 증가시키도록 엔드포인터에 지시하는 단계를 더 포함한다.
본 발명의 또 다른 양태는 프리즈 워드를 검출하기 위한 시스템을 제공한다. 이 시스템은 데이터 프로세싱 하드웨어 및 데이터 프로세싱 하드웨어에서 실행될 때 데이터 프로세싱 하드웨어로 하여금 단계들을 수행하게 하는 명령어를 저장하는 메모리 하드웨어를 포함한다. 상기 단계들은, 사용자에 의해 발언되고 그리고 사용자와 연관된 사용자 장치에 의해 캡처된 발화에 대응하는 오디오 데이터를 수신하는 단계를 포함한다. 단계들은 또한 음성 인식기를 사용하여, 상기 발화가 동작을 수행하기 위한 디지털 어시스턴트에 대한 쿼리를 포함하는지 결정하도록 오디오 데이터를 프로세싱하는 단계를 포함한다. 음성 인식기는 오디오 데이터에서 미리결정된 비음성 기간 후에 발화의 엔드포인팅을 트리거하도록 구성된다. 단계들은, 오디오 데이터에서 미리결정된 비음성 기간 전에, 오디오 데이터에서 프리즈 워드를 검출하는 것을 포함한다. 프리즈 워드는 사용자에 의해 발언되고 그리고 상기 사용자 장치에서 캡처한 발화의 쿼리 다음에 오는 워드이다. 단계들은, 오디오 데이터에서 프리즈 워드를 검출하는 것에 응답하여, 사용자 장치에서 하드 마이크로폰 폐쇄 이벤트를 트리거하여 사용자 장치가 프리즈 워드에 후속하는 오디오를 캡처하지 못하도록 하는 것을 포함한다.
본 개시의 구현은 다음의 선택적 특징 중 하나 이상을 포함할 수 있다. 일부 구현에서, 상기 프리즈 워드는, 소정의 언어의 모든 사용자에 대한 하나 이상의 고정된 용어를 포함하는 미리정의된 프리즈 워드; 상기 사용자 장치의 사용자에 의해 지정된 하나 이상의 용어를 포함하는 사용자에 의해 선택된 프리즈 워드; 또는 디지털 어시스턴트에 의해 수행될 동작과 연관된 액션-특정 프리즈 워드 중 하나를 포함한다. 일부 예에서, 오디오 데이터에서 프리즈 워드를 검출하는 단계는, 상기 오디오 데이터로부터 오디오 특징을 추출하는 단계; 프리즈 워드 검출 모델을 사용하여, 상기 추출된 오디오 특징을 프로세싱하여 프리즈 워드 신뢰도 점수를 생성하는 단계 -상기 프리즈 워드 검출 모델은 상기 데이터 프로세싱 하드웨어에서 실행됨-; 그리고 상기 프리즈 워드 신뢰도 점수가 프리즈 워드 신뢰도 임계값을 만족할 때 상기 발화에 대응하는 오디오 데이터가 상기 프리즈 워드를 포함한다고 결정하는 단계를 포함한다. 이 예에서 프리즈 워드 검출 모델은 데이터 프로세싱 하드웨어에서 실행된다.
오디오 데이터에서 프리즈 워드를 검출하는 것은 데이터 프로세싱 하드웨어에서 실행하는 음성 인식기를 사용하여 오디오 데이터에서 프리즈 워드를 인식하는 것을 포함할 수 있다. 선택적으로, 단계들은 오디오 데이터에서 프리즈 워드를 검출한 것에 응답하여 오디오 데이터에 대한 임의의 활성 프로세싱을 중단하도록 음성 인식기에 지시하는 단계; 및 디지털 어시스턴트에게 동작 수행을 이행하도록 지시하는 단계를 포함한다.
일부 구현에서, 상기 발화가 동작을 수행하기 위한 디지털 어시스턴트에 대한 쿼리를 포함하는지 결정하도록 상기 오디오 데이터를 프로세싱하는 단계는, 상기 음성 인식기를 사용하여, 상기 오디오 데이터에 대한 음성 인식 결과를 생성하도록 상기 오디오 데이터를 프로세싱하는 단계; 그리고 상기 오디오 데이터가 상기 동작을 수행하기 위한 쿼리를 포함하는지를 결정하도록 상기 오디오 데이터에 대한 상기 음성 인식 결과에 대해 의미론적 해석을 수행하는 단계를 포함한다. 이러한 구현에서, 단계들은, 상기 오디오 데이터에서 프리즈 워드를 검출한 것에 응답하여: 상기 음성 인식 결과로부터 프리즈 워드를 스트립(strip)함으로써 상기 오디오 데이터에 대한 음성 인식 결과를 수정하는 단계; 그리고 상기 수정된 음성 인식 결과를 사용하여, 쿼리에 의해 요청된 동작을 수행하도록 디지털 어시스턴트에 지시하는 단계를 포함 포함한다.
일부 예에서, 상기 단계들은, 상기 음성 인식기를 사용하여 오디오 데이터를 프로세싱하기 전에: 핫워드 검출 모델을 사용하여, 상기 오디오 데이터에서 상기 쿼리에 선행하는 핫워드를 검출하는 단계; 그리고 상기 핫워드를 검출하는 것에 응답하여, 오디오 데이터에서 상기 핫워드에 뒤따르는 하나 이상의 용어 및/또는 핫워드에 대해 음성 인식을 수행함으로써 상기 오디오 데이터를 프로세싱하도록 음성 인식기를 트리거하는 단계를 포함한다. 이들 예에서, 상기 단계들은, 상기 오디오 데이터에서 상기 프리즈 워드를 검출하는 것에 기초하여 상기 핫워드 검출 모델에 의해 검출된 핫워드의 존재를 검증하는 단계를 더 포함한다. 선택적으로, 오디오 데이터에서 프리즈 워드를 검출하는 것은 오디오 데이터에 대해 음성 인식을 수행하지 않고 오디오 데이터에서 프리즈 워드를 검출하도록 구성된 데이터 프로세싱 하드웨어에서 프리즈 워드 검출 모델을 실행하는 것을 포함할 수 있다. 프리즈 워드 검출 모델과 핫워드 검출 모델은 각각 동일하거나 상이한 신경망 기반 모델을 포함한다.
본 발명의 또 다른 양태는 프리즈 워드를 검출하기 위한 시스템을 제공한다. 이 시스템은 데이터 프로세싱 하드웨어 및 데이터 프로세싱 하드웨어에서 실행될 때 데이터 프로세싱 하드웨어로 하여금 단계들을 수행하게 하는 명령어를 저장하는 메모리 하드웨어를 포함한다. 상기 단계들은, 디지털 어시스턴트가 사용자가 발언한 가청 콘텐츠를 구술(dictate)하기 위한 구술 기반 쿼리에 대응하는 오디오 데이터의 제1 인스턴스를 수신하는 단계를 포함하며, 상기 구술 기반 쿼리는 사용자에 의해 발언되고 그리고 사용자와 연관된 어시스턴트 가능 장치에 의해 캡처된다. 상기 단계들은, 또한 사용자에 의해 발언되고 어시스턴트 가능 장치에 의해 캡처된 가청 콘텐츠의 발언에 대응하는 오디오 데이터의 제2 인스턴스를 수신하는 것을 포함한다. 상기 단계들은, 또한 가청 콘텐츠의 전사를 생성하기 위해 오디오 데이터의 제2 인스턴스를 음성 인식기를 사용하여 프로세싱하는 것을 포함한다. 오디오 데이터의 제2 인스턴스를 프로세싱하는 동안, 상기 단계들은 오디오 데이터의 제2 인스턴스에서 프리즈 워드를 검출하는 것을 포함한다. 프리즈 워드는 사용자가 말하고 어시스턴트 가능 장치에서 캡처한 발화의 가청 콘텐츠 다음에 오는 워드이다. 오디오 데이터의 제2 인스턴스에서 프리즈 워드를 검출하는 것에 응답하여, 단계들은 어시스턴트 가능 장치로부터의 출력을 위해 사용자가 발언한 가청 콘텐츠의 전사를 제공하는 것을 포함한다.
본 개시의 구현은 다음의 선택적 특징 중 하나 이상을 포함할 수 있다. 일부 구현에서, 상기 단계들은, 오디오 데이터의 제2 인스턴스에서 프리즈 워드를 검출한 것에 응답하여: 상기 어시스턴트 가능 장치가 상기 프리즈 워드에 후속하는 임의의 오디오를 캡처하는 것을 방지하도록 상기 어시스턴트 가능 장치에서 하드 마이크로폰 폐쇄 이벤트를 개시하는 단계; 상기 오디오 데이터의 제2 인스턴스에 대한 활성 프로세싱을 중단하는 단계; 그리고 상기 어시스턴트 가능 장치로부터의 출력을 위해 상기 가청 콘텐츠의 전사를 제공하기 전에, 상기 전사의 끝에서 상기 프리즈 워드를 스트립(strip)하는 단계를 포함한다.
선택적으로, 상기 단계들은, 음성 인식기를 사용하여, 음성 인식 결과를 생성하도록 상기 오디오 데이터의 제1 인스턴스를 프로세싱하는 단계; 그리고 상기 오디오 데이터의 제1 인스턴스가 사용자에 의해 발언된 가청 콘텐츠를 구술하기 위한 구술 기반 쿼리를 포함하는지를 결정하도록 상기 오디오 데이터의 제1 인스턴스에 대한 음성 인식 결과에 대해 의미론적 해석을 수행하는 단계를 더 포함한다. 일부 예에서, 상기 단계들은, 전사를 생성하도록 오디오 데이터의 제2 인스턴스에 대한 프로세싱을 개시하기 전에: 구술 기반 쿼리가 오디오 데이터의 제1 인스턴스에 대한 음성 인식 결과에 대해 수행된 의미론적 해석에 기초하여 프리즈 워드를 지정한다고 결정하는 단계; 그리고 가청 콘텐츠의 발화를 엔드포인팅하기 위한 엔드포인팅 타임아웃 기간을 증가시키도록 엔드포인터에 지시하는 단계를 더 포함한다. 본 발명의 하나 이상의 구현에 대한 세부 사항은 첨부된 도면과 아래 설명에 설명되어 있다. 다른 양태, 특징 및 이점은 설명, 도면 및 청구범위로부터 명백할 것이다.
도 1은 프리즈 워드를 검출하도록 구성된 어시스턴트 가능 장치를 포함하는 예시적인 시스템이다.
도 2a는 사용자 발화의 제2 인스턴스를 엔드포인팅하기 위한 프리즈 워드를 지정하는 구술 기반 쿼리에 대응하는 사용자 발화의 제1 인스턴스의 개략도이다.
도 2b는 발화에서 프리즈 워드를 검출하는 것에 응답하여 발화를 엔드포인팅하도록 엔드포인터에게 지시하는 음향 특징 검출기의 개략도이다.
도 3은 발화에서 프리즈 워드를 검출하는 방법에 대한 예시적인 동작 배열의 흐름도이다.
도 4는 발화에서 프리즈 워드를 검출하는 방법에 대한 예시적인 동작 배열의 흐름도이다.
도 5는 본 명세서에 기술된 시스템 및 방법을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 장치의 개략도이다.
여러 도면에서 동일한 참조 부호는 동일한 요소를 나타낸다.
디지털 어시스턴트와 같은 음성 기반 인터페이스는 휴대폰 및 음성 캡처용 마이크로폰이 포함된 스마트 스피커/디스플레이를 포함하되 이에 국한되지 않는 다양한 장치에서 점차 보편화되고 있다. 어시스턴트 가능 장치와 음성 상호 작용을 시작하는 일반적인 방법은 스트리밍 오디오에서 음성 지원 장치에 의해 검출될 때 어시스턴트 가능 장치가 웨이크업 프로세스를 시작하여 기록을 시작하고 후속 음성을 프로세싱하여 사용자가 말한 쿼리를 확인하도록 고정된 문구, 예를 들어 핫워드를 말하는 것이다. 따라서, 핫워드는 사용자가 어시스턴트 가능 장치를 저전력 상태에서 깨울 수 있도록 하므로 전체 디지털 어시스턴트 인터페이스 스택에서 중요한 컴포넌트이며, 어시스턴트 가능 장치는 완전 자동 음성 인식(ASR) 또는 서버 기반 ASR과 같은 더 비싼 프로세싱을 계속 수행할 수 있다.
어시스턴트 가능 장치를 향한 사용자가 발언한 쿼리는 일반적으로 대화형 쿼리와 비대화형 쿼리라는 두 가지 범주의 쿼리로 분류된다. 대화형 쿼리는 "set a timer(타이머 설정해)", "remind me to buy the milk(우유 사라고 알려줘)", "how tall is Barack Obama(버락 오바마의 키는 얼마입니까)" 등과 같은 동작을 수행하도록 디지털 어시스턴트에 쿼리하는 표준 디지털 어시스턴트 쿼리를 말한다. 반면 비대화형 쿼리는 사용자가 이메일, 메시지, 문서, 소셜 미디어 게시물 또는 기타 콘텐츠를 구술(dictate)하도록 말하는 더 긴 형식의 쿼리인 구술 기반 쿼리(dictation-based queries)를 말한다. 예를 들어, 사용자는 "Send an email to Aleks saying"이라는 쿼리를 말한 다음 디지털 어시스턴트가 구술/기록(dictate/transcribe)하고 이어서 사용자의 이메일 클라이언트에서 수신자(예: Aleks)의 이메일 클라이언트로 보낼 이메일 메시지의 내용을 계속 말할 수 있다.
ASR 시스템은 일반적으로 엔드포인터(endpointers)를 사용하여 사용자가 말하기를 시작하고 끝낸 시기를 결정한다. 일단 구분되면 사용자의 음성을 나타내는 오디오 부분을 프로세싱하여 음성 인식 결과를 생성할 수 있으며 경우에 따라 음성 인식 결과에 대해 의미론적 해석을 수행하여 사용자가 발언한 쿼리를 확인할 수 있다. 엔드포인터는 일반적으로 발화가 시작되거나 끝나는 시기를 결정할 때 워드 사이의 일시 중지 기간(duration of pauses)을 평가한다. 예를 들어 사용자가 "what is <long pause> for dinner(저녁식사는 <long pause> 뭐야?)"라고 말하면, 엔드포인터는 긴 일시 중지(long pause)에서 음성 입력을 분할하고 그리고 ASR 시스템이 완전한 구 "what is for dinner" 대신 불완전한 구 "what is"만 프로세싱하도록 할 수 있다. 엔드포인터가 발화에 대해 잘못된 엔드포인트를 지정하면 발화 프로세싱 결과가 부정확하고 바람직하지 않을 수 있다. 동시에, 발화가 시작되거나 끝나는 시기를 결정할 때 워드들 사이에 더 긴 일시 중지 기간을 허용하는 동안, 발화를 검출하는 사용자의 어시스턴트 가능 장치의 마이크폰은 오픈 상태로 유지되며 사용자 장치용이 아닌 사운드를 검출할 수 있다. 또한 마이크로폰이 폐쇄(closing)하는 것을 지연하면 결과적으로 발화에 지정된 액션(동작)의 실행이 지연된다. 예를 들어, 사용자가 발언한 발화가 디지털 어시스턴트에게 "Call Mom(엄마에게 전화해)"라는 동작을 수행하도록 요청한 경우, 사용자가 말하기를 중지했을 가능성이 있음을 확인하기 위해 엔드포인팅 타임아웃 기간이 경과하기를 엔드포터가 기다리는 동안 디지털 어시스턴트가 통화를 시작하는 데 필연적으로 지연이 있을 것이다. 이 시나리오에서, 어시스턴트 가능 장치는 사용자가 의도한 것과 다른 동작을 수행할 수 있는 추가 의도하지 않은 오디오를 검출할 수도 있으며, 이는 사용자가 말을 마쳤을 가능성이 있는 시기를 적시에 결정할 수 없기 때문에 검출된 추가 오디오를 해석하고 이에 따라 조치를 취하는 데 계산 리소스가 낭비될 수 있다.
예를 들어 사용자가 말하기를 마치기 전에 잠재적으로 말을 끊는 것과 같은 너무 짧은 엔드포인팅 타임아웃 기간, 그리고 예를 들어 의도하지 않은 음성을 캡처할 가능성이 높아지고 발화에 지정된 동작을 실행하기 위한 대기 시간이 길어지는 등 너무 긴 엔드포인팅 타임아웃 기간과 관련된 단점을 완화하기 위해, 여기에서의 구현은 어시스턴트 가능 장치에 대해 사용자가 말을 마치는 시점을 지정하는 프리즈 워드(freeze words)에 관한 것이다. "프리즈 워드(freeze word)"는 사용자가 발화를 수동으로 엔드포인트(endpoint)하고 하드 마이크로폰 폐쇄 이벤트(hard microphone closing event)를 시작하여 음성 기반 대화 또는 긴 형식의 발화를 종료할 수 있도록 허용함으로써 핫워드의 역에 해당한다. 즉, 핫워드는 음성 프로세싱을 시작하기 위해 절전 또는 최대 절전 상태에서 깨어나도록(웨이크-업하도록) 어시스턴트 가능 장치를 트리거하는 반면, 프리즈 워드는 음성에 대한 모든 활성 프로세싱을 중단하고 어시스턴트 가능 장치의 마이크로폰을 비활성화하여 어시스턴트 가능 장치를 다시 절전 또는 최대 절전 상태로 전환하여 역으로 수행한다.
진행 중인 음성 프로세싱의 일부 또는 전부를 끄는 것 외에도 프리즈 워드가 검출되면, 어시스턴트 가능 장치는 어시스턴트 가능 장치의 응답성을 효과적으로 낮추기 위해 일정 시간 동안 향후 프로세싱을 추가로 비활성화하거나 적응시킬 수 있다. 예를 들어, 핫워드 검출 임계값을 일시적으로 높여 사용자가 프리즈 워드를 말한 후 일정 시간 동안 후속 쿼리를 발행하는 것을 더 어렵게/덜 가능하게 만들 수 있다. 이 시나리오에서 상승된 핫워드 검출 임계값은 시간이 지남에 따라 점진적으로 다시 기본값으로 줄어들 수 있다. 추가로 또는 대안적으로, 특정 사용자가 발언한 프리즈 워드를 검출한 후 해당 특정 사용자에 대한 음성 입력이 비활성화된다.
어시스턴트 가능 장치는 오디오 데이터에 대한 음성 인식 또는 의미론적 해석을 수행하지 않고 발화에 해당하는 오디오 데이터에서 프리즈 워드의 존재를 검출하도록 구성된 음향 특징 검출 모델을 실행한다. 여기서, 음향 특징 검출 모델은 하나 이상의 프리즈 워드를 검출하도록 훈련된 신경망 기반 모델일 수 있다. 어시스턴트 가능 장치는 오디오 데이터에서 핫워드의 존재를 검출하기 위해 동일하거나 다른 음향 특징 검출 모델을 사용할 수 있다. 핫워드 검출과 프리즈 워드 검출에 동일한 음향 특징 검출 모델이 사용되는 경우, 핫워드 검출과 프리즈 워드 검출 중 하나만을 위한 기능이 한번에 활성화될 수 있다. 특히 음향 특징 검출 모델은 ASR 모델에 비해 상대적으로 크기가 작고 프로세싱 요구 사항이 낮기 때문에 사용자 장치에서 실행할 수 있다.
일부 구성에서, 하드 마이크로폰 폐쇄 이벤트를 트리거하는 것 외에도 오디오 데이터에서 프리즈 워드를 검출하면 어시스턴트 가능 장치가 절전 또는 최대 절전 상태에 있는 동안 오디오 데이터에서 최근에 검출된 핫워드의 존재를 확인한다. 여기서, 검출된 핫워드는 낮은 핫워드 검출 신뢰도 점수와 연관될 수 있고, 프리즈 워드의 후속 검출은 핫워드가 오디오 데이터에 존재하는지를 검증하기 위한 프록시 역할을 할 수 있다. 이러한 구성에서, 오디오 데이터는 핫워드 검출 및 프리즈 워드 검출가 수행되는 동안 어시스턴트 가능 장치에 버퍼링될 수 있으며, 프리즈 워드의 검출이 버퍼링된 오디오 데이터에서 검출되면, 어시스턴트 가능 장치는 웨이크업 프로세스를 개시하여 버퍼링된 오디오 데이터에 대해 음성 인식을 수행할 수 있다.
일부 추가 구현에서, 프리즈 워드 검출은 프리즈 워드의 존재를 인식하기 위해 현재 장치 또는 서버 측에서 실행 중인 자동화된 음성 인식기를 활용한다. 음성 인식기는 하나 이상의 특정 프리즈 워드를 인식하도록 바이어스될 수 있다.
일부 예에서, 프리즈 워드가 오디오에서 검출되는지 여부를 결정하기 위해 언어 모델이 활용될 수 있다. 이러한 예에서, 언어 모델은 프리즈 워드가 실제로 사용자의 발화/쿼리의 일부이고 발화/쿼리를 엔드포인트하기 위해 사용자가 말하지 않은 시나리오를 어시스턴트 가능 장치가 식별하도록 허용할 수 있다. 또한, 언어 모델은 구(phrase)가 프리즈 워드와 유사하고 그리고 프리즈 워드가 언어 모델 점수당 사용자 쿼리/발화의 일부가 아닐 가능성이 있는 프리즈 워드의 근접 매칭(near matches)을 허용할 수 있다.
어시스턴트 가능 장치(assistant-enabled device)는 미리정의된 프리즈 워드, 사용자 정의 프리즈 워드, 사용자에 의해 선택된 프리즈 워드, 액션-특정 프리즈 워드(action-specific freeze words) 및 쿼리-특정 프리즈 워드와 같은(이에 제한되지 않음) 프리즈 워드의 하나 이상의 다른 유형/카테고리를 인식할 수 있다. 미리정의된 프리즈 워드에는 소정의 언어의 모든 사용자에 대한 하나 이상의 고정된 용어의 구가 포함될 수 있다. 예를 들어, "Call Mom right now(지금 엄마에게 전화해)" 및 "Tell me the temperature outside, thanks Google(밖 온도 알려줘, 고마워 구글)"과 같은 대화형 쿼리의 경우, "right now" 및 "thanks Google"이라는 문구(구)는 사용자가 각 쿼리를 수동으로 엔드포인트할 수 있도록 하는 프리즈 워드에 해당한다.
사용자에 의해 선택된 프리즈 워드는 예를 들어 디지털 어시스턴트의 설정 중에 특정 사용자에 의해 사전에 지정된 프리즈 워드에 대응할 수 있다. 예를 들어, 사용자는 제안된 프리즈 워드 목록에서 프리즈 워드를 선택할 수 있다. 선택적으로 사용자는 용어를 입력하거나 말하여 프리즈 워드로 사용할 하나 이상의 사용자 정의 용어를 지정할 수 있다. 일부 시나리오에서 사용자는 특정 유형의 쿼리에 대해 활성화되도록 사용자가 선택한 프리즈 워드를 지정한다. 여기에서 사용자는 대화형 쿼리보다 구술 기반 쿼리(dictation-based queries)에 대해 다른 사용자에 의해 선택된 프리즈 워드를 할당할 수 있다. 예를 들어, 구술 기반 쿼리 "Hey Google send a message to Aleks saying 'I'll be late for our meeting' The End"의 예에서, "Hey Google"은 핫워드에 해당하고, "send a message to Aleks saying"은 디지털 어시스턴트가 메시지를 구술(dictate)하고 수신자에게 보내는 쿼리에 해당하며, "I'll be late for our meeting”은 메시지 내용에 해당하며, “The End”는 쿼리를 수동으로 엔드포인트하기 위해 사용자가 선택한 프리즈 워드를 포함한다. 따라서, 프리즈 워드 "The End"를 검출하면, 어시스턴트 가능 장치는 발화를 즉시 엔드포인트(endpoint)하고 그리고 음성 인식기가 수신자에게 보내기 전에 구술된 메시지에서 프리즈 워드를 스트립(strip)하도록 한다. 또는 "send a message to Aleks saying"라는 구(phrase)는 "“I’ll be late for our meeting"라는 메시지의 내용 또는 단순히 수신자의 장치에서 들을 수 있도록 수신자에게 음성 메시지로 전송되는 사용자와 수신자 사이의 오디오 기반 통신을 용이하게 하기 위해 디지털 어시스턴트에 대한 쿼리에 대응할 수 있다. 특히, 어시스턴트 가능 장치에서 검출된 프리즈 워드 "The End"는 수신자에게 전송하기 전에 음성 메시지에서 프리즈 워드의 오디오를 즉시 엔드포인트하고 스트립한다.
액션-특정 프리즈 워드는 디지털 어시스턴트가 수행할 쿼리에 의해 지정된 특정 동작/액션과 연관된다. 예를 들어, "Hey Google broadcast I'm home end broadcast"라는 쿼리를 말하는 사용자는 디지털 어시스턴트에 의해 수행되는 브로드캐스트 동작에 특정한 프리즈 워드 "end broadcast"를 포함한다. 이 예에서 "broadcast I'm home"이라는 용어는 사용자가 집에 있음을 다른 개인에게 알리기 위해 하나 이상의 스피커를 통해 음성 알림을 브로드캐스트하는 동작을 지정한다. 청각적 알림은 사용자가 집에 있음을 확인하기 위해 청각적 알림을 듣는 개인을 허용하는 특정 멜로디 또는 차임벨을 포함할 수 있다. 일부 구현에서, 액션-특정 프리즈 워드는 사용자 지정 프리즈 워드 및/또는 미리정의된 프리즈 워드와 병렬로 활성화된다.
쿼리-특정 프리즈 워드는 사용자가 발언한 쿼리의 일부로 지정될 수 있다. 예를 들어, "Hey Google, dictate the following journal entry until I say I'm done <contents of journal entry> I'm done"이라는 발화는 저널 엔트리(journal entry)에 대해 사용자가 발언한 콘텐츠를 구술하도록 디지털 어시스턴트에 대한 구술 기반 쿼리를 포함한다. 또한 구술 기반 쿼리는 사용자가 저널 엔트리의 내용(콘텐츠)을 말하기 시작하기 전에 프리즈 워드 "I'm Done"을 추가로 지정한다. 여기에서 구술 기반 쿼리의 일부로 지정된 프리즈 워드 "I'm Done"은 프리즈 워드 "I'm Done"가 검출될 때까지 엔드포인팅을 트리거하기 위해, 엔드포인터에게 기다리거나 적어도 엔드포인팅 타임아웃 기간을 연장하도록 지시한다. 엔드포인트 타임 기간을 연장하면 엔드포인팅을 트리거하는 저널 엔트리의 내용을 사용자가 말하는 동안 긴 일시 중지가 허용된다. 일부 예에서, 쿼리-특정 프리즈 워드는 사용자 지정 프리즈 워드 및/또는 미리정의된 프리즈 워드와 병렬로 활성화된다.
도 1을 참조하면, 일부 구현에서, 예시적인 시스템(100)은 하나 이상의 사용자(10)와 연관되고 그리고 네트워크(104)를 통해 원격 시스템(111)과 통신하는 어시스턴트 가능 장치(AED: assistant-enabled device)(102)를 포함한다. AED(102)는 휴대폰, 컴퓨터(노트북 또는 데스크톱), 태블릿, 스마트 스피커/디스플레이, 스마트 기기, 스마트 헤드폰, 웨어러블, 차량 인포테인먼트 시스템 등과 같은 컴퓨팅 장치에 해당할 수 있고, 데이터 프로세싱 하드웨어(103) 및 메모리 하드웨어(105)를 갖추고 있다. AED(102)는 각각의 사용자(10)로부터 발화를 캡처하기 위해 하나 이상의 마이크로폰(106)을 포함하거나 그와 통신한다. 원격 시스템(111)은 확장 가능/탄력적인 컴퓨팅 자원(113)(예: 데이터 프로세싱 하드웨어) 및/또는 저장 자원(115)(예: 메모리 하드웨어)을 갖는 단일 컴퓨터, 다중 컴퓨터 또는 분산 시스템(예: 클라우드 환경)일 수 있다.
AED(102)는 스트리밍 오디오(118)에 대한 의미 분석 또는 음성 인식 프로세싱을 수행하지 않고 스트리밍 오디오(118)에서 핫워드(들)(121) 및/또는 프리즈 워드(들)(123)의 존재를 검출하도록 구성된 음향 특징 검출기(110)를 포함한다. AED(102)는 또한 음향 특징 검출기(110)의 일부 또는 음향 특징 검출기(110)와 별개의 컴포넌트로서 구현될 수 있는 음향 특징 추출기(112)를 포함한다. 음향 특징 추출기(112)는 발화(119)로부터 음향 특징을 추출하도록 구성된다. 예를 들어, 음향 특징 추출기(112)는 사용자(10)가 발언한 발화(119)에 대응하는 AED(102)의 하나 이상의 마이크로폰(106)에 의해 캡처된 스트리밍 오디오(118)를 수신하고 그리고 발화(119)에 대응하는 오디오 데이터(120)로부터 음향 특징을 추출할 수 있다. 음향 특징은 발화(119)에 대응하는 오디오 데이터(120)의 윈도우에 걸쳐 계산된 필터 뱅크 에너지 또는 멜 주파수 켑스트럼 계수(MFCC: Mel-frequency cepstrum coefficients)를 포함할 수 있다.
음향 특징 검출기(110)는 음향 특징 추출기(112)에 의해 추출된 음향 특징을 포함하는 오디오 데이터(120)를 수신할 수 있고, 추출된 특징에 기초하여, 핫워드 분류기(150)는 사용자(10)가 발화한 특정 핫워드(121)를 발화(119)가 포함하는지 여부를 분류하도록 구성된다. AED(102)는 추출된 음향 특징을 메모리 하드웨어(105)의 버퍼에 저장할 수 있고, 핫워드 분류기(150)는 오디오 데이터(120)가 핫워드(121)를 포함하는지 여부를 검출하기 위해 버퍼의 음향 특징을 사용할 수 있다. 핫워드 분류기(150)는 핫워드 검출 모델(150)이라고도 지칭될 수 있다. AED(102)는 특정 용어/문구(구)와 연관된 상이한 핫워드를 검출하도록 각각 훈련된 복수의 핫워드 분류기(150)를 포함할 수 있다. 이들 핫워드는 미리정의된 핫워드 및/또는 사용자(10)에 의해 할당된 커스텀(사용자 지정) 핫워드일 수 있다. 일부 구현에서, 핫워드 분류기(150)는 네트워크(104)를 통해 원격 시스템(111)으로부터 수신된 훈련된 신경망 기반 모델을 포함한다.
음향 특징 검출기(110)는 또한 발화(119)가 사용자(10)에 의해 발화된 프리즈 워드(123)를 포함하는지 여부를 분류하도록 구성된 프리즈 워드 분류기(160)를 포함한다. 프리즈 워드 분류기(160)는 또한 프리즈 워드 검출 모델(160)로 지칭될 수 있다. AED(102)는 특정 용어/문구와 연관된 상이한 프리즈 워드를 검출하도록 각각 훈련된 복수의 프리즈 워드 분류기(160)를 포함할 수 있다. 상기 설명한 바와 같이, 프리즈 워드는 미리정의된 프리즈 워드, 사용자에 의해 선택된 프리즈 워드, 액션-특정 프리즈 워드 및/또는 쿼리-특정 프리즈 워드를 포함할 수 있다. 핫워드 분류기(150)와 마찬가지로, 프리즈 워드 분류기(160)는 원격 시스템(111)으로부터 수신된 훈련된 신경망 기반 모델을 포함할 수 있다. 일부 예에서, 프리즈 워드 분류기(160) 및 핫워드 분류기(150)는 동일한 신경망 기반 모델에 통합된다. 이들 예에서, 핫워드 분류기(150) 및 프리즈 워드 분류기(160)에 대응하는 신경망 모델의 각각의 부분은 결코 동시에 활성화되지 않는다. 예를 들어, AED(102)가 휴면 상태에 있는 동안, 핫워드 분류기(150)는 스트리밍 오디오(118)에서 핫워드(121)를 듣기 위해 활성화될 수 있고 프리즈 워드 분류기(160)는 비활성화될 수 있다. 핫워드(121)가 검출되어 AED(102)를 깨우고 후속 오디오를 프로세싱하도록 트리거하면, 핫워드 분류기(150)는 비활성화될 수 있고 그리고 프리즈 워드 분류기(160)는 스트리밍 오디오(118)에서 프리즈 워드(123)를 듣기 위해 활성화될 수 있다. 음향 특징 검출기(110)의 분류기(150, 160)는 디지털 신호 프로세서(DSP)와 같은 AED의 제1 프로세서 및/또는 제1 프로세서보다 동작하는 동안 더 많은 전력을 소비하는 애플리케이션 프로세서(AP 또는 CPU)와 같은 AED(102)의 제2 프로세서에서 실행될 수 있다.
일부 구현에서, 핫워드 분류기(150)는 발화(119)의 초기 부분에 있는 핫워드를 식별하도록 구성된다. 표시된 예에서, 핫워드 분류기(150)는, 핫워드(121)의 특징인 오디오 데이터(120)에서 음향 특징을 핫워드 분류기(150)가 검출하는 경우, 발화(119)("Ok Google, broadcast I'm home end broadcast")가 핫워드(121)("Ok Google")를 포함한다고 결정할 수 있다. 예를 들어, 핫워드 분류기(150)는 오디오 데이터로부터 MFCC를 생성하고 그리고 MFCC가 핫워드 분류기(150)의 모델에 저장된 핫워드 "Ok Google"의 특징인 MFCC와 유사한 MFCC를 포함하는지 분류하는 것에 기반하여, 발화(119)(Ok Google, broadcast I’m home end broadcast)가 핫워드(121) "Ok Google"을 포함하고 있음을 검출할 수 있다. 다른 예로서, 핫워드 분류기(150)는 오디오 데이터로부터 멜-스케일 필터뱅크 에너지를 생성하고 그리고 멜-스케일 필터뱅크 에너지가 핫워드 분류기(150)의 모델에 저장된 핫워드 "Ok Google"의 특징인 멜-스케일 필터뱅크 에너지와 유사한 멜-스케일 필터뱅크 에너지를 포함한다는 분류에 기초하여, 발화(119)("Ok Google, broadcast I’m home end broadcast")가 핫워드(121)("Ok Google")을 포함한다고 검출할 수 있다.
음향 특징 검출기(110)의 A단계에서, 핫워드 분류기(150)가 발화(119)에 대응하는 오디오 데이터(120)에 핫워드(121)가 포함되어 있다고 결정하면, AED(102)는 발화(119)에 대응하는 오디오 데이터(120)에 대한 음성 인식을 개시하기 위해 웨이크업 프로세스를 트리거할 수 있다. 예를 들어, AED(102)에서 실행되는 자동 음성 인식(ASR) 엔진(200)('음성 인식기'(200)이라고도 함)은 발화(119)에 해당하는 오디오 데이터에 대해 음성 인식 또는 의미론적 해석을 수행할 수 있다. 음성 인식기(200)는 ASR 모델(210), NLU(Natural Language Understanding) 모듈(220) 및 엔드포인터(230)를 포함할 수 있다. ASR 모델(210)은 오디오 데이터(120)를 프로세싱하여 음성 인식 결과(215)를 생성할 수 있고, NLU 모듈(220)은 디지털 어시스턴트(109)가 동작을 수행하기 위한 쿼리(122)를 오디오 데이터(120)가 포함한다고 결정하기 위해 음성 인식 결과(215)에 대해 의미론적 해석을 수행할 수 있다. 이 예에서, ASR 모델(210)은 오디오 데이터(120)를 프로세싱하여 "broadcast I'm home end broadcast"에 대한 음성 인식 결과(215)를 생성하고 그리고 NLU 모듈(220)은 사용자가 집에 있음을 다른 개인에게 표시하는 하나 이상의 스피커로부터의 가청 출력에 대한 가청 알림을 브로드캐스팅하는 동작을 수행하기 위한 디지털 어시스턴트(109)에 대한 쿼리(122)로서 "broadcast I'm home"을 식별할 수 있다. 대안적으로, 쿼리(122)는 디지털 어시스턴트(109)가 하나 이상의 스피커로부터의 가청 출력을 위해 "I'm home"이라고 말하는 사용자의 음성 메시지를 방송(브로드캐스팅)하기 위한 것일 수 있다. NLU 모듈(220)은 또한 오디오 데이터(120)에서 검출된 프리즈 워드의 존재가 실제로 쿼리(122)의 일부이고 따라서 발화를 엔드포인트하도록 사용자에 의해 발언된 것이 아닌지를 결정하기 위해 활용될 수 있다. 따라서, NLU(220)는 프리즈 워드가 실제로 발화의 일부인 시나리오에서 프리즈 워드의 검출을 무효화할 수 있다. NLU(220)는 이러한 시나리오에서 언어 모델 점수를 활용할 수 있다.
일부 구현에서, 음성 인식기(200)는 AED(102)에 더하여 또는 그 대신에 원격 시스템(111)에 위치한다. 핫워드 분류기(150)가 발화(119)에서 핫워드(121) 검출에 응답하여 웨이크업하도록 AED(102)를 트리거할 때, AED(102)는 발화(119)에 대응하는 오디오 데이터(120)를 네트워크(104)를 통해 원격 시스템(111)에 전송할 수 있다. AED(102)는 ASR 모델(210)을 통해 음성 인식을 수행하는 핫워드(121)의 존재를 확인하기 위해 원격 시스템(111)에 대한 핫워드(121)를 포함하는 오디오 데이터의 일부를 전송할 수 있다. 대안적으로, AED(102)는 핫워드(121) 이후의 발화(119) 부분에 대응하는 오디오 데이터(120)의 부분만을 원격 시스템(111)으로 전송할 수 있다. 원격 시스템(111)은 ASR 모델(210)을 실행하여 오디오 데이터(120)에 대한 음성 인식 결과(215)를 생성한다. 원격 시스템(111)은 또한 NLU 모듈(220)을 실행하여 음성 인식 결과(215)에 대해 의미론적 해석을 수행하여 디지털 어시스턴트(109)가 동작을 수행하기 위한 쿼리(122)를 식별할 수 있다. 대안적으로, 원격 시스템(111)은 음성 인식 결과(215)를 AED(102)에 전송할 수 있고 AED(102)는 쿼리(122)를 식별하기 위해 NLU 모듈(220)을 실행할 수 있다.
도 1을 계속 참조하면, 엔드포인터(230)는 오디오 데이터(120)에서 비음성의 미리결정된 기간 후에 발화의 엔드포인팅을 트리거하도록 구성된다. 여기에서, 비음성의 미리결정된 기간은 엔드포인터(230)가 적어도 미리결정된 기간 동안 비음성의 기간을 검출할 때 발화를 엔드포인트할 엔드포인팅 타임아웃 기간(endpointing timeout duration)에 해당할 수 있다. 즉, 엔드포인터(230)는 스트리밍 오디오(118)를 폐쇄(close)하고 더 이상 캡처하지 않도록 AED(102)에 있는 하나 이상의 마이크로폰(106)에 지시하는 하드 마이크로폰 폐쇄 결정을 함으로써 발화를 엔드포인팅한다. 엔드포인팅 타임아웃 기간은 일반적으로 사용자가 말을 마치기 전에 발화 내용이 잘리지 않도록 발화를 조기에 엔드포인팅하는 것을 방지하기에 충분히 긴 기본값으로 설정된다. 동시에 엔드포인팅 타임아웃 기간을 길게 설정하면 음성의 워드 사이에 더 긴 일시 중지가 허용되고 그리고 불완전한 구문 프로세싱이 방지되는 반면, 어시스턴트 가능 장치의 마이크로폰은 오픈 상태를 유지하고 어시스턴트 가능 장치를 향하지 않는 소리를 검출할 수 있다. 또한 마이크로폰 폐쇄를 지연하면 결과적으로 쿼리에서 지정한 동작/액션의 실행이 지연된다.
음성 인식기(200)가 오디오 데이터(120)를 프로세싱하는 동안 그리고 엔드포인터(230)가 오디오 데이터에서 비음성(non-speech)의 미리결정된 기간을 검출하기 전에, 프리즈 워드 분류기(160)는 AED(102)에서 동시에 실행되고 오디오 데이터(120)에서 프리즈 워드(123) "end broadcast(방송 종료)"를 검출한다. 여기서, 프리즈 워드(123)("end broadcast")는 사용자(102)에 의해 발언된 발화(119)의 끝(end)에서 쿼리(122)를 따르고(follow) 액션-특정 프리즈 워드(123)에 대응한다. 즉, 프리즈 워드(123)("end broadcast")는 음향 스피커를 통해 통지 또는 메시지를 방송하는 동작/액션에 특정된다. 일부 예에서, NLU(220)는 오디오 데이터(120)에 대한 음성 인식 결과(215)가 브로드캐스팅 동작을 수행하기 위한 디지털 어시스턴트(109)에 대한 쿼리(122)를 포함한다고 결정하는 것에 응답하여 프리즈 워드(123)("end broadcast(브로드캐스트 종료)")를 활성화(activate/enable)하기 위한 명령어(222)를 음향 특징 검출기(110)에 제공한다. 이러한 예에서, 음향 특징 검출기(110)는 프리즈 워드(123)("end broadcast")를 검출하도록 구성된 프리즈 워드 검출 모델을 활성화할 수 있다.
일부 구현에서, AED(102)에서 실행되는 프리즈 워드 분류기(160)는 음성 인식 또는 의미론적 해석을 수행하지 않고 발화(119)의 끝에 있는 프리즈 워드(123)를 식별하도록 구성된다. 예를 들어, 이 예에서, 프리즈 워드 분류기(160)는, 프리즈 워드 분류기(160)가 프리즈 워드(123)의 특징인 오디오 데이터(120)의 음향 특징을 검출하는 경우 "Ok Google, broadcast I'm home end broadcast"라는 발화(119)가 프리즈 워드(123)("end broadcast")를 포함한다고 결정할 수 있다. 예를 들어, 프리즈 워드 분류기(160)는 오디오 데이터로부터 MFCC를 생성하고 그리고 MFCC가 프리즈 워드 분류기(160)의 모델에 저장된 프리즈 워드(123)("end broadcast")의 특징인 MFCC와 유사한 MFCC를 포함하는지 분류하는 것에 기초하여, "Ok Google, broadcast I'm home end broadcast"라는 발화(119)가 프리즈 워드(123)("end broadcast")를 포함한다는 것을 검출할 수 있다. 다른 예로, 프리즈 워드 분류기(160)는 오디오 데이터에서 멜 스케일 필터뱅크 에너지(mel-scale filterbank energies)를 생성하고 그리고 멜 스케일 필터뱅크 에너지가 핫워드 분류기(150)의 모델에 저장된 핫워드 "Ok Google"의 특징인 멜 스케일 필터뱅크 에너지와 유사한 멜 스케일 필터뱅크 에너지를 포함하는 것으로 분류하는 것에 기초하여, "Ok Google, broadcast I'm home end broadcast"라는 발화(119)가 프리즈 워드(123)("end broadcast")를 포함한다는 것을 검출할 수 있다. 프리즈 워드 분류기(160)는 오디오 데이터(120)에서 추출된 음성 특징을 프로세싱하여 프리즈 워드 신뢰도 점수를 생성할 수 있고, 프리즈 워드 신뢰도 점수가 프리즈 워드 신뢰도 임계값을 만족할 때 발화(119)에 대응하는 오디오 데이터(120)가 프리즈 워드(123)를 포함한다고 결정한다.
음향 특징 검출기(110)의 B 단계에서, 엔드포인터(230)가 오디오 데이터에서 비음성의 미리결정된 기간을 검출하기 전에 프리즈 워드 분류기(160)가 오디오 데이터(120)에서 프리즈 워드(123)를 검출하는 것에 응답하여, AED(102)는 AED(102)가 프리즈 워드(123)에 후속하는 임의의 스트리밍 오디오(118)를 캡처하는 것을 방지하는 하드 마이크로폰 폐쇄 이벤트(Close Mic)(125)를 AED(102)에서 트리거할 수 있다. 예를 들어, 하드 마이크로폰 폐쇄 이벤트(125)를 트리거하는 것은 하나 이상의 마이크로폰(106)을 비활성화하는 AED(102)를 포함할 수 있다. 따라서, 프리즈 워드(123)는 사용자(10)가 쿼리(122)를 말하는 것을 끝냈을 때를 나타내기 위한 수동 큐(manual cue)로서 사용자(10)에 의해 발언되고, 이에 의해 엔드포인터 타임아웃 기간이 경과하기를 기다리지 않고 하드 마이크로폰 폐쇄 이벤트(125)를 트리거하여 엔드포인터(230)가 발화를 엔드포인트(endpoint)할 수 있다. 대신에, 프리즈 워드(123)를 검출하는 것에 응답하여 하드 마이크로폰 폐쇄 이벤트(125)를 트리거하면 AED(102)가 엔드포인터(230) 및/또는 ASR 모델(210)에게 발화를 즉시 엔드포인트하도록 지시하게 된다. 하드 마이크로폰 폐쇄 이벤트(125)를 트리거하는 것은 또한 AED(102)가 ASR 시스템(200)에 오디오 데이터에 대한 임의의 활성 프로세싱을 중단하도록 지시하고 디지털 어시스턴트(109)에 동작의 수행을 이행하도록 지시하게 한다. 그 결과, 사용자가 프리즈 워드(123)를 말한 후에 후속 음성 또는 배경 노이즈가 마이크로폰(106)에 의해 캡처되지 않기 때문에 음성 인식 정확도가 향상되고, 디지털 어시스턴트(109)가 엔드포인팅 타임아웃 기간이 경과할 때까지 기다릴 필요 없이 쿼리(122)에 의해 지정된 동작의 수행을 시작하도록 발화(119)가 수동으로 엔드포인팅되기 때문에 대기 시간이 개선된다. 도시된 예에서, ASR 시스템(200)은 디지털 어시스턴트(109)가 쿼리(122)에 의해 지정된 동작을 수행하게 하는 출력(250)을 디지털 어시스턴트(109)에 제공한다. 출력(250)은 동작을 수행하기 위한 명령어를 포함할 수 있다.
일부 시나리오에서, 출력(250)은 또한 발화(119)에 대응하는 오디오 데이터(120)에 대한 음성 인식 결과(215)를 포함한다. 이러한 시나리오는 ASR 시스템(200)에 의해 식별된 쿼리(122)가 검색 쿼리에 대응할 때 발생할 수 있으며, 이 경우 검색 쿼리(122)에 대한 음성 인식 결과(215)가 출력(250)으로서 검색 엔진(미도시)에 제공되어 검색 결과를 검색한다. 예를 들어, "Hey Google, tell me the weather for tomorrow now Google"의 발화(119)는 핫워드("Hey Google"), 대화식 검색 쿼리(122)("tell me the weather for tomorrow") 및 마지막으로 프리즈 워드("now Google")를 포함할 수 있다. ASR 시스템(200)은 오디오 데이터(120)를 프로세싱하여 발화(119)에 대한 음성 인식 결과(215)를 생성하고 음성 인식 결과(215)에 대해 의미론적 해석을 수행하여 검색 쿼리(122)를 식별할 수 있다. 이 예를 계속하면, 프리즈 워드("now Google")을 검출하는 프리즈 워드 분류기(160)에 응답하여, AED(102)는 하드 마이크로폰 폐쇄 이벤트(125)를 트리거할 수 있고 그리고 ASR 시스템(200)은 음성 인식 결과(215)(예: 전사 225)의 끝에서 "now Google"이라는 구를 스트립(strip)하고 음성 인식 결과(215)를 내일 일기 예보에 대한 검색 결과를 검색하기 위해 검색 엔진에 검색 쿼리로 제공할 수 있다. 이 예에서, 프리즈 워드("now Google")는 소정의 언어의 모든 사용자에게 공통적인 미리정의된 프리즈 워드(123)를 포함할 수 있으며, 음성 인식이 활성화된 동안 말했을 때 하드 마이크로폰 폐쇄 이벤트(125)를 수동으로 트리거한다.
일부 구현에서, 디지털 어시스턴트(109)는, 디지털 어시스턴트(109)가 이전 쿼리에 대한 응답을 출력한 후에 사용자로부터의 후속 쿼리를 수락하기 위해 마이크로폰(106)가 오픈 상태로 남아 있을 수 있는 지속적인 대화를 위해 인에이블된다. 예를 들어 위의 예를 사용하면, 디지털 어시스턴트(109)는 내일의 일기 예보에 대한 검색 결과를 합성된 음성으로 들을 수 있게 출력한 다음 사용자(102)가 후속 쿼리에 대한 프리픽스(prefix)로서 핫워드(121)를 반복해서 말할 필요 없이 후속 쿼리를 말할 수 있도록 마이크로폰(106)이 오픈 상태를 유지하도록 지시할 수 있다. 이 예에서, 사용자(102)가 후속 쿼리를 갖지 않는 경우, 사용자(102)가 "Thanks Google"이라는 문구(또는 하나 이상의 고정된 용어의 다른 문구)를 말하는 것은 프리즈 워드(123)로 작용하여 하드 마이크로폰 폐쇄 이벤트를 트리거할 수 있다. 사용자(10)가 말할 수 있거나 말하지 않을 수 있는 후속 쿼리를 수락하기 위해 고정된 기간 동안 마이크로폰(106)를 오픈하는 것은 마이크로폰(106)이 오픈되어 있는 동안 음성 프로세싱이 활성화되어 전력 소비 및/또는 대역폭 사용을 증가시키기 때문에 증가된 프로세싱을 필요로 한다. 따라서, 프리즈 워드를 말하는 사용자(10)는 AED(102)가 의도하지 않은 음성을 캡처하는 것을 방지하고 그리고 AED(102)가 저전력 절전 또는 최대 절전 상태로 전환할 수 있기 때문에 전력 및 대역폭 절약을 제공하기 위해 하드 마이크로폰 폐쇄 이벤트를 트리거할 수 있다.
일부 예에서, 사용자(10)가 마이크로폰(106)를 폐쇄하고 계속되는 대화를 종료하기 위해 프리즈 워드를 말하면, AED(102)는 일시적으로 핫워드 검출 임계값을 높이고 및/또는 일정 기간 동안 동일한 사용자(10)가 말한 후속 음성을 무시한다. AED(102)는 발화로부터 추출된 검증 화자 임베딩과 비교할 수 있는 사용자의 음성 특성을 나타내는 사용자(10)를 위한 기준 화자 임베딩을 저장할 수 있다. 예를 들어, 검증 화자 임베딩은 임베딩이 음성 핫워드로부터 추출되고 기준 화자 임베딩은 등록 동안 동일한 핫워드를 한 번 이상 말하는 사용자(10)로부터 추출될 수 있고/있거나 디지털 어시스턴트(109)와의 하나 이상의 이전 상호 작용에서 추출될 수 있는 텍스트 종속적일 수 있다. 후속 발화에서 추출된 검증 화자 임베딩이 사용자(10)에 대한 기준 화자 임베딩과 일치하는 경우, 사용자(10)가 하드 마이크로폰 폐쇄를 트리거하기 위해 프리즈 워드를 말한 직후에 후속 발화가 제공된 경우 음성은 무시될 수 있다.
도 2a 및 2b는 가청 콘텐츠(124)를 구술하기 위해 디지털 어시스턴트(109)에 대한 구술 기반 쿼리(122)에 대응하는 오디오 데이터(120a)(도 2a)의 제1 인스턴스 및 가청 콘텐츠(124)의 발화(119, 119b)에 대응하는 오디오 데이터(120)(도 2b)의 제2 인스턴스(120b)를 수신하는 ASR 엔진(200)을 도시한다. 도 2a에서, AED(102)는 "Hey Google, dictate a message to Aleks until I say I'm done."를 포함하는 사용자(10)에 의해 발언된 발화(119)의 제1 인스턴스(119a)를 캡처한다. 이 예에서, "Hey Google"은 핫워드(121)에 해당하고, "dictate a message to Aleks"라는 문구는 디지털 어시스턴트(109)가 "Aleks"에게 메시지를 구술하도록 하는 구술 기반 쿼리(122)에 해당하고, 문구("until I say I'm done")는 문구("I'm done")가 프리즈 워드(123)에 대응하는 메시지에 대한 가청 콘텐츠(124)를 엔드포인팅하기 위한 프리즈 워드를 지정한다.
음향 특징 검출기(110)는 발화(119)의 제1 인스턴스(119a)에 대응하는 AED(102)의 하나 이상의 마이크로폰(106)에 의해 캡처된 스트리밍 오디오(118)를 수신한다. 핫워드 분류기(150)는 스트리밍 오디오(118)가 핫워드(121)를 포함한다고 결정한다. 예를 들어, 핫워드 분류기(150)는 스트리밍 오디오(118)가 핫워드(121) "Hey Google"을 포함한다고 결정한다. 핫워드 분류기(150)가 핫워드(121)를 스트리밍 오디오(118)가 포함한다고 결정한 후, AED(102)는 발화(119)의 제1 인스턴스(119a)에 대응하는 오디오 데이터(120)의 제1 인스턴스(120a)에 대한 음성 인식을 개시하기 위해 웨이크업 프로세스를 트리거한다.
ASR(200)은 음향 특징 검출기(110)로부터 오디오 데이터(120)의 제1 인스턴스(120a)를 수신한다. ASR 모델(210)은 오디오 데이터(120)의 제1 인스턴스(120a)를 프로세싱하여 음성 인식 결과(215)를 생성할 수 있다. 예를 들어, ASR 모델(210)은 발화(119a)에 대응하는 오디오 데이터(120)의 제1 인스턴스(120a)를 수신하고 대응하는 음성 인식 결과(215)를 생성한다. NLU 모듈(220)은 ASR 모델(210)로부터 음성 인식 결과(215)를 수신하고, 오디오 데이터(120)의 제1 인스턴스(120a)가 사용자(10)가 말하는 가청 콘텐츠(124)를 구술하기 위한 디지털 어시스턴트(109)에 대한 구술 기반 쿼리(122)를 포함하는지를 결정하기 위해 음성 인식 결과(215)에 대해 의미 해석을 수행할 수 있다. 특히, 음성 인식 결과(215)에 대해 NLU(220)에 의해 수행된 의미론적 해석은 수신자(Aleks)에게 메시지(예를 들어, 전자 메시지 또는 이메일)에 대한 가청 콘텐츠(124)를 구술(dictate)하도록 디지털 어시스턴트(109)에 대한 구술 기반 쿼리(122)로서 "Adictate a message to Aleks"라는 문구를 식별한다. 메시지에 더하여, 구술 기반 쿼리(122)는 저널 엔트리에 대응하는 가청 콘텐츠 또는 문서에 저장될 노트와 같은 다른 유형의 콘텐츠를 구술하는 것과 연관될 수 있다.
일부 구현에서, ASR(200)은 오디오 데이터(120)의 제1 인스턴스에 대한 음성 인식 결과(215)에 대해 수행된 의미론적 해석에 기초하여 구술 기반 쿼리(122)가 프리즈 워드(123)를 지정한다고 추가로 결정한다. 예를 들어 표시된 예에서, NLU(220)는 "I'm done"이라는 문구를 메시지의 가청 콘텐츠(124)를 엔드포인팅하기 위한 프리즈 워드(123)로 설정하기 위한 명령어로서 "I'm done"이라는 문구를 식별한다. 일부 예에서, NLU(220)는 오디오 데이터(120a)의 제1 인스턴스에 대한 음성 인식 결과(215)가 프리즈 워드(123)를 지정한다는 결정에 응답하여 프리즈 워드(123)("I'm done")를 활성화하기 위한 명령어(222)를 음향 특징 검출기(110)에 제공한다. 이 예에서, 음향 특징 검출기(110)는 AED(102)에 의해 캡처된 후속 스트리밍 오디오(118)에서 프리즈 워드(123)("I'm done")를 검출하기 위해 프리즈 워드 분류기(예를 들어, 프리즈 워드 검출 모델)(160)를 활성화(activate/enable)할 수 있다.
일부 예에서, 프리즈 워드 분류기(160) 및 핫워드 분류기(150)는 결코 동시에 활성화되지 않는다. 도 2a에서 프리즈 워드 분류기(160)를 둘러싸는 점선은 프리즈 워드 분류기(160)가 현재 비활성임을 나타내는 반면, 핫워드 분류기(150)를 둘러싸는 실선은 핫워드 분류기(150)가 활성임을 나타낸다. 예를 들어, NLU(220)가 음향 특징 검출기(110)에 명령(222)을 전송하여 프리즈 워드(123) "I'm done"을 검출하기 위해 프리즈 워드 분류기(160)를 활성화하기 전에, 핫워드 분류기(150)는 스트리밍 오디오(118)에서 핫워드(121)를 듣기 위해 활성화될 수 있고(예를 들어, 실선으로 표시됨) 프리즈 워드 분류기(160)는 비활성화될 수 있다(예를 들어, 점선으로 표시됨). NLU(220)가 음성 인식 결과(215)가 구술 기반 쿼리(122)를 포함하고 구술 기반 쿼리(122)가 프리즈 워드(123)를 지정한다고 결정하면, NLU(220)는 명령어(222)를 음향 특징 검출기(110)에 전송하여 음향 특징 검출기(110)가 후속 스트리밍 오디오(118)에서 프리즈 워드("I'm done")를 검출하기 위해 프리즈 워드 분류기(160)를 활성화하고 핫워드 분류기(150)를 비활성화하게 한다.
도시된 예에서, 프리즈 워드(123)("I'm done")는 사용자(10)가 발화한 쿼리(122)의 일부로서 지정되는 쿼리-특정 프리즈 워드에 대응한다. 특히, 구술 기반 쿼리(122)는 사용자가 메시지의 가청 콘텐츠(124)를 말하기 시작하기 전에 프리즈 워드(123)("I'm Done")를 지정한다. 여기에서 구술 기반 쿼리의 일부로 지정된 프리즈 워드("I'm Done")는 프리즈 워드("I'm Done")가 검출될 때까지 엔드포인팅을 트리거하기 위해 엔드포인터에게 기다리거나 최소한 엔드포인팅 타임아웃 기간을 연장하도록 지시한다. 일부 구현에서, NLU(220)는 엔드포인팅 타임아웃 기간을 늘리기 위해 엔드포인터(230)에 명령어(224)를 전송한다. 엔드포인팅 타임 기간을 연장하면 사용자(10)가 엔드포인팅을 트리거하는 메시지의 가청 콘텐츠(124)를 말하기 시작하면 긴 일시 중지(long pauses)가 허용된다. 일부 예에서, 쿼리-특정 프리즈 워드는 액션-특정 프리즈 워드(예: "End Message") 및/또는 사용자가 지정한 프리즈 워드(예: "The End") 및/또는 미리정의된 프리즈 워드(예: "Thanks Google")와 병렬로 활성화된다.
NLU(220)가 구술 기반 쿼리(122)를 음성 인식 결과(215)가 포함하지만 구술 기반 쿼리(122)가 쿼리-특정 프리즈 워드(123)를 지정하지 않는다고 결정하는 시나리오에서, NLU(220)는 음향 특징 검출기(110)가 쿼리(122)에 의해 지정되지 않았기 때문에 임의의 쿼리-특정 프리즈 워드를 검출하기 위해 음향 특징 검출기(110)가 프리즈 워드 분류기(160)를 활성화하게 하도록 명령어(지시)(222)를 음향 특징 검출기(110)에 보내지 않을 것이다. 그러나, NLU(220)는 액션-특정 프리즈 워드, 사용자가 정의한 프리즈 워드 또는 미리정의된 프리즈 워드 중 적어도 하나를 검출하기 위해 프리즈 워드 분류기(160)를 활성화하기 위해 음향 특징 검출기(110)에 명령(222)을 여전히 보낼 수 있다. 선택적으로, 음향 특징 검출기(110)는 발화(119)의 제1 인스턴스(119a)에 대응하는 스트리밍 오디오(118)에서 핫워드(121)를 검출할 때 후속 스트리밍 오디오(118)에서 사용자가 정의한 및/또는 미리정의된 프리즈 워드를 검출하기 위해 프리즈 워드 분류기(160)를 자동으로 활성화할 수 있다.
도 2b를 참조하면, 사용자(10)가 쿼리-특정 프리즈 워드(123)를 지정하는 구술 기반 쿼리(122) 및 핫워드(121)를 전달하는 발화(119)의 제1 인스턴스(119a)를 말한 후, 이어서 사용자(10)는 메시지의 가청 콘텐츠(124)를 전달하기 위해 발화(119)의 제2 인스턴스(119b)를 말하고, 사용자(10)는 사용자(10)가 메시지의 가청 콘텐츠(124) 말하기를 완료했음을 나타내는 쿼리-특정 프리즈 원드(123)가 뒤따르도록 디지털 어시스턴트(109)에 지시하기를 원한다. 특히, 사용자(10)는 AED(102)가 이제 깨어 있고 ASR(200)이 발화(119)의 제1 인스턴스(119a)에서 핫워드(121)("Hey Google")를 검출하는 핫워드 분류기(150)에 응답하여 활성 상태를 유지하기 때문에 발화(119)의 제2 인스턴스(119b)에 핫워드(121)를 프리픽스(prefix)할 필요가 없다. 도시된 예에서, 발화(119)의 제2 인스턴스(119b)는 "Aleks, I'm running late I'm done."을 포함한다. 이 예에서, "Aleks, I'm running late"라는 문구는 메시지의 가청 콘텐츠(124)에 대응하고, "I'm done"이라는 문구는 도 2a의 사용자(10)가 발언한 발화(119)의 제1 인스턴스(119a)에서 구술 기반 쿼리(122)에 의해 지정된 쿼리-특정 프리즈 워드(123)에 대응한다. 가청 콘텐츠(124) 다음에 오는 쿼리-특정 프리즈 워드("I'm done)" 대신에, 다른 유형의 프리즈 워드(123)가 가청 콘텐츠(124)를 뒤따라서 유사하게 가청 콘텐츠(124)의 엔드포인팅을 트리거할 수 있다.
AED(102)에서 실행되는 음향 특징 검출기(110)는 발화(119)의 제2 인스턴스(119b)에 대응하는 AED의 하나 이상의 마이크로폰(106)에 의해 캡처된 스트리밍 오디오(118)를 수신한다. 핫워드 분류기(150)는 이제 비활성화되고(예: 점선으로 표시된 대로) 프리즈 워드 분류기(160)는 스트리밍 오디오(118)에서 쿼리-특정 프리즈 워드(123)의 존재를 듣기 위해 프리즈 워드 분류기(160)를 활성화하기 위한 도 2a의 NLU(220)로부터의 명령어(222)를 수신하는 음향 특징 검출기(110)에 응답하여 활성화된다(예를 들어, 실선으로 표시된 바와 같이). 음향 특징 검출기(110)는 프리즈 워드 분류기(160)를 이용하여 스트리밍 오디오(118)가 프리즈 워드(123)를 포함하는지 여부를 결정한다. 음향 특징 검출기(110)는 오디오 데이터(120)의 제2 인스턴스(120b)를 ASR(200)로 전송한다. ASR(200)은 사용자(10)에 의해 발언되고 AED(102)에 의해 캡처된 가청 콘텐츠(124)의 발화(119)의 제2 인스턴스(119b)에 대응하는 오디오 데이터(120)의 제2 인스턴스(120b)를 수신한다. 또한, 엔드포인터(220)는 도 2a의 발화(119)의 제1 인스턴스(119a)에서 프리즈 워드(123)("I'm Done")를 지정하는 구술 기반 쿼리(122)에 기초하여 NLU(220)로부터 명령어(224)를 수신하는 것에 응답하여 확장된 엔드포인팅 타임아웃 기간을 적용한다.
ASR(200)은 가청 콘텐츠(124)의 전사(transcription)(225)를 생성하기 위해 오디오 데이터(120)의 제2 인스턴스(120b)를 프로세싱한다. 예를 들어, ASR(200)은 가청 콘텐츠(124)("Aleks, I'm running late")의 전사(225)를 생성한다. ASR(200)에서 오디오 데이터(120)의 제2 인스턴스(120b)를 프로세싱하는 동안, 음향 특징 검출기(110)는 오디오 데이터(120)의 제2 인스턴스(120b)에서 프리즈 워드(123)를 검출한다. 구체적으로, 프리즈 워드 분류기(예를 들어, 프리즈 워드 검출 모델)(160)는 오디오 데이터(120)의 제2 인스턴스(120b)에서 프리즈 워드(123)의 존재를 검출한다. 도시된 예에서, 프리즈 워드(123)는 가청 콘텐츠(124)의 끝을 나타내기 위해 쿼리-특정 프리즈 워드("I'm done")을 포함한다. 프리즈 워드(123)는 사용자(10)에 의해 발언된 발화(119)의 제2 인스턴스(119a)에서 가청 콘텐츠(124)를 따른다.
오디오 데이터(120)의 제2 인스턴스(120b)에서 프리즈 워드(123)를 검출한 것에 응답하여, ASR(200)은 AED(102)로부터의 출력을 위해 사용자(10)에 의해 발화된 가청 콘텐츠(124)의 전사(225)를 제공한다. AED(102)는 전사(225)를 수신인(Aleks)과 연관된 수신 장치(미도시)로 전송함으로써 전사(225)를 출력할 수 있다. 전사(225)가 노트 또는 저널 엔트리와 연관된 가청 콘텐츠(124)를 구술하는 시나리오에서, AED(102)는 전사(225)를 문서에 저장하거나 전사(225)를 연관된 애플리케이션으로 보냄으로써 출력을 위한 전사(225)를 제공할 수 있다. 또한, AED(102)는 AED의 그래픽 사용자 인터페이스(이용 가능한 경우)에 전사를 표시함으로써 전사(225)를 출력할 수 있다. 여기에서, 사용자(10)는 사용자(10)가 전사(225)를 다시 구술하고, 임의의 잘못 표기된 용어를 수정하고/하거나 메시지의 임의의 콘텐츠를 변경하기를 원하는 경우에 수신 장치에 전송하기 전에 전사(225)를 볼 수 있다. 추가적으로 또는 대안적으로, AED(102)는 전사(225)를 사용자(10)에게 가청가능한 재생을 위해 합성된 음성으로 변환하기 위해 TTS(text-to-speech) 모듈을 채용할 수 있어서, 사용자(10)는 사용자(10)가 수신 장치(수취인 장치)로 전송된 전사(225)를 원하는지 확인할 수 있다. ASR(200)이 원격 시스템(111)(도 1)에서 서버 측에서 실행되는 구성에서, ASR(200)은 전사(225)를 AED(102)로 전송하고/하거나 전사(225)를 수신 장치(recipient device)로 전송할 수 있다. 즉, ASR(200)은 오디오 데이터(120)의 제2 인스턴스(120b)의 가청 콘텐츠(124)에 대응하는 전사(225)("Aleks, I'm running late")를 제공한다.
일부 예에서, 오디오 데이터(120)의 제2 인스턴스(120b)에서 프리즈 워드(123)를 검출한 것에 응답하여, 음향 특징 검출기(110)는 AED(102)에서 하드 마이크로폰 폐쇄 이벤트(125)를 개시/트리거한다. 하드 마이크로폰 폐쇄 이벤트(125)는 AED(102)가 프리즈 워드(123)에 후속하는 임의의 오디오를 캡처하는 것을 방지한다. 즉, AED(102)에서 하드 마이크로폰 폐쇄 이벤트(125)를 트리거하는 것은 AED(102)가 하나 이상의 마이크로폰(106)을 비활성화하는 것을 포함할 수 있다. 따라서, 프리즈 워드(123)는 사용자(10)가 구술 기반 쿼리(122)에 대한 가청 콘텐츠(124) 말하기를 끝냈을 때를 나타내기 위한 수동 큐로서 사용자(10)에 의해 발언되고, 이에 따라 엔드포인터 타임아웃 기간이 경과하기를 기다리지 않고 하드 마이크로폰 폐쇄 이벤트(125)를 트리거하여 엔드포인터(230)가 발화(119)의 제2 인스턴스(119b)를 즉시 엔드포인트할 수 있다. 대신에, 프리즈 워드(123)를 검출하는 것에 응답하여 하드 마이크로폰 폐쇄 이벤트(125)를 트리거하면 AED(102)가 엔드포인터(230) 및/또는 ASR 모델(210)에게 발화를 즉시 엔드포인트하도록 지시하게 된다. 하드 마이크로폰 폐쇄 이벤트(125)를 트리거하는 것은 또한 AED(102)가 ASR 시스템(200)에게 오디오 데이터(120)의 제2 인스턴스(120b)에 대한 임의의 활성 프로세싱을 중단하도록 지시하고 그리고 디지털 어시스턴트(109)에게 동작 수행을 지시하게 한다.
일부 추가 구현에서, ASR 시스템(200)은 음향 특징 검출기(110)의 프리즈 워드 분류기(160)에 더하여 또는 그 대신에 오디오 데이터(120)의 제2 인스턴스(120b)에서 프리즈 워드(123)의 존재를 검출한다. 즉, ASR(200)은 오디오 데이터(120)의 제1 인스턴스(120a)에서 핫워드(121)를 검출한 핫워드 분류기(150)에 응답하여 오디오 데이터(120b)의 제2 인스턴스(120b)를 이미 능동적으로 프로세싱하고 있기 때문에, ASR(200)은 오디오 데이터(120)의 제2 인스턴스(120b)에서 프리즈 워드(123)의 존재를 인식할 수 있다. 따라서, ASR(200)은 AED(200)에서 하드 마이크로폰 폐쇄 이벤트(125)를 개시하고, 오디오 데이터(120)의 제2 인스턴스(120b)에 대한 활성 프로세싱을 중단하고, 전사(225)의 끝에서 인식된 프리즈 워드(123)를 스트립(strip)하도록 구성될 수 있다. ASR 시스템(200)의 이 기능을 더욱 확장하면, 프리즈 워드 분류기(160)는 1-스테이지(first-stage) 프리즈 워드 검출기로서 AED(102)에서 실행될 수 있고, ASR 시스템(200)은 프리즈 워드 분류기(160)에 의해 오디오 데이터에서 검출된 프리즈 워드의 존재를 확인하기 위한 2-스테이지(second-stage) 프리즈 워드 검출기로 채용될 수 있다.
일부 구현에서, 가청 콘텐츠(124)의 전사(225)를 생성하기 위해 오디오 데이터(120)의 제2 인스턴스(120b)를 프로세싱하는 동안, ASR(200)은 또한 전사(225)에 포함하기 위해 프리즈 워드(123)를 전사한다. 예를 들어, 가청 콘텐츠(124)의 전사(225)는 "Aleks, I'm running late I'm done."을 포함할 수 있다. 여기서, 가청 콘텐츠(124)의 전사(225)는 메시지의 가청 콘텐츠(124)의 일부로서 프리즈 워드(123)("I'm done")를 뜻하지 않게(inadvertently) 포함한다. 즉, 사용자(10)는 디지털 어시스턴트(109)가 전사(225)에 포함될 가청 콘텐츠(124)의 일부로서 프리즈 워드(123)를 구술하도록 의도한 것이 아니라, 오히려 가청 콘텐츠(124)의 끝을 지정하기 위해 발언(spoken)된다. 따라서, 프리즈 워드(123)의 검출에 응답하여 AED(102)에서 시작된 하드 마이크로폰 폐쇄 이벤트(125)는 AED(102)로부터의 출력을 위해 가청 콘텐츠(124)의 전사(225)를 제공하기 전에 전사(225)의 끝으로부터 프리즈 워드(123)를 ASR(200)로 하여금 스트립하게 할 수 있다. 추가로 또는 대안적으로, ASR(200)은 전사(225)의 끝에서 프리즈 워드(123)의 존재를 인식할 수 있고 그에 따라 전사(225)의 끝에서 프리즈 워드(123)를 스트립할 수 있다. 도시된 예에서, ASR(200)은 출력(250)을 위해 전사(225)를 제공하기 전에 전사(225)("Aleks, I'm running late I'm done")에서 프리즈 워드(123)("I'm done")를 스트립한다. 따라서, ASR(200)이 전사(225)로부터 프리즈 워드(123)를 스트립한 후, ASR(200)은 AED(102)로부터의 출력(250)에 대한 전사(225)("Aleks, I'm running late")를 제공한다.
도 3은 프리즈 워드를 검출하기 위한 방법(300)에 대한 동작의 예시적인 배열의 흐름도이다. 동작(302)에서 방법(300)은 데이터 프로세싱 하드웨어(113)에서 사용자(10)에 의해 발언되고 그리고 사용자(10)와 연관된 사용자 장치(102)에 의해 캡처된 발화(119)에 대응하는 오디오 데이터(120)를 수신하는 단계를 포함한다. 동작(304)에서, 방법(300)은 상기 데이터 프로세싱 하드웨어(510)에 의해, 음성 인식기(200)를 사용하여, 상기 발화(119)가 동작을 수행하기 위한 디지털 어시스턴트(109)에 대한 쿼리(122)를 포함하는지 결정하도록 상기 오디오 데이터(120)를 프로세싱하는 단계를 포함한다. 음성 인식기(200)는 오디오 데이터(120)에서 비음성의 미리결정된 기간 후에 발화(119)의 엔드포인팅을 트리거하도록 구성된다.
동작(306)에서, 오디오 데이터(120)의 상기 비음성의 미리결정된 기간 전에, 방법(300)은 데이터 프로세싱 하드웨어(113)에 의해 오디오 데이터(120)에서 프리즈 워드(123)를 검출하는 것을 포함한다. 프리즈 워드(123)는 사용자(10)에 의해 발언되고 그리고 사용자 장치(102)에 의해 캡처된 발화(119)의 쿼리(122) 뒤에 오는 원드다. 동작(308)에서, 오디오 데이터(120)에서 프리즈 워드(123)를 검출하는 것에 응답하여, 방법(300)은 상기 데이터 프로세싱 하드웨어(510)에 의해, 상기 사용자 장치(102)가 상기 프리즈 워드(123)에 후속하는 임의의 오디오를 캡처하는 것을 방지하도록 상기 사용자 장치(102)에서 하드 마이크로폰 폐쇄 이벤트(125)를 트리거하는 단계를 포함한다.
도 4는 프리즈 워드를 검출하기 위한 방법(400)에 대한 동작의 예시적인 배열의 흐름도이다. 동작(402)에서, 방법(400)은 데이터 프로세싱 하드웨어(113)에서, 사용자가 발언한 가청 콘텐츠(124)를 구술(dictate)하기 위한 디지털 어시스턴트(109)에 대한 구술 기반 쿼리(122)에 대응하는 오디오 데이터(120)의 제1 인스턴스를 수신하는 단계를 포함한다. 상기 구술 기반 쿼리(122)는 사용자에 의해 발언되고 그리고 사용자와 연관된 어시스턴트 가능 장치에 의해 캡처된다. 동작 404에서, 방법(400)은 데이터 프로세싱 하드웨어(113)에서, 사용자에 의해 발언되고 그리고 상기 어시스턴트 가능 장치에 의해 캡처된 가청 콘텐츠(124)의 발화(119)에 대응하는 오디오 데이터(120)의 제2 인스턴스를 수신하는 단계를 포함한다. 동작(406)에서, 방법(400)은 데이터 프로세싱 하드웨어(113)에 의해, 음성 인식기(200)를 사용하여, 오디오 데이터(120)의 제2 인스턴스(120b)를 프로세싱하여 가청 콘텐츠(124)의 전사(225)를 생성하는 단계를 포함한다.
동작(408)에서, 오디오 데이터(120)의 제2 인스턴스(120b)를 프로세싱하는 동안, 방법(400)은 상기 데이터 프로세싱 하드웨어(510)에 의해, 상기 오디오 데이터(120)의 제2 인스턴스에서 프리즈 워드(123)를 검출하는 단계를 포함한다. 상기 프리즈 워드(123)는 사용자에 의해 발언되고 그리고 상기 어시스턴트 가능 장치에 의해 캡처된 발화(119)의 가청 콘텐츠(124) 다음에 오는 워드이다. 동작(410)에서, 오디오 데이터(120)의 제2 인스턴스(120b)에서 프리즈 워드(123)를 검출한 것에 응답하여, 방법(400)은 데이터 프로세싱 하드웨어(113)에 의해, 어시스턴트 가능 장치(102)로부터의 출력(250)을 위해, 상기 사용자가 발언한 가청 콘텐츠(124)의 전사(225)를 제공하는 단계를 포함한다.
소프트웨어 애플리케이션(즉, 소프트웨어 리소스)은 컴퓨팅 장치가 동작을 수행하게 하는 컴퓨터 소프트웨어를 의미할 수 있다. 일부 예에서 소프트웨어 애플리케이션은 "애플리케이션", "앱" 또는 "프로그램"으로 지칭될 수 있다. 애플리케이션의 예로는 시스템 진단 애플리케이션, 시스템 관리 애플리케이션, 시스템 유지 관리 애플리케이션, 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 메시징 애플리케이션, 미디어 스트리밍 애플리케이션, 소셜 네트워킹 애플리케이션 및 게임 애플리케이션이 있다.
비일시적 메모리는 컴퓨팅 장치에서 사용하기 위해 일시적 또는 영구적으로 프로그램(예: 명령 시퀀스) 또는 데이터(예: 프로그램 상태 정보)를 저장하는 데 사용되는 물리적 장치일 수 있다. 비일시적 메모리는 휘발성 및/또는 비휘발성 어드레서블 반도체 메모리일 수 있다. 비휘발성 메모리의 예로는 플래시 메모리 및 ROM(읽기 전용 메모리) / PROM(Programmable Read-Only Memory) / EPROM(Erasable Programmable Read-Only Memory) / EEPROM(Electrically Erasable Programmable Read-Only Memory)(예: 일반적으로 부트 프로그램과 같은 펌웨어에 사용됨)을 포함하지만, 이에 국한되지는 않는다. 휘발성 메모리의 예에는 RAM(Random Access Memory), DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), PCM(Phase Change Memory) 및 디스크나 테이프가 포함되지만 이에 제한되지 않는다.
도 5는 본 문서에 기술된 시스템 및 방법을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 장치(500)의 개략도이다. 도 5는 본 명세서에 설명된 시스템(예, 위치 시스템(200)) 및 방법(예, 방법(400))을 구현하는 데 사용될 수 있는 예적인 컴퓨팅 장치(500)의 개략도이다. 컴퓨팅 장치(500)는 랩톱, 데스크탑, 워크스테이션, 개인용 디지털 보조 장치, 서버, 블레이드 서버, 메인프레임 및 기타 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타내도록 의도된다. 여기에 표시된 컴포넌트들, 이들의 연결 및 관계 및 기능은 예 일 뿐이며 본 명세서에서 설명 및/또는 청구된 발명의 구현을 제한하려는 것이 아니다.
컴퓨팅 장치(500)는 프로세서(510)(예를 들어, 사용자 장치(110)에 상주하는 데이터 프로세싱 하드웨어(116) 및/또는 원격 시스템(130)에 상주하는 원격 데이터 프로세싱 하드웨어(132)), 메모리(520)(예를 들어, 사용자 장치(110)에 상주하는 메모리 하드웨어(118) 및/또는 원격 시스템(130)에 상주하는 원격 메모리 하드웨어(134)), 저장 장치(530), 메모리(520) 및 고속 확장 포트(550)에 연결되는 고속 인터페이스/제어기(제어기)(540) 및 저속 버스(570) 및 저장 장치(530)에 연결되는 저속 인터페이스/제어기(560)를 포함한다. 각각의 컴포넌트(510, 520, 530, 540, 550, 560)는 다양한 버스를 사용하여 상호 연결되고, 공통 마더보드에 또는 적절한 다른 방식으로 장착될 수 있다. 프로세서(510)는 고속 인터페이스(540)에 연결된 디스플레이(570)와 같은 외부 입력/출력 장치에 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 표시하기 위해 메모리(520) 또는 저장 장치(530)에 저장된 명령어를 포함하는, 컴퓨팅 장치(500) 내에서 실행하기 위한 명령어를 프로세싱(프로세싱)할 수 있다. 다른 구현에서, 다중 프로세서 및/또는 다중 버스가 다중 메모리 및 메모리 유형과 함께 적절하게 사용될 수 있다. 또한, 복수의 컴퓨팅 장치(500)는 필요한 동작의 일부를 제공하는 각 장치(예를 들어, 서버 뱅크, 블레이드 서버 그룹 또는 다중 프로세서 시스템)와 연결될 수 있다.
메모리(520)는 컴퓨팅 장치(500) 내에 비-일시적으로 정보를 저장한다. 메모리(520)는 컴퓨터 판독 가능 매체, 휘발성 메모리 유닛(들) 또는 비-휘발성 메모리 유닛(들)일 수 있다. 비-일시적 메모리(520)는 컴퓨팅 장치(500)에 의해 사용하기 위해 일시적 또는 영구적으로 프로그램(예를 들어, 명령어 시퀀스) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는 데 사용되는 물리적 장치일 수 있다. 예적인 비-휘발성 메모리는 플래시 메모리 및 ROM(read-only memory)/PROM(programmable read-only memory)/EPROM(erasable programmable read-only memory)/EEPROM(electronically erasable programmable read-only memory)(예: 일반적으로 부팅 프로그램과 같은 펌웨어에 사용됨) 등을 포함하지만, 이에 국한되지 않는다. 예적인 휘발성 메모리는 RAM(Random Access Memory), DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), PCM(Phase Change Memory) 및 디스크 또는 테이프가 포함되지만 이에 국한되지는 않는다.
저장 장치(530)는 컴퓨팅 장치(500)에 대용량 저장 장치를 제공할 수 있다. 일부 구현에서, 저장 장치(530)는 컴퓨터 판독 가능 매체이다. 다양한 다른 구현에서, 저장 장치(530)는 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치 또는 테이프 장치, 플래시 메모리 또는 기타 유사한 솔리드 스테이트 메모리 장치 또는 저장(스토리지) 영역 네트워크 또는 기타 구성의 장치를 포함하는 장치 어레이일 수 있다. 추가 구현에서, 컴퓨터 프로그램 제품은 정보 매체에 유형적으로 구현된다. 컴퓨터 프로그램 제품에는 실행시 위에서 설명한 것과 같은 하나 이상의 방법을 수행하는 명령어가 포함되어 있다. 정보 매체는 메모리(520), 저장 장치(530) 또는 프로세서(510)상의 메모리와 같은 컴퓨터 또는 기계 판독 가능 매체이다.
고속 제어기(540)는 컴퓨팅 장치(500)에 대한 대역폭 집약적인(bandwidth-intensive) 동작을 관리하는 반면, 저속 제어기(560)는 낮은 대역폭 집약적인 동작을 관리한다. 이러한 업무 할당은 예 일뿐이다. 일부 구현에서, 고속 제어기(540)는 메모리(520), 디스플레이(580)(예를 들어, 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드(미도시)를 수용할 수 있는 고속 확장 포트(550)에 결합된다. 일부 구현에서, 저속 제어기(560)는 저장 장치(530) 및 저속 확장 포트(590)에 결합된다. 다양한 통신 포트(예: USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트(590)는 예를 들어 네트워크 어댑터를 통해, 키보드, 포인팅 장치, 스캐너 또는 스위치 또는 라우터와 같은 네트워킹 장치와 같은 하나 이상의 입력/출력 장치에 연결될 수 있다.
컴퓨팅 장치(500)는 도면에 도시된 바와 같이 복수의 상이한 형태로 구현될 수 있다. 예를 들어, 표준 서버(500a)로서 또는 그러한 서버(500a)의 그룹에서 랩톱 컴퓨터(500b)로서 또는 랙 서버 시스템(500c)의 일부로서 여러번 구현될 수 있다.
여기에 설명된 시스템 및 기술의 다양한 구현은 디지털 전자 및/또는 광학 회로, 집적 회로, 특별히 설계된 ASIC(application specific integrated circuits), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 실현 될 수 있다. 이러한 다양한 구현은 적어도 하나의 프로그램 가능한 프로세서를 포함하는 프로그램 가능한 시스템에서 실행 가능 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램에서의 구현을 포함할 수 있으며, 이는 저장 시스템, 적어도 하나의 입력 장치 및 적어도 하나의 출력 장치로부터 데이터 및 명령어를 수신하고 데이터 및 명령어를 전송하도록 결합된 특수 또는 범용일 수 있다.
이러한 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드라고도 함)은 프로그래밍 가능한 프로세서에 대한 기계 명령어를 포함하며, 하이-레벨 절차 및/또는 객체-지향적 프로그래밍 언어 및/또는 어셈블리/기계 언어로 구현될 수 있다. 여기서 사용된 용어 "기계 판독 가능 매체" 및 "컴퓨터 판독 가능 매체"는 기계 판독 가능 신호로서 기계 명령어를 수신하는 기계 판독 가능 매체를 포함하는, 컴퓨터 프로그램 제품, 비-일시적 컴퓨터 판독 가능 매체, 프로그래밍 가능 프로세서에 기계 명령어 및/또는 데이터를 제공하는 데 사용되는 장치 및/또는 디바이스(예: 자기 디스크, 광학 디스크, 메모리, PLD(Programmable Logic Devices))를 나타낸다. 용어 "기계 판독 가능 신호"는 기계 명령어 및/또는 데이터를 프로그래밍 가능 프로세서에 제공하는 데 사용되는 모든 신호를 의미한다.
본 명세서에 설명된 프로세스 및 로직 흐름은 데이터 프로세싱 하드웨어라고도하는 하나 이상의 프로그래밍 가능 프로세서에 의해 수행될 수 있으며, 하나 이상의 컴퓨터 프로그램을 실행하여 입력 데이터를 조작하고 출력을 생성함으로써 기능을 수행할 수 있다. 프로세스 및 로직 흐름은 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)와 같은 특수 목적 로직 회로에 의해 수행될 수도 있다. 컴퓨터 프로그램의 실행에 적합한 프로세서는 예를 들어 범용 및 특수 목적의 마이크로폰로 프로세서와 모든 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로 프로세서는 읽기 전용 메모리나 랜덤 액세스 메모리 또는 둘 다에서 명령어와 데이터를 수신한다. 컴퓨터의 필수 요소는 명령어를 수행하기 위한 프로세서와 명령어와 데이터를 저장하기 위한 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치, 예를 들어 자기, 광 자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 데이터를 전송하거나 둘 모두를 포함하거나 작동 가능하게 결합된다. 그러나 컴퓨터는 이러한 장치가 필요하지 않다. 컴퓨터 프로그램 명령어 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는, 예를 들어, EPROM, EEPROM 및 플래시 메모리 장치와 같은 반도체 메모리 장치, 내부 하드 디스크 또는 이동식 디스크와 같은 자기 디스크, 광 자기 디스크; 및 CD ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비-휘발성 메모리, 미디어 및 메모리 장치를 포함한다. 프로세서와 메모리는 특수 목적 로직(논리) 회로에 의해 보완되거나 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서 내용의 하나 이상의 양태는 디스플레이 장치, 예를 들어 CRT(음극선 관), LCD(액정 디스플레이) 모니터 또는 사용자에게 정보를 표시하기 위한 터치 스크린과 같은 디스플레이 장치, 및 선택적으로 키보드 및 포인팅 장치(예를 들어, 사용자가 컴퓨터에 입력을 제공할 수 있는 마우스 또는 트랙볼)를 갖는 컴퓨터상에서 구현될 수 있다. 사용자와의 상호 작용을 제공하기 위해 다른 종류의 장치도 사용할 수 있다. 예를 들어, 사용자에게 제공되는 피드백은 예를 들어 시각적 피드백, 청각적 피드백 또는 촉각적 피드백과 같은 모든 형태의 감각 피드백 일 수 있으며, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함한 모든 형태로 수신될 수 있다. 또한 컴퓨터는 사용자가 사용하는 장치로 문서를 전송하고 장치에서 문서를 수신함으로써, 예를 들어 웹 브라우저에서 수신한 요청에 대한 응답으로 사용자 클라이언트 장치의 웹 브라우저에 웹 페이지를 전송함으로써 사용자와 상호 작용할 수 있다.
많은 구현이 설명되었다. 그럼에도 불구하고, 본 명세서의 사상 및 범위를 벗어나지 않고 다양한 변형이 이루어질 수 있음을 이해할 것이다. 따라서, 다른 구현은 다음 청구항의 범위 내에 있다.

Claims (28)

  1. 방법(300)으로서,
    데이터 프로세싱 하드웨어(510)에서, 사용자에 의해 발언되고 그리고 상기 사용자와 연관된 사용자 장치(102)에 의해 캡처된 발화(119)에 대응하는 오디오 데이터(120)를 수신하는 단계;
    상기 데이터 프로세싱 하드웨어(510)에 의해, 음성 인식기(200)를 사용하여, 상기 발화(119)가 동작을 수행하기 위한 디지털 어시스턴트(109)에 대한 쿼리(122)를 포함하는지 결정하도록 상기 오디오 데이터(120)를 프로세싱하는 단계 -상기 음성 인식기(200)는 상기 오디오 데이터(120)에서 비음성의 미리결정된 기간 후에 상기 발화(119)의 엔드포인팅(endpointing)을 트리거하도록 구성됨-; 그리고
    상기 오디오 데이터(120)에서 상기 비음성의 미리결정된 기간 전에:
    상기 데이터 프로세싱 하드웨어(510)에 의해, 상기 오디오 데이터(120)에서 프리즈 워드(123)를 검출하는 단계 -상기 프리즈 워드(123)는 상기 사용자에 의해 발언되고 그리고 상기 사용자 장치(102)에 의해 캡처된 발화(119)의 쿼리(122) 뒤에 오는 워드임-; 그리고
    상기 오디오 데이터(120)에서 프리즈 워드(123)를 검출한 것에 응답하여, 상기 데이터 프로세싱 하드웨어(510)에 의해, 상기 사용자 장치(102)가 상기 프리즈 워드(123)에 후속하는 임의의 오디오를 캡처하는 것을 방지하도록 상기 사용자 장치(102)에서 하드 마이크로폰 폐쇄 이벤트(125)를 트리거하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 프리즈 워드(123)는,
    소정의 언어의 모든 사용자에 대한 하나 이상의 고정된 용어를 포함하는 미리정의된 프리즈 워드(123);
    상기 사용자 장치(102)의 사용자에 의해 지정된 하나 이상의 용어를 포함하는 사용자에 의해 선택된 프리즈 워드(123); 또는
    상기 디지털 어시스턴트(109)에 의해 수행될 동작과 연관된 액션-특정 프리즈 워드(123) 중, 하나를 포함하는 것을 특징으로 하는 방법.
  3. 제1항 또는 제2항에 있어서, 오디오 데이터(120)에서 프리즈 워드(123)를 검출하는 단계는,
    상기 오디오 데이터(120)로부터 오디오 특징을 추출하는 단계;
    프리즈 워드 검출 모델(160)을 사용하여, 상기 추출된 오디오 특징을 프로세싱하여 프리즈 워드 신뢰도 점수를 생성하는 단계 -상기 프리즈 워드 검출 모델(160)은 상기 데이터 프로세싱 하드웨어(510)에서 실행됨-; 그리고
    상기 프리즈 워드 신뢰도 점수가 프리즈 워드(123) 신뢰도 임계값을 만족할 때 상기 발화(119)에 대응하는 오디오 데이터(120)가 상기 프리즈 워드(123)를 포함한다고 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 오디오 데이터(120)에서 프리즈 워드(123)를 검출하는 단계는 데이터 프로세싱 하드웨어(510)에서 실행하는 음성 인식기(200)를 사용하여, 상기 오디오 데이터(120)에서 상기 프리즈 워드(123)를 인식하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 방법은,
    상기 오디오 데이터(120)에서 프리즈 워드(123)를 검출한 것에 응답하여:
    상기 데이터 프로세싱 하드웨어(510)에 의해, 상기 오디오 데이터(120)에 대한 활성 프로세싱을 중단하도록 음성 인식기(200)에 지시하는 단계; 그리고
    상기 데이터 프로세싱 하드웨어(510)에 의해, 상기 동작의 수행을 이행하도록 디지털 어시스턴트(109)에 지시하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 발화(119)가 동작을 수행하기 위한 디지털 어시스턴트(109)에 대한 쿼리(122)를 포함하는지 결정하도록 상기 오디오 데이터(120)를 프로세싱하는 단계는,
    상기 음성 인식기(200)를 사용하여, 상기 오디오 데이터(120)에 대한 음성 인식 결과(215)를 생성하도록 상기 오디오 데이터(120)를 프로세싱하는 단계; 그리고
    상기 오디오 데이터(120)가 상기 동작을 수행하기 위한 쿼리(122)를 포함하는지를 결정하도록 상기 오디오 데이터(120)에 대한 상기 음성 인식 결과(215)에 대해 의미론적 해석을 수행하는 단계를 포함하는 것을 특징으로 하는 방법.
  7. 제6항에 있어서, 상기 방법은,
    상기 오디오 데이터(120)에서 프리즈 워드(123)를 검출한 것에 응답하여:
    상기 데이터 프로세싱 하드웨어(510)에 의해, 상기 음성 인식 결과(215)로부터 프리즈 워드(123)를 스트립(strip)함으로써 상기 오디오 데이터(120)에 대한 음성 인식 결과(215)를 수정하는 단계; 그리고
    상기 데이터 프로세싱 하드웨어(510)에 의해, 상기 수정된 음성 인식 결과(215)를 사용하여, 쿼리(122)에 의해 요청된 동작을 수행하도록 디지털 어시스턴트(109)에 지시하는 단계를 포함하는 것을 특징으로 하는 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서, 상기 방법은, 상기 음성 인식기(200)를 사용하여 오디오 데이터(120)를 프로세싱하기 전에:
    상기 데이터 프로세싱 하드웨어(510)에 의해, 핫워드 검출 모델(150)을 사용하여, 상기 오디오 데이터(120)에서 상기 쿼리(122)에 선행하는 핫워드(121)를 검출하는 단계; 그리고
    상기 핫워드(121)를 검출하는 것에 응답하여, 상기 데이터 프로세싱 하드웨어(510)에 의해, 오디오 데이터(120)에서 상기 핫워드(121)에 뒤따르는 하나 이상의 용어 및/또는 핫워드(121)에 대해 음성 인식을 수행함으로써 상기 오디오 데이터(120)를 프로세싱하도록 음성 인식기(200)를 트리거하는 단계를 포함하는 것을 특징으로 하는 방법.
  9. 제8항에 있어서, 상기 방법은,
    상기 데이터 프로세싱 하드웨어(510)에 의해, 상기 오디오 데이터(120)에서 상기 프리즈 워드(123)를 검출하는 것에 기초하여 상기 핫워드 검출 모델(150)에 의해 검출된 핫워드(121)의 존재를 검증하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  10. 제8항 또는 제9항에 있어서, 오디오 데이터(120)에서 프리즈 워드(123)를 검출하는 단계는,
    상기 오디오 데이터(120)에 대한 음성 인식을 수행하지 않고 상기 오디오 데이터(120)에서 프리즈 워드(123)를 검출하도록 구성된 상기 데이터 프로세싱 하드웨어(510)에서 프리즈 워드 검출 모델(160)을 실행하는 단계를 포함하며; 그리고
    상기 프리즈 워드 검출 모델(160) 및 핫워드 검출 모델(150)은 각각 동일하거나 상이한 신경망 기반 모델을 포함하는 것을 특징으로 하는 방법.
  11. 방법(400)으로서,
    데이터 프로세싱 하드웨어(510)에서, 디지털 어시스턴트(109)가 사용자가 발언한 가청 콘텐츠(124)를 구술(dictate)하기 위한 구술 기반 쿼리(122)에 대응하는 오디오 데이터(120)의 제1 인스턴스를 수신하는 단계 -상기 구술 기반 쿼리(122)는 사용자에 의해 발언되고 그리고 사용자와 연관된 어시스턴트 가능 장치에 의해 캡처됨-;
    상기 데이터 프로세싱 하드웨어(510)에서, 사용자에 의해 발언되고 그리고 상기 어시스턴트 가능 장치에 의해 캡처된 가청 콘텐츠(124)의 발화(119)에 대응하는 오디오 데이터(120)의 제2 인스턴스를 수신하는 단계;
    상기 데이터 프로세싱 하드웨어(510)에 의해, 음성 인식기(200)를 사용하여, 상기 가청 콘텐츠(124)의 전사(225)를 생성하도록 상기 오디오 데이터(120)의 제2 인스턴스를 프로세싱하는 단계; 그리고
    상기 오디오 데이터(120)의 제2 인스턴스를 프로세싱하는 동안:
    상기 데이터 프로세싱 하드웨어(510)에 의해, 상기 오디오 데이터(120)의 제2 인스턴스에서 프리즈 워드(123)를 검출하는 단계 -상기 프리즈 워드(123)는 사용자에 의해 발언되고 그리고 상기 어시스턴트 가능 장치에 의해 캡처된 발화(119)의 가청 콘텐츠(124) 다음에 오는 워드임-; 그리고
    상기 오디오 데이터(120)의 제2 인스턴스에서 프리즈 워드(123)를 검출한 것에 응답하여, 상기 데이터 프로세싱 하드웨어(510)에 의해, 상기 어시스턴트 가능 장치로부터의 출력을 위해, 상기 사용자가 발언한 가청 콘텐츠(124)의 전사(225)를 제공하는 단계를 포함하는 것을 특징으로 하는 방법.
  12. 제11항에 있어서, 상기 방법은, 오디오 데이터(120)의 제2 인스턴스에서 프리즈 워드(123)를 검출한 것에 응답하여:
    상기 데이터 프로세싱 하드웨어(510)에 의해, 상기 어시스턴트 가능 장치가 상기 프리즈 워드(123)에 후속하는 임의의 오디오를 캡처하는 것을 방지하도록 상기 어시스턴트 가능 장치에서 하드 마이크로폰 폐쇄 이벤트(125)를 개시하는 단계;
    상기 데이터 프로세싱 하드웨어(510)에 의해, 상기 오디오 데이터(120)의 제2 인스턴스에 대한 활성 프로세싱을 중단하는 단계; 그리고
    상기 어시스턴트 가능 장치로부터의 출력을 위해 상기 가청 콘텐츠(124)의 전사(225)를 제공하기 전에, 상기 데이터 프로세싱 하드웨어(510)에 의해, 상기 전사(225)의 끝에서 상기 프리즈 워드(123)를 스트립(strip)하는 단계를 포함하는 것을 특징으로 하는 방법.
  13. 제11항 또는 제12항에 있어서, 상기 방법은,
    상기 데이터 프로세싱 하드웨어(510)에 의해, 음성 인식기(200)를 사용하여, 음성 인식 결과(215)를 생성하도록 상기 오디오 데이터(120)의 제1 인스턴스를 프로세싱하는 단계; 그리고
    상기 데이터 프로세싱 하드웨어(510)에 의해, 상기 오디오 데이터(120)의 제1 인스턴스가 사용자에 의해 발언된 가청 콘텐츠(124)를 구술하기 위한 구술 기반 쿼리(122)를 포함하는지를 결정하도록 상기 오디오 데이터(120)의 제1 인스턴스에 대한 음성 인식 결과(215)에 대해 의미론적 해석을 수행하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  14. 제13항에 있어서, 상기 방법은,
    전사(225)를 생성하도록 오디오 데이터(120)의 제2 인스턴스에 대한 프로세싱을 개시하기 전에:
    상기 데이터 프로세싱 하드웨어(510)에 의해, 구술 기반 쿼리(122)가 오디오 데이터(120)의 제1 인스턴스에 대한 음성 인식 결과(215)에 대해 수행된 의미론적 해석에 기초하여 프리즈 워드(123)를 지정한다고 결정하는 단계; 그리고
    상기 데이터 프로세싱 하드웨어(510)에 의해, 가청 콘텐츠(124)의 발화(119)를 엔드포인팅하기 위한 엔드포인팅 타임아웃 기간을 증가시키도록 엔드포인터(230)에 지시하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  15. 시스템(100)으로서,
    데이터 프로세싱 하드웨어(510); 그리고
    상기 데이터 프로세싱 하드웨어(510)와 통신하는 메모리 하드웨어(520)를 포함하며, 메모리 하드웨어(520)는 데이터 프로세싱 하드웨어(510)에서 실행될 때 데이터 프로세싱 하드웨어(510)로 하여금 단계들을 수행하게 하는 명령어를 저장하며; 상기 단계들은,
    사용자에 의해 발언되고 그리고 사용자와 연관된 사용자 장치(102)에 의해 캡처된 발화(119)에 대응하는 오디오 데이터(120)를 수신하는 단계;
    음성 인식기(200)를 사용하여, 상기 발화(119)가 동작을 수행하기 위한 디지털 어시스턴트(109)에 대한 쿼리(122)를 포함하는지 결정하도록 오디오 데이터(120)를 프로세싱하는 단계 -상기 음성 인식기(200)는 오디오 데이터(120)에서 비음성의 미리결정된 기간 후에 발화(119)의 엔드포인팅을 트리거하도록 구성됨-; 그리고
    오디오 데이터(120)에서 비음성의 미리결정된 기간 전에:
    오디오 데이터(120)에서 프리즈 워드(123)를 검출하는 단계 -상기 프리즈 워드(123)는 사용자에 의해 발언되고 그리고 사용자 장치(102)에 의해 캡처된 발화(119) 내의 쿼리(122) 다음에 오는 워드임-; 그리고
    오디오 데이터(120)에서 프리즈 워드(123)를 검출한 것에 응답하여, 상기 사용자 장치(102)가 상기 프리즈 워드(123)에 후속하는 임의의 오디오를 캡처하는 것을 방지하도록 상기 사용자 장치(102)에서 하드 마이크로폰 폐쇄 이벤트(125)를 트리거하는 단계를 포함하는 것을 특징으로 하는 시스템.
  16. 제15항에 있어서, 상기 프리즈 워드(123)는,
    소정의 언어의 모든 사용자에 대한 하나 이상의 고정된 용어를 포함하는 미리정의된 프리즈 워드(123);
    상기 사용자 장치(102)의 사용자에 의해 지정된 하나 이상의 용어를 포함하는 사용자에 의해 선택된 프리즈 워드(123); 또는
    디지털 어시스턴트(109)에 의해 수행될 동작과 연관된 액션-특정 프리즈 워드(123) 중, 하나를 포함하는 것을 특징으로 하는 시스템.
  17. 제15항 또는 제16항에 있어서, 오디오 데이터(120)에서 프리즈 워드(123)를 검출하는 단계는,
    상기 오디오 데이터(120)로부터 오디오 특징을 추출하는 단계;
    프리즈 워드 검출 모델(160)을 사용하여, 상기 추출된 오디오 특징을 프로세싱하여 프리즈 워드 신뢰도 점수를 생성하는 단계 -상기 프리즈 워드 검출 모델(160)은 상기 데이터 프로세싱 하드웨어(510)에서 실행됨-; 그리고
    상기 프리즈 워드 신뢰도 점수가 프리즈 워드(123) 신뢰도 임계값을 만족할 때 상기 발화(119)에 대응하는 오디오 데이터(120)가 상기 프리즈 워드(123)를 포함한다고 결정하는 단계를 포함하는 것을 특징으로 하는 시스템.
  18. 제15항 내지 제17항 중 어느 한 항에 있어서, 오디오 데이터(120)에서 프리즈 워드(123)를 검출하는 단계는 데이터 프로세싱 하드웨어(510)에서 실행하는 음성 인식기(200)를 사용하여, 상기 오디오 데이터(120)에서 상기 프리즈 워드(123)를 인식하는 단계를 포함하는 것을 특징으로 하는 시스템.
  19. 제15항 내지 제18항 중 어느 한 항에 있어서, 상기 단계들은, 상기 오디오 데이터(120)에서 프리즈 워드(123)를 검출한 것에 응답하여:
    상기 오디오 데이터(120)에 대한 활성 프로세싱을 중단하도록 음성 인식기(200)에 지시하는 단계; 그리고
    상기 동작의 수행을 이행하도록 디지털 어시스턴트(109)에 지시하는 단계를 더 포함하는 것을 특징으로 하는 시스템.
  20. 제15항 내지 제19항 중 어느 한 항에 있어서, 상기 발화(119)가 동작을 수행하기 위한 디지털 어시스턴트(109)에 대한 쿼리(122)를 포함하는지 결정하도록 상기 오디오 데이터(120)를 프로세싱하는 단계는,
    상기 음성 인식기(200)를 사용하여, 상기 오디오 데이터(120)에 대한 음성 인식 결과(215)를 생성하도록 상기 오디오 데이터(120)를 프로세싱하는 단계; 그리고
    상기 오디오 데이터(120)가 상기 동작을 수행하기 위한 쿼리(122)를 포함하는지를 결정하도록 상기 오디오 데이터(120)에 대한 상기 음성 인식 결과(215)에 대해 의미론적 해석을 수행하는 단계를 포함하는 것을 특징으로 하는 시스템.
  21. 제20항에 있어서, 상기 단계들은, 상기 오디오 데이터(120)에서 프리즈 워드(123)를 검출한 것에 응답하여:
    상기 음성 인식 결과(215)로부터 프리즈 워드(123)를 스트립(strip)함으로써 상기 오디오 데이터(120)에 대한 음성 인식 결과(215)를 수정하는 단계; 그리고
    상기 수정된 음성 인식 결과(215)를 사용하여, 쿼리(122)에 의해 요청된 동작을 수행하도록 디지털 어시스턴트(109)에 지시하는 단계를 포함하는 것을 특징으로 하는 시스템.
  22. 제15항 내지 제21항 중 어느 한 항에 있어서, 상기 단계들은, 상기 음성 인식기(200)를 사용하여 오디오 데이터(120)를 프로세싱하기 전에:
    핫워드 검출 모델(150)을 사용하여, 상기 오디오 데이터(120)에서 상기 쿼리(122)에 선행하는 핫워드(121)를 검출하는 단계; 그리고
    상기 핫워드(121)를 검출하는 것에 응답하여, 오디오 데이터(120)에서 상기 핫워드(121)에 뒤따르는 하나 이상의 용어 및/또는 핫워드(121)에 대해 음성 인식을 수행함으로써 상기 오디오 데이터(120)를 프로세싱하도록 음성 인식기(200)를 트리거하는 단계를 포함하는 것을 특징으로 하는 시스템.
  23. 제22항에 있어서, 상기 단계들은,
    상기 오디오 데이터(120)에서 상기 프리즈 워드(123)를 검출하는 것에 기초하여 상기 핫워드 검출 모델(150)에 의해 검출된 핫워드(121)의 존재를 검증하는 단계를 더 포함하는 것을 특징으로 하는 시스템.
  24. 제22항 또는 제23항에 있어서, 오디오 데이터(120)에서 프리즈 워드(123)를 검출하는 단계는,
    상기 오디오 데이터(120)에 대한 음성 인식을 수행하지 않고 상기 오디오 데이터(120)에서 프리즈 워드(123)를 검출하도록 구성된 데이터 프로세싱 하드웨어(510)에서 프리즈 워드 검출 모델(160)을 실행하는 단계를 포함하며; 그리고
    상기 프리즈 워드 검출 모델(160) 및 핫워드 검출 모델(150)은 각각 동일하거나 상이한 신경망 기반 모델을 포함하는 것을 특징으로 하는 시스템.
  25. 시스템(100)으로서,
    데이터 프로세싱 하드웨어(510); 그리고
    데이터 프로세싱 하드웨어(510)와 통신하는 메모리 하드웨어(520)를 포함하며, 메모리 하드웨어(520)는 데이터 프로세싱 하드웨어(510)에서 실행될 때 데이터 프로세싱 하드웨어(510)로 하여금 단계들을 수행하게 하는 명령어를 저장하며; 상기 단계들은,
    디지털 어시스턴트(109)가 사용자가 발언한 가청 콘텐츠(124)를 구술(dictate)하기 위한 구술 기반 쿼리(122)에 대응하는 오디오 데이터(120)의 제1 인스턴스를 수신하는 단계 -상기 구술 기반 쿼리(122)는 사용자에 의해 발언되고 그리고 사용자와 연관된 어시스턴트 가능 장치에 의해 캡처됨-;
    사용자에 의해 발언되고 그리고 상기 어시스턴트 가능 장치에 의해 캡처된 가청 콘텐츠(124)의 발화(119)에 대응하는 오디오 데이터(120)의 제2 인스턴스를 수신하는 단계;
    음성 인식기(200)를 사용하여, 상기 가청 콘텐츠(124)의 전사(225)를 생성하도록 상기 오디오 데이터(120)의 제2 인스턴스를 프로세싱하는 단계; 그리고
    상기 오디오 데이터(120)의 제2 인스턴스를 프로세싱하는 동안:
    상기 오디오 데이터(120)의 제2 인스턴스에서 프리즈 워드(123)를 검출하는 단계 -상기 프리즈 워드(123)는 사용자에 의해 발언되고 그리고 상기 어시스턴트 가능 장치에 의해 캡처된 발화(119)의 가청 콘텐츠(124) 다음에 오는 워드임-; 그리고
    상기 오디오 데이터(120)의 제2 인스턴스에서 프리즈 워드(123)를 검출한 것에 응답하여, 상기 어시스턴트 가능 장치로부터의 출력을 위해, 상기 사용자가 발언한 가청 콘텐츠(124)의 전사(225)를 제공하는 단계를 포함하는 것을 특징으로 하는 시스템.
  26. 제25항에 있어서, 상기 단계들은, 오디오 데이터(120)의 제2 인스턴스에서 프리즈 워드(123)를 검출한 것에 응답하여:
    상기 어시스턴트 가능 장치가 상기 프리즈 워드(123)에 후속하는 임의의 오디오를 캡처하는 것을 방지하도록 상기 어시스턴트 가능 장치에서 하드 마이크로폰 폐쇄 이벤트(125)를 개시하는 단계;
    상기 오디오 데이터(120)의 제2 인스턴스에 대한 활성 프로세싱을 중단하는 단계; 그리고
    상기 어시스턴트 가능 장치로부터의 출력을 위해 상기 가청 콘텐츠(124)의 전사(225)를 제공하기 전에, 상기 전사(225)의 끝에서 상기 프리즈 워드(123)를 스트립(strip)하는 단계를 포함하는 것을 특징으로 하는 시스템.
  27. 제25항 또는 제26항에 있어서, 상기 단계들은,
    음성 인식기(200)를 사용하여, 음성 인식 결과(215)를 생성하도록 상기 오디오 데이터(120)의 제1 인스턴스를 프로세싱하는 단계; 그리고
    상기 오디오 데이터(120)의 제1 인스턴스가 사용자에 의해 발언된 가청 콘텐츠(124)를 구술하기 위한 구술 기반 쿼리(122)를 포함하는지를 결정하도록 상기 오디오 데이터(120)의 제1 인스턴스에 대한 음성 인식 결과(215)에 대해 의미론적 해석을 수행하는 단계를 더 포함하는 것을 특징으로 하는 시스템.
  28. 제27항에 있어서, 상기 단계들은,
    전사(225)를 생성하도록 오디오 데이터(120)의 제2 인스턴스에 대한 프로세싱을 개시하기 전에:
    구술 기반 쿼리(122)가 오디오 데이터(120)의 제1 인스턴스에 대한 음성 인식 결과(215)에 대해 수행된 의미론적 해석에 기초하여 프리즈 워드(123)를 지정한다고 결정하는 단계; 그리고
    가청 콘텐츠(124)의 발화(119)를 엔드포인팅하기 위한 엔드포인팅 타임아웃 기간을 증가시키도록 엔드포인터(230)에 지시하는 단계를 더 포함하는 것을 특징으로 하는 시스템.
KR1020237022674A 2020-12-08 2021-11-17 프리즈 워드 KR20230116908A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/115,742 2020-12-08
US17/115,742 US11688392B2 (en) 2020-12-08 2020-12-08 Freeze words
PCT/US2021/059775 WO2022125283A1 (en) 2020-12-08 2021-11-17 Freeze words

Publications (1)

Publication Number Publication Date
KR20230116908A true KR20230116908A (ko) 2023-08-04

Family

ID=78844579

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237022674A KR20230116908A (ko) 2020-12-08 2021-11-17 프리즈 워드

Country Status (6)

Country Link
US (2) US11688392B2 (ko)
EP (1) EP4241269A1 (ko)
JP (1) JP2023552799A (ko)
KR (1) KR20230116908A (ko)
CN (1) CN116615779A (ko)
WO (1) WO2022125283A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11688392B2 (en) * 2020-12-08 2023-06-27 Google Llc Freeze words
EP4231269A1 (en) * 2022-02-21 2023-08-23 Infrasoft Technologies Limited Gesture simulated interactive environment

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757362B1 (en) 2000-03-06 2004-06-29 Avaya Technology Corp. Personal virtual assistant
US20130275899A1 (en) * 2010-01-18 2013-10-17 Apple Inc. Application Gateway for Providing Different User Interfaces for Limited Distraction and Non-Limited Distraction Contexts
US9704486B2 (en) * 2012-12-11 2017-07-11 Amazon Technologies, Inc. Speech recognition power management
DE212014000045U1 (de) * 2013-02-07 2015-09-24 Apple Inc. Sprach-Trigger für einen digitalen Assistenten
US20170069309A1 (en) * 2015-09-03 2017-03-09 Google Inc. Enhanced speech endpointing
CN107656923A (zh) 2017-10-13 2018-02-02 深圳市沃特沃德股份有限公司 语音翻译方法和装置
US10679621B1 (en) * 2018-03-21 2020-06-09 Amazon Technologies, Inc. Speech processing optimizations based on microphone array
US10847153B2 (en) * 2018-06-06 2020-11-24 Amazon Technologies, Inc. Temporary account association with voice-enabled devices
WO2020160683A1 (en) * 2019-02-07 2020-08-13 Thomas Stachura Privacy device for smart speakers
US11475880B2 (en) * 2019-04-16 2022-10-18 Google Llc Joint endpointing and automatic speech recognition
US11437043B1 (en) * 2019-12-12 2022-09-06 Amazon Technologies, Inc. Presence data determination and utilization
US11917384B2 (en) * 2020-03-27 2024-02-27 Magic Leap, Inc. Method of waking a device using spoken voice commands
US11688392B2 (en) * 2020-12-08 2023-06-27 Google Llc Freeze words

Also Published As

Publication number Publication date
US20220180862A1 (en) 2022-06-09
CN116615779A (zh) 2023-08-18
US20230298575A1 (en) 2023-09-21
EP4241269A1 (en) 2023-09-13
WO2022125283A1 (en) 2022-06-16
JP2023552799A (ja) 2023-12-19
US11688392B2 (en) 2023-06-27

Similar Documents

Publication Publication Date Title
US11823670B2 (en) Activation trigger processing
US11361768B2 (en) Utterance classifier
EP3577645B1 (en) End of query detection
US9805715B2 (en) Method and system for recognizing speech commands using background and foreground acoustic models
US20230298575A1 (en) Freeze Words
US10929754B2 (en) Unified endpointer using multitask and multidomain learning
US20230298588A1 (en) Hotphrase Triggering Based On A Sequence Of Detections
US20230223014A1 (en) Adapting Automated Speech Recognition Parameters Based on Hotword Properties
US20230113883A1 (en) Digital Signal Processor-Based Continued Conversation
KR20240033006A (ko) 소프트 핫워드로 자동 스피치 인식
WO2024107339A1 (en) Short-lived repeat voice commands