KR20230109711A - 자동 스피치 인식 프로세싱 결과 감쇠 - Google Patents

자동 스피치 인식 프로세싱 결과 감쇠 Download PDF

Info

Publication number
KR20230109711A
KR20230109711A KR1020237020588A KR20237020588A KR20230109711A KR 20230109711 A KR20230109711 A KR 20230109711A KR 1020237020588 A KR1020237020588 A KR 1020237020588A KR 20237020588 A KR20237020588 A KR 20237020588A KR 20230109711 A KR20230109711 A KR 20230109711A
Authority
KR
South Korea
Prior art keywords
asr
processing
level
audio stream
microphone
Prior art date
Application number
KR1020237020588A
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 KR20230109711A publication Critical patent/KR20230109711A/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/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

스피치 프로세싱을 감쇠시키는 방법(300)은 보이스 지원 디바이스(110)에서, 스피치를 통해 디바이스와의 가능한 상호작용을 나타내는 마이크로폰 트리거 이벤트(202)의 표시를 수신하는 단계를 포함하며, 여기서 디바이스는 오픈 시, 스피치를 캡처하도록 구성된 마이크로폰(116)을 가진다. 마이크로폰 트리거 이벤트의 표시를 수신하는 것에 응답하여, 방법은 또한 오디오 스트림(16)을 캡처하기 위해 지속시간 윈도우(212) 동안 오픈되거나 오픈된 상태를 유지하도록 마이크로폰에 지시하는 단계 및 오픈 마이크로폰에 의해 캡처된 오디오 스트림을 스피치 인식 시스템(150)에 제공하는 단계를 포함한다. 지속시간 윈도우 동안, 방법은 지속시간 윈도우의 함수에 기반하여 스피치 인식 프로세싱의 레벨(222)을 감쇠시키는 단계(222) 및 오디오 스트림을 통해 스피치 인식 프로세싱의 감쇠된 레벨(204, 222)을 사용하도록 스피치 인식 시스템에 지시하는 단계를 더 포함한다.

Description

자동 스피치 인식 프로세싱 결과 감쇠
본 개시는 자동 스피치 인식 결과들을 감쇠시키는 것에 관한 것이다.
사용자는 디지털 어시스턴트 인터페이스들을 통해, 스마트폰, 스마트 시계 및 스마트 스피커와 같은 보이스 지원 디바이스들과 자주 상호작용한다. 이러한 디지털 어시스턴트 인터페이스들은 사용자들로 하여금 자연스러운 대화형 상호작용들을 통해 작업을 완료하고 질문에 대한 답변을 얻을 수 있게 한다.
이상적으로는, 디지털 어시스턴트 인터페이스와 대화할 때, 사용자는 디지털 어시스턴트 인터페이스를 실행하는 보이스 지원 디바이스를 향한 음성 요청들을 통해 사용자가 다른 사람과 대화하는 것처럼 통신할 수 있어야 한다. 디지털 어시스턴트 인터페이스는 자동 스피치 인식기에 이러한 음성 요청들을 제공하여 액션이 수행될 수 있도록 음성 요청을 프로세싱하고 인식한다. 그러나 실제로는 스마트폰이나 스마트 워치와 같이 리소스가 제한된 보이스 지원 디바이스에서 스피치 인식을 지속적으로 실행하는 데 엄청나게 비용이 많이 들기 때문에 디바이스가 이러한 음성 요청들에 항상 응답하는 것은 어려운 일이다.
본 개시의 일 양태는 자동 스피치 인식 프로세싱을 감쇠시키는 방법을 제공한다. 이 방법에는 보이스 지원 디바이스의 데이터 프로세싱 하드웨어에서, 스피치를 통해 보이스 지원 디바이스와의 가능한 사용자 상호작용을 나타내는 마이크로폰 트리거 이벤트의 표시를 수신하는 단계를 포함하고, 여기서 보이스 지원 디바이스는 오픈 시, 자동 스피치 인식(ASR) 시스템에 의한 인식을 위해 스피치를 캡처하도록 구성된 마이크로폰을 가진다. 마이크로폰 트리거 이벤트의 표시를 수신하는 것에 응답하여, 방법은 또한 데이터 프로세싱 하드웨어에 의해, 보이스 지원 디바이스의 환경에서 오디오 스트림을 캡처하기 위해 오픈 마이크로폰 지속시간 윈도우 동안 오픈되거나 오픈된 상태를 유지하도록 마이크로폰에 지시하는 단계 및 데이터 프로세싱 하드웨어에 의해 오픈 마이크로폰에 의해 캡처된 오디오 스트림을 ASR 시스템에 제공하여 오디오 스트림에 대한 ASR 프로세싱을 수행하는 단계를 포함한다. ASR 시스템이 오픈 마이크로폰에 의해 캡처된 오디오 스트림에 대한 ASR 프로세싱을 수행하는 동안, 방법은 추가로 데이터 프로세싱 하드웨어에 의해 ASR 시스템이 오픈 마이크로폰 지속시간 윈도우의 함수에 기반하여 오디오 스트림에 대해 수행하는 ASR 프로세싱의 레벨을 감쇠시키는 단계 및 데이터 프로세싱 하드웨어에 의해 오픈 마이크로폰에 의해 캡처된 오디오 스트림에 대한 ASR 프로세싱의 감쇠된 레벨을 사용하도록 ASR 시스템에 지시하는 단계를 포함한다.
일부 예들에서, ASR 시스템이 오픈 마이크로폰에 의해 캡처된 오디오 스트림에 대한 ASR 프로세싱을 수행하는 동안, 방법은 또한 데이터 프로세싱 하드웨어에 의해 오픈 마이크로폰에 의해 캡처된 오디오 스트림에서 보이스 활동이 검출되는지 여부를 결정하는 단계를 포함한다. 이 예들에서, ASR 시스템이 오디오 스트림에 대해 수행하는 ASR 프로세싱의 레벨을 감쇠시키는 단계는 오디오 스트림에서 보이스 활동이 검출되는지 여부에 대한 결정에 더 기반한다. 일부 구현예들에서, 방법은 마이크로폰 트리거 이벤트의 표시가 수신될 때 데이터 프로세싱 하드웨어에 의해 현재 컨텍스트를 획득하는 단계를 더 포함한다. 이러한 구현예들에서, ASR 프로세싱의 감쇠된 레벨을 사용하도록 ASR 시스템에 지시하는 단계는 현재 컨텍스트에 기반하여 스피치 인식 결과를 바이어스하도록 ASR 시스템에 지시하는 단계를 포함한다. 일부 구성들에서, 오디오 스트림에 대한 ASR 프로세싱의 감쇠된 레벨을 사용하도록 ASR 시스템에 지시하는 단계 이후, 방법은 데이터 프로세싱 하드웨어에서, ASR 시스템에 의해 출력된 보이스 쿼리에 대한 스피치 인식 결과에 대한 신뢰도가 신뢰도 임계값을 만족하지 못한다는 표시를 수신하는 단계 및 데이터 프로세싱 하드웨어에 의해 ASR 시스템에 ASR 프로세싱 레벨을 감쇠된 레벨에서 증가하도록 그리고 ASR 프로세싱의 증가된 레벨을 사용하여 보이스 쿼리를 리프로세싱하도록 지시하는 단계를 더 포함한다. 일부 구현예들에서, ASR 시스템이 오픈 마이크로폰에 의해 캡처된 오디오 스트림에 대한 ASR 프로세싱을 수행하는 동안, 데이터 프로세싱 하드웨어에 의해, 오픈 마이크로폰 지속시간의 함수에 기반하여 ASR이 오디오 스트림에 대해 수행하는 ASR 프로세싱의 감쇠된 레벨이 0과 동일한 시점을 결정하고, ASR 프로세싱의 감쇠된 레벨이 0과 동일할 때 데이터 프로세싱 하드웨어에 의해 마이크로폰이 클로즈되도록 지시한다. 선택적으로, 방법은 또한 데이터 프로세싱 하드웨어에 의해 보이스 지원 디바이스의 그래픽 사용자 인터페이스에 디스플레이하는 단계를 포함할 수 있으며, 그래픽 표시기는 오디오 스트림에서 ASR 시스템에 의해 수행되는 ASR 프로세싱의 감쇠된 레벨을 나타낸다.
본 개시의 또 다른 양태는 자동 스피치 인식 프로세싱을 감쇠시키기 위한 시스템을 제공한다. 시스템은 데이터 프로세싱 하드웨어 및 데이터 프로세싱 하드웨어와 통신하는 메모리 하드웨어를 포함한다. 메모리 하드웨어는 데이터 프로세싱 하드웨어에서 실행될 때 데이터 프로세싱 하드웨어로 하여금 동작들을 수행하게 하는 명령어들을 저장한다. 동작들은 보이스 지원 디바이스에서 스피치를 통해 보이스 지원 디바이스와의 가능한 사용자 상호작용을 나타내는 마이크로폰 트리거 이벤트의 표시를 수신하는 동작을 포함하고, 여기서 보이스 지원 디바이스는 오픈 시, 자동 스피치 인식(ASR) 시스템에 의한 인식을 위해 스피치를 캡처하도록 구성된 마이크로폰을 가진다. 마이크로폰 트리거 이벤트의 표시를 수신하는 것에 응답하여, 동작들은 또한 보이스 지원 디바이스의 환경에서 오디오 스트림을 캡처하기 위해 오픈 마이크로폰 지속시간 윈도우 동안 오픈되거나 오픈된 상태를 유지하도록 마이크로폰에 지시하는 동작 및 오픈 마이크로폰에서 캡처된 오디오 스트림을 ASR 시스템에 제공하여 오디오 스트림에 대한 ASR 프로세싱을 수행하는 동작을 포함한다. ASR 시스템이 오픈 마이크로폰에 의해 캡처된 오디오 스트림에 대한 ASR 프로세싱을 수행하는 동안, 동작들은 ASR 시스템이 오픈 마이크로폰 지속시간 윈도우의 함수에 기반하여 오디오 스트림에 대해 수행하는 ASR 프로세싱의 레벨을 감쇠시키는 동작 및 오픈 마이크로폰에 의해 캡처된 오디오 스트림에 대한 ASR 프로세싱의 감쇠된 레벨을 사용하도록 ASR 시스템에 지시하는 동작을 더 포함한다.
이 양태는 다음과 같은 선택적 특징들 중 하나 이상을 포함할 수 있다. 일부 예들에서, ASR 시스템이 오픈 마이크로폰에 의해 캡처된 오디오 스트림에 대한 ASR 프로세싱을 수행하는 동안, 동작들은 또한 오픈 마이크로폰에 의해 캡처된 오디오 스트림에서 보이스 활동이 검출되는지 여부를 결정하는 동작을 포함한다. 이 예들에서, ASR 시스템이 오디오 스트림에 대해 수행하는 ASR 프로세싱의 레벨을 감쇠시키는 동작은 보이스 활동 레벨이 오디오 스트림에서 검출되는지 여부에 대한 결정에 더 기반한다. 일부 구현예들에서, 동작들은 마이크로폰 트리거 이벤트의 표시가 수신될 때 현재 컨텍스트를 획득하는 동작을 더 포함한다. 이러한 구현예들에서, ASR 프로세싱의 감쇠된 레벨을 사용하도록 ASR 시스템에 지시하는 동작은 현재 컨텍스트에 기반하여 스피치 인식 결과를 바이어스하도록 ASR 시스템에 지시하는 동작을 포함한다. 일부 구성들에서, 오디오 스트림에 대한 ASR 프로세싱의 감쇠된 레벨을 사용하도록 ASR 시스템에 지시하는 동작 이후, 동작들은 ASR 시스템에 의해 출력된 보이스 쿼리에 대한 스피치 인식 결과에 대한 신뢰도가 신뢰도 임계값을 만족하지 못한다는 표시를 수신하는 동작 및 ASR 시스템에 ASR 프로세싱 레벨을 감쇠된 레벨에서 증가하도록 그리고 ASR 프로세싱의 증가된 레벨을 사용하여 보이스 쿼리를 리프로세싱하도록 지시하는 동작을 더 포함한다. 일부 구현예들에서, ASR 시스템이 오픈 마이크로폰에 의해 캡처된 오디오 스트림에 대해 ASR 프로세싱을 수행하는 동안, 동작들은 또한 오픈 마이크로폰 지속시간의 함수에 기반하여 ASR이 오디오 스트림에 대해 수행하는 ASR 프로세싱의 감쇠된 레벨이 0과 동일한 시점을 결정하는 동작 및 ASR 프로세싱의 감쇠된 레벨이 0과 동일할 때, 마이크로폰이 클로즈되도록 지시하는 동작을 포함한다. 선택적으로, 동작들은 또한 오디오 지원 디바이스의 그래픽 사용자 인터페이스에 디스플레이하는 동작을 포함하고, 여기서 그래픽 표시기는 오디오 스트림에서 ASR 시스템에 의해 수행되는 ASR 프로세싱의 감쇠된 레벨을 나타낸다.
시스템 또는 방법의 구현예들에는 다음 선택적 특징들 중 하나 이상이 포함될 수 있다. 일부 구현예들에서, ASR 시스템은 초기에 제1 프로세싱 레벨을 사용하여 오픈 마이크로폰 지속시간 윈도우의 시작 시 오디오 스트림에 대한 ASR 프로세싱을 수행하고, 여기서 제1 프로세싱 레벨은 ASR 시스템의 전체 프로세싱 능력들과 연관된다. 이러한 구현예들에서, ASR 시스템이 오픈 마이크로폰 지속시간 윈도우의 함수에 기반하여 오디오 스트림에 대해 수행하는 ASR 프로세싱의 레벨을 감쇠시키는 동작은 오픈 마이크로폰 지속시간 윈도우를 시작한 이후 제1 시간 간격이 경과했는지 여부를 결정하는 동작 및 제1 시간 간격이 경과했을 때, ASR 프로세싱 레벨을 제1 프로세싱 레벨에서 제2 프로세싱 레벨로 감쇠시키는 동작을 포함하고, 여기서 제2 프로세싱 레벨은 제1 프로세싱 레벨보다 작다. 일부 예들에서, ASR 프로세싱의 감쇠된 레벨을 사용하도록 ASR 시스템에 지시하는 동작은 보이스 지원 디바이스와 통신하는 원격 서버에서 ASR 프로세싱을 수행하는 동작에서 보이스 지원 디바이스의 데이터 프로세싱 하드웨어에서 ASR 프로세싱을 수행하는 동작으로 스위칭하도록 ASR 시스템에 지시하는 동작을 포함한다. 일부 구성들에서, ASR 프로세싱의 감쇠된 레벨을 사용하도록 ASR 시스템에 지시하는 동작은 오디오 스트림에 대한 ASR 프로세싱을 수행하기 위해 제1 ASR 모델을 사용하는 것에서 제2 ASR 모델로 스위치하도록 ASR 시스템에 지시하는 동작을 포함하고, 제2 ASR 모델은 제1 ASR 모델보다 더 적은 파라미터들을 포함한다. ASR 프로세싱의 감쇠된 레벨을 사용하도록 ASR 시스템에 지시하는 동작은 오디오 스트림에 대해 수행되는 ASR 프로세싱 단계들의 수를 줄이도록 ASR 시스템에 지시하는 동작을 포함할 수 있다. ASR 프로세싱의 감쇠된 레벨을 사용하도록 ASR 시스템에 지시하는 동작은 또한 ASR 시스템의 디코딩 탐색 공간을 줄이기 위해 빔 탐색 파라미터들을 조정하도록 ASR 시스템에 지시하는 동작을 포함할 수 있다. 추가적으로 또는 대안적으로, ASR 프로세싱의 감쇠된 레벨을 사용하도록 ASR 시스템에 지시하는 동작은 ASR 시스템의 하나 이상의 파라미터들에 대해 양자화(quantization) 및/또는 희소화(sparsification)를 수행하도록 ASR 시스템에 지시하는 동작을 포함할 수 있다. 일부 구성들에서, ASR 프로세싱의 감쇠된 레벨을 사용하도록 ASR 시스템에 지시하는 동작은 오디오 스트림에 대한 ASR 프로세싱을 수행하기 위한 시스템 온 칩 기반(SOC 기반) 프로세싱에서 오디오 스트림에 대한 ASR 프로세싱을 수행하기 위한 디지털 시그널 프로세서 기반(DSP 기반) 프로세싱으로 스위치하도록 지시하는 동작을 포함한다. ASR 시스템이 오픈 마이크로폰에 의해 캡처된 오디오 스트림에 대한 ASR 프로세싱의 감쇠된 레벨을 사용하는 동안, ASR 시스템은 사용자에 의해 발화된 쿼리에 대응하는 오디오 데이터에 대한 스피치 인식 결과를 생성하고, 쿼리에 의해 지정된 액션을 수행하기 위해 애플리케이션에 스피치 인식 결과를 제공하도록 구성된다.
본 발명의 하나 이상의 구현예들에 대한 세부 사항은 첨부된 도면 및 아래의 설명에서 설명된다. 다른 양태들, 특징들 및 이점들은 설명, 도면들 및 청구범위로부터 명백할 것이다.
도 1a은 스피치 프로세싱을 감쇠시키기 위한 예시적인 스피치 환경의 개략도이다.
도 1b는 도 1a의 스피치 환경에 대한 예시적인 시간 시퀀스의 개략도이다.
도 2a 및 도 2b는 스피치 프로세싱을 감쇠시키기 위한 예시적인 상호작용 분석기들의 개략도이다.
도 3은 스피치 프로세싱을 감쇠시키는 방법을 위한 동작들의 예시적인 배열 순서도이다.
도 4는 본 명세서에 기술된 시스템들 및 방법들을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 디바이스의 개략도이다.
다양한 도면들에서 유사한 참조 기호들은 유사한 요소들을 나타낸다.
이상적으로는, 디지털 어시스턴트 인터페이스와 대화할 때, 사용자는 디지털 어시스턴트 인터페이스를 실행하는 보이스 지원 디바이스를 향한 음성 요청들을 통해 사용자가 다른 사람과 대화하는 것처럼 통신할 수 있어야 한다. 디지털 어시스턴트 인터페이스는 자동 스피치 인식기에 이러한 음성 요청들을 제공하여 액션이 수행될 수 있도록 음성 요청을 프로세싱하고 인식한다. 그러나 실제로는 스마트폰이나 스마트 워치와 같이 리소스가 제한된 보이스 지원 디바이스에서 스피치 인식을 지속적으로 실행하는 데 엄청나게 비용이 많이 들기 때문에 디바이스가 이러한 음성 요청들에 항상 응답하는 것은 어려운 일이다.
디지털 어시스턴트 인터페이스들과의 대화는 일반적으로 사용자가 고정된 구문(예: 핫워드/키워드/웨이크 워드)를 말하거나 미리 정의된 제스처(예: 보이스 지원 디바이스를 들어올리거나 꼭 쥐는)를 사용하는 것과 같은 사용자의 편리한 상호작용으로 개시된다. 그러나 일단 대화가 시작되면, 사용자가 각각의 연속적인 음성 요청/쿼리에 대해 동일한 고정 구문을 말하거나 동일한 미리 정의된 제스처를 사용하도록 요구하는 것은 사용자에게 번거롭고 불편할 수 있다. 이 요구 사항을 완화하기 위해 마이크로폰이 훨씬 더 자연스러운 방식으로 사용자가 말하는 즉각적인 후속 쿼리를 캡처할 수 있도록, 상호작용 직후 미리 정의된 일정 시간 동안 보이스 지원 디바이스의 마이크로폰을 오픈된 상태로 유지할 수 있다. 그러나 상호작용 직후에 마이크로폰을 얼마나 오래 유지해야 하는지에 대한 특정 트레이드-오프가 있다. 예를 들어, 마이크로폰을 너무 오랫동안 오픈된 상태로 유지하면 스피치 인식을 수행하는 데 불필요하게 전력이 소모될 수 있으며 보이스 지원 디바이스 환경에서 의도하지 않은 스피치를 캡처할 가능성이 높아진다. 반면에 마이크로폰을 너무 빨리 클로즈하면 사용자가 고정된 구문, 제스처 또는 불편할 수 있는 다른 수단들을 통해 대화를 다시 개시해야 하기 때문에 사용자 경험이 좋지 않다.
본 명세서에서의 구현예들은 보이스 지원 디바이스의 마이크로폰을 오픈하고 스피치 인식기의 응답성과 프로세싱 파워를 점진적으로 감쇠시킴으로써 이벤트에 응답하여 스피치 인식을 수행하도록 스피치 인식기를 개시하는 것에 관한 것이다. 보다 구체적으로, 본 명세서에서의 구현예들은 보이스 지원 디바이스와의 초기 쿼리 후 후속 쿼리와 같은 사용자 상호작용의 확률에 기반하여 스피치 인식 프로세싱 레벨을 감쇠시키는 것을 포함한다. 임의의 시점에서 마이크로폰을 클로즈하고 스피치 인식기에 의한 추가 프로세싱을 방지하는 이진 결정을 내리는 것과는 대조적으로, 시간이 지남에 따라 스피치 인식기에 의한 프로세싱을 감쇠시키는 것은 보이스 지원 디바이스로 향하는 후속 스피치를 캡처하기 위해 마이크로폰을 더 오래 오픈된 상태로 유지함으로써 사용자 경험을 향상시킬 뿐만 아니라, 스피치 인식기가 향후 사용자 상호작용의 신뢰 레벨에 따라 다른 파워 모드들에서 실행되도록 함으로써, 전력 소비를 줄일 수 있다.
도 1a 및 도 1b를 참조하면, 일부 실시예들에서, 시스템(100)은 보이스 지원 디바이스(디바이스(110) 또는 사용자 디바이스(110)라고도 함)와 상호작용하기 위해 사용자 상호작용(12)을 제공하는 사용자(10)를 포함한다. 여기서, 사용자 상호작용(12)은 디바이스(110)로부터 응답을 요청하거나 디바이스(110)가 쿼리에 의해 지정된 태스크를 실행하도록 하는 쿼리 또는 명령에 대응하는 음성 발화(12, 12U)이다. 이러한 의미에서, 사용자(10)는 컴퓨팅 활동들을 수행하거나 질문들에 대한 답을 찾기 위해 보이스 지원 디바이스(110)와 대화 상호작용들을 할 수 있다.
디바이스(110)는 스피치 환경 내의 하나 이상의 사용자들(10)로부터 스피치와 같은 사용자 상호작용들(12)을 캡처하도록 구성된다. 사용자(10)에 의해 발화된 발화(12U)는 디바이스(110)에 의해 캡처될 수 있고, 동작/태스크를 수행하기 위해 디바이스(110) 상에서 실행되는 디지털 어시스턴트 인터페이스(120)에 대한 쿼리 또는 명령에 대응할 수 있다. 디바이스(110)는 사용자(10)와 연관되고 오디오 신호들을 수신할 수 있는 임의의 컴퓨팅 디바이스에 대응할 수 있다. 사용자 디바이스들(110)의 일부 예는 모바일 디바이스들(예: 휴대폰, 태블릿, 랩탑, 전자책 리더기 등), 컴퓨터들, 웨어러블 디바이스들(예: 스마트 워치), 뮤직 플레이어, 캐스팅 디바이스들, 스마트 기기들(예: 스마트 텔레비전) 및 사물 인터넷(IoT) 디바이스들, 원격 제어들, 스마트 스피커들 등을 포함하지만 이에 제한되지 않는다. 디바이스(110)는 데이터 프로세싱 하드웨어(112) 및 데이터 프로세싱 하드웨어(112)와 통신하고 명령어들을 저장하는 메모리 하드웨어(114)를 포함하고, 상기 명령어들은 데이터 프로세싱 하드웨어(112)에 의해 실행될 때 데이터 프로세싱 하드웨어(112)로 하여금 스피치 프로세싱과 관련된 하나 이상의 동작들을 수행하게 한다.
디바이스(110)는 스피치 환경 내의 오디오 데이터를 캡처하고 전기 신호들로 변환하기 위한 오디오 캡처링 디바이스(예: 하나 이상의 마이크로폰들의 어레이)(116)를 갖는 오디오 서브시스템을 더 포함한다. 디바이스(110)는 도시된 예에서 오디오 캡처링 디바이스(116)(일반적으로 마이크로폰(116)라고도 함)를 구현하지만, 오디오 캡처링 디바이스(116)는 물리적으로 디바이스(110)에 상주하지 않지만 오디오 서브시스템(예: 디바이스(110)의 주변 장치들)과 통신할 수 있다. 예를 들어, 디바이스(110)는 차량 전체에 위치한 마이크로폰들의 어레이를 활용하는 차량 인포테인먼트 시스템에 대응할 수 있다.
스피치 지원 인터페이스(예: 디지털 어시스턴트 인터페이스)(120)는 디바이스(110)에 의해 캡처된 음성 발화(12U)에서 전달되는 쿼리 또는 명령을 입력할 수 있다. 스피치 지원 인터페이스(120)(인터페이스(120) 또는 어시스턴트 인터페이스(120)라고도 함)는 일반적으로 발화(12U)에 대응하는 오디오 데이터(124)를 수신하고 발화(12U)로부터 발생하는 오디오 데이터(124) 또는 다른 활동들에 대한 스피치 프로세싱을 조정하여 응답(122)을 생성하는 것을 용이하게 한다. 인터페이스(120)는 디바이스(110)의 데이터 프로세싱 하드웨어(112)에서 실행할 수 있다. 인터페이스(120)는 스피치 프로세싱과 관련된 다양한 시스템들에 발화(12U)를 포함하는 오디오 데이터(124)를 채널화할 수 있다. 예를 들어, 도 1은 인터페이스(120)가 스피치 인식 시스템(150)과 통신하는 것을 예시한다. 여기서, 인터페이스(120)는 발화(12U)에 대응하는 오디오 데이터(124)를 수신하고 스피치 인식 시스템(150)에 제공한다. 일부 구성에서, 인터페이스(120)는 디바이스(110)의 마이크로폰(116)과 스피치 인식 시스템(150) 사이의 오픈 통신 채널 역할을 한다. 즉, 마이크로폰(116)은 오디오 스트림(16)에서 발화(12U)를 캡처하고 인터페이스(120)는 프로세싱을 위해 오디오 스트림(16)으로부터 변환된 발화(12U)에 대응하는 오디오 데이터(124)를 스피치 인식 시스템(150)으로 통신한다. 보다 구체적으로, 스피치 인식 시스템(150)은 발화(12U)에 대한 전사(152)를 생성하기 위해 오디오 데이터(124)를 프로세싱하고 수행할 적절한 액션을 식별하기 위해 전사(152)에 대한 시맨틱(semantic) 해석을 수행할 수 있다. 디바이스(110)에서 사용자(10)와 상호작용하는 데 사용되는 인터페이스(120)는 인터페이스(120)의 기능을 실행하도록 구성된 임의 유형의 프로그램 또는 애플리케이션일 수 있다. 예를 들어, 인터페이스(120)는 디바이스(110)에서 호스팅되거나 디바이스(110)와 통신하는 다른 프로그램들과 인터페이스하는 애플리케이션 프로그래밍 인터페이스(API)이다.
구체적으로 도 1a의 예를 참조하면, 사용자(10)에 의한 제1 발화(12U, 12Ua)는 "안녕 컴퓨터, 프랑스 대통령은 누구입니까?"라고 말한다. 여기서, 제1 발화(12U)는 오디오 데이터(124)에서 검출될 때 인터페이스(120)를 트리거하여 마이크로폰(116)을 오픈하고 프로세싱을 위해 "프랑스 대통령은 누구입니까?"라는 쿼리에 대응하여 후속적으로 캡처되는 오디오 데이터를 스피치 인식 시스템(150)에 릴레이하는 핫워드(14)를 포함한다. 즉, 디바이스(110)는 슬립 또는 하이버네이션 상태에 있을 수 있고 오디오 스트림(14)에서 핫워드(14)의 존재를 검출하기 위해 핫워드 검출기를 실행할 수 있다. 호출 구문으로서의 역할을 하는, 핫워드(14)는 핫워드 검출기에 의해 검출될 때, 디바이스(110)를 깨우고 핫워드(14) 및/또는 핫워드(14)에 후속하는 하나 이상의 용어들에 대한 스피치 인식을 개시하도록 트리거한다. 핫워드 검출기는 스피치 인식이나 시맨틱 분석을 수행하지 않고 핫워드를 나타내는 음향 특징들을 검출하도록 구성된 신경 네트워크 기반 모델일 수 있다.
오디오 스트림(16)에서 핫워드(14)를 검출하는 핫워드 검출기에 응답하여, 인터페이스(120)는 이 발화(12Ua)에 대응하는 오디오 데이터(124)를 스피치 인식 시스템(150)에 릴레이하고, 스피치 인식 시스템(150)은 발화(12Ua)에 대한 스피치 인식 결과(예: 전사)(152)를 생성하기 위해 오디오 데이터(124)에 대한 스피치 인식을 수행한다. 스피치 인식 시스템(150) 및/또는 인터페이스(120)는 스피치 인식 결과(152)에 대한 시맨틱 해석을 수행하여 발화(12Ua)가 프랑스 대통령의 신원에 대한 검색 쿼리에 대응한다고 결정한다. 여기서, 인터페이스(120)는 검색 엔진(160)에 전사(152)를 제출하여 "프랑스 대통령은 누구입니까?"의 쿼리에 대해 검색하고, "엠마누엘 마크롱"의 검색 결과(162)를 반환할 수 있다. 인터페이스(120)는 검색 엔진(160)으로부터 "엠마누엘 마크롱"의 이러한 검색 결과(162)를 수신하고, 이어서 "엠마누엘 마크롱"을 제1 발화(12Ua)의 쿼리에 대한 응답(122)으로서 사용자(10)에게 전달한다. 일부 예들에서, 응답(122)은 디바이스(110)로부터 청각적으로 출력되는 합성 스피치를 포함한다.
어시스턴트 인터페이스(120)의 기능을 수행하기 위해, 인터페이스(120)는 디바이스(110)의 하나 이상의 주변 장치들(예: 오디오 서브시스템의 하나 이상의 구성요소들)을 제어하도록 구성될 수 있다. 일부 예들에서, 인터페이스(120)는 마이크로폰(116)이 오픈되어 있거나 일부 스피치 프로세싱 목적으로 오디오 데이터(124)를 능동적으로 수신하거나, 클로즈되어 있거나, 또는 오디오 데이터(124)를 수신하지 않거나 스피치 프로세싱 목적으로 제한된 양의 오디오 데이터(124)를 수신하는 시기를 지시하기 위해 마이크로폰(116)을 제어한다. 여기서, 마이크로폰(116)이 "오픈(open)" 또는 "클로즈(close)"인지 여부는 인터페이스(120)가 마이크로폰(116)에서 수신된 오디오 데이터(124)를 스피치 인식 시스템(150)에 통신하여 인터페이스(120)가 마이크로폰(116)에서 수신된 오디오 스트림(16)에 포함된 임의의 발화(12U)에 대한 스피치 인식을 가능하게 하는 스피치 인식 시스템(150)과의 오픈 통신 채널, 또는 스피치 인식 시스템(150)이 오디오 스트림(16)에 대한 스피치 인식을 불가능하게 하는 스피치 인식 시스템(150)과의 클로즈 통신 채널을 갖도록 하는지 여부를 나타낼 수 있다. 일부 구현예들에서, 인터페이스(120)는 인터페이스(120)가 트리거(14)와의 상호작용(12) 및/또는 상호작용(12)을 수신 또는 수신했는지 여부에 기반하여 이러한 채널의 오픈 또는 클로즈 여부를 지정하거나 지시한다. 예를 들어, 인터페이스(120)가 트리거(14)(예: 핫워드가 포함된 음성 발화(12U))와의 상호작용(12)을 수신할 때, 인터페이스(120)는 마이크로폰(116)이 오픈되도록 지시하고 마이크로폰(116)에 의해 캡처된 오디오로부터 변환된 오디오 데이터(124)를 스피치 인식 시스템(150)으로 릴레이한다. 발화가 완료된 후, 인터페이스(120)는 스피치 인식 시스템(150)이 추가적인 오디오 데이터(124)를 프로세싱하는 것을 방지하기 위해 마이크로폰(116)이 클로즈되도록 지시할 수 있다.
일부 구현예들에서, 디바이스(110)는 네트워크(130)를 통해 원격 시스템(140)과 통신한다. 원격 시스템(140)은 원격 데이터 프로세싱 하드웨어(144)(예: 원격 서버들 또는 CPU들) 및/또는 원격 메모리 하드웨어(146)(예: 원격 데이터베이스들 또는 다른 스토리지 하드웨어)와 같은 원격 리소스들(142)을 포함할 수 있다. 디바이스(110)는 스피치 프로세싱과 관련된 다양한 기능을 수행하기 위해 원격 리소스들(142)을 활용할 수 있다. 예를 들어, 검색 엔진(160)은 원격 시스템(140)에 상주할 수 있고 및/또는 스피치 인식 시스템(150)의 일부 기능은 원격 시스템(140)에 상주할 수 있다. 일 예에서, 스피치 인식 시스템(150)은 온-디바이스 자동 스피치 인식(ASR)을 수행하기 위해 디바이스(110) 상에 상주할 수 있다. 다른 예에서, 스피치 인식 시스템(150)은 서버 측 ASR을 제공하기 위해 원격 시스템에 상주한다. 또 다른 예에서, 스피치 인식 시스템(150)의 기능은 디바이스(110)와 서버(140)에 걸쳐 분할된다. 예를 들어, 도 1a는 스피치 인식 시스템(150) 및 검색 엔진(160)을 점선 박스로 도시하여 이들 구성요소들이 디바이스(110) 또는 서버 측(즉, 원격 시스템(140))에 상주할 수 있음을 나타낸다.
일부 구성들에서는 모델에 따라 상이한 유형들의 스피치 인식 모델들이 상이한 위치들(예: 온-디바이스 또는 원격)에 상주한다. 유사하게, 엔드-투-엔드 또는 스트리밍 기반 스피치 인식 모델들은 공간 효율적인 크기로 인해 디바이스(110)에 상주할 수 있는 반면, 다수의 모델들(예: 음향 모델(AM), 발음 모델(PM) 및 언어 모델(LM))로 구성되는 보다 통상적인 스피치 인식 모델들은 온-디바이스가 아니라 원격 시스템(140)에 상주하는 서버 기반 모델들이다. 즉, 스피치 인식의 원하는 레벨 및/또는 스피치 인식을 수행하기 위한 원하는 속도에 따라 스피치 인식은 디바이스 내(즉, 사용자 측) 또는 원격(즉, 서버 측)에 상주할 수 있다.
사용자(10)가 인터페이스(120)와 대화식으로 참여할 때, 사용자(10)가 인터페이스(120)로부터 어떤 피드백(예: 응답(122))을 원하는 각각의 상호작용(12)에 대해 동일한 호출 구문(예: 핫워드)(14)을 반복해서 말하는 것은 사용자(10)에게 다소 불편할 수 있다. 즉, 사용자(10)에 의한 다수의 연속적인 쿼리들 각각에 대해 동일한 핫워드를 말하도록 사용자에게 요구하는 것은 상당히 번거롭고 불편할 수 있다. 그러나 불행하게도, 그것은 또한 컴퓨팅 리소스의 낭비이며 디바이스(110)가 마이크로폰(116)에서 수신된 임의의 오디오 데이터(124)에 대해 스피치 인식을 지속적으로 실행하는 데 계산적으로 비용이 많이 들 수 있다.
사용자(10)가 인터페이스(120)와 능동적으로 대화(또는 상호작용의 세션(12))를 하고 있는 동안 사용자(10)가 새로운 쿼리(14)를 통신하기를 원할 때마다 사용자(10)가 핫워드(14)를 반복해서 말하도록 요구하는 불편함을 해결하기 위해, 인터페이스(120)는 사용자(10)가 핫워드(14)를 말할 필요 없이 인터페이스(120)가 이전 쿼리에 응답한 후에 후속 쿼리를 제공하도록 허용할 수 있다. 즉, 쿼리에 대한 응답(122)은 스피치를 통해 보이스 지원 디바이스(110)와의 가능한 사용자 상호작용(12)을 나타내는 마이크로폰 트리거 이벤트(202)(도 1b)의 표시로서 역할을 할 수 있고, 따라서 디바이스(110)는 오디오 스트림(16)을 캡처하고 캡처된 오디오 스트림(16)을 스피치 인식 시스템(150)에 제공하여 오디오 스트림(16)에 대한 스피치 인식 프로세싱을 수행하도록 마이크로폰(116)을 오픈하거나 오픈된 상태로 유지하도록 지시한다. 여기서, 마이크로폰(116)은 사용자(10)가 먼저 핫워드(14)를 다시 말할 필요 없이 사용자(10)로부터의 쿼리를 수락하기 위해 마이크로폰(116)이 오픈되도록 트리거할 수 있다.
마이크로폰 트리거 이벤트(202)(트리거 이벤트(202)라고도 함)는 일반적으로 사용자(10)가 스피치를 통해 디바이스(110)와 상호작용할 수 있음을 나타내는 이벤트의 발생을 의미하며, 따라서 스피치 프로세싱을 위해 임의의 스피치를 캡처하려면 마이크로폰(116)의 활성화가 요구된다. 여기서, 트리거 이벤트(202)는 가능한 사용자 상호작용(12)을 나타내므로, 트리거 이벤트(202)는 인식된 사용자 특성(예: 행동 패턴)에 대한 제스처로부터 디바이스(110)가 잠재적인 상호작용(12)으로 구별할 수 있는 사용자(10)에 의한 임의의 액션에 이르기까지 범위일 수 있다. 예를 들어, 사용자(10)는 주중에 사용자(10)가 부엌에 들어갈 때 사용자(10)가 디바이스(110)에 날씨 및 사용자의 캘린더에 이벤트가 있는지 여부를 묻는 루틴을 가질 수 있다. 이러한 행동패턴으로 인해, 디바이스(110)는 특정 시간에 사용자(10)가 부엌에 들어가는 것을 인식하고(예: 부엌 입구 방향으로의 움직임을 들을 수 있음) 아침에 부엌에 들어가는 사용자(10)의 액션을 가능한 사용자 상호작용(12)의 트리거 이벤트(202)로서 처리할 수 있다. 제스처의 경우, 트리거 이벤트(202)는 사용자(10)가 디바이스(110)를 들어올리거나, 디바이스(110)를 꽉 쥐거나, 디바이스(110)의 버튼을 누르거나, 디바이스(110)의 화면을 탭하거나, 미리 정의된 방식으로 손을 움직이는 상호작용(12) 또는 사용자(10)가 어시스턴트 인터페이스(120)와 대화에 참여하려고 할 수 있음을 표시하기 위한 임의의 다른 유형의 미리 프로그래밍된 제스처일 수 있다. 트리거 이벤트(202)의 다른 예는 디바이스(110)(예: 인터페이스(120))가 사용자(10)로부터의 쿼리에 대한 응답(122)을 통신할 때이다. 즉, 인터페이스(120)가 사용자(10)에게 응답(122)을 릴레이할 때, 응답(122)은 디바이스(110)를 대신하여 사용자(10)에 대한 통신 상호작용의 역할을 하며; 이는 응답(122)을 수신한 후에 사용자(10)가 말하는 후속 쿼리가 발생할 가능성이 높거나 단순히 사용자(10)가 현재 디바이스(110)와 대화하고 있기 때문에 발생할 수 있음을 의미한다. 이러한 가능성에 기반하여, 응답(122)은 트리거 이벤트(202)로 간주되어 디바이스(110)가 응답(122)을 출력한 후 사용자(10)가 후속 쿼리에 핫워드(14)를 붙일 필요 없이 마이크로폰(116)이 오픈되거나 오픈된 상태를 유지하여 사용자(10)에 의해 발화된 후속 쿼리의 스피치 프로세싱을 허용할 수 있다.
마이크로폰 트리거 이벤트(202)를 구현하고 프로세싱 리소스들을 손상시키지 않고 디바이스(110)와 사용자(10) 간의 대화를 제공하기 위해, 디바이스(110)는 사용자(10)가 어시스턴트 인터페이스(120)에 접근하는 것을 인식하는 동시에 사용자(10)와의 대화 내내 스피치 인식을 유지하는 상호작용 분석기(200)(분석기(200)라고도 함)를 배치한다. 즉, 분석기(200)는 사용자(10)와 인터페이스(120) 사이의 대화가 시작되는 시점과 대화가 종료되었다고 가정하고 상호작용(12)을 종료하고 스피치 인식을 비활성화하는 것이 가장 좋은 시점을 식별함으로써 엔드포인트 기능을 제공할 수 있다. 또한, 엔드포인트에 더하여, 분석기(200)는 또한 사용자(10)에 의한 하나 이상의 상호작용들의 성질에 따라 스피치 인식을 위한 프로세싱 레벨(222)(도 2a 및 2b)을 감소시킴으로써 (즉, 스피치 인식 시스템(150)을 사용하여) 스피치 인식 프로세스를 수정할 수 있다. 구체적으로, 분석기(200)는 마이크로폰(116)에 의해 캡처된 오디오 스트림(16)에 대한 스피치 인식의 감쇠된 레벨(222)을 사용하도록 스피치 인식 시스템(150)에 지시할 수 있다. 예를 들어, 디바이스(110)가 마이크로폰 트리거 이벤트(202)의 표시를 수신하는 것에 응답하여 오디오 스트림(16)을 캡처하고 스피치 인식 시스템(150)에 제공하기 위해 마이크로폰(116)을 오픈하거나 오픈 마이크로폰 지속시간 윈도우(open microphone duration window) 동안 오픈된 상태로 유지하도록 지시할 때, 분석기(200)는 오픈 마이크로폰 지속시간 윈도우(212)의 함수로서 스피치 인식 시스템(150)이 오디오 스트림(16)에 대해 수행하는 스피치 프로세싱의 레벨(222)을 감쇠시킬 수 있다. 여기서, 분석기(200)는 스피치 인식 및/또는 스피치 관련 프로세스들을 제어하기 위해 인터페이스(120)와 함께 동작한다.
도 1b를 참조하면, 디바이스(110)(예: 인터페이스(120))가 트리거 이벤트(202)의 표시를 수신할 때, 인터페이스(120)는 마이크로폰(116)에게 오픈하거나 또는 유지하도록 지시하고 마이크로폰(116)에 의해 캡처된 오디오 스트림(16)과 연관된 오디오 데이터(124)를 프로세싱을 위해 스피치 인식 시스템(150)으로 통신한다. 여기에서, 인터페이스(120)가 마이크로폰(116)에게 오픈하도록 지시할 때, 분석기(200)는 마이크로폰(116)이 일부 오픈 마이크로폰 지속시간 윈도우(212) 동안 트리거 이벤트(202)에 의해 시작된 후에 계속 오픈되어 있도록 지정하도록 구성될 수 있다. 예를 들어, 오픈 마이크로폰 지속시간 윈도우(212)는 인터페이스(120)가 마이크로폰(116)에 의해 캡처된 오디오 데이터(124)의 오디오 스트림(16)을 스피치 인식 시스템(150)으로 통신할 기간을 지정한다. 여기에서, 마이크로폰 지속시간 윈도우(212)는 트리거 이벤트(202)를 수신할 때 시작되고 설정된 지속시간 이후에 (예: 마이크로폰 클로징 이벤트 발생) 중단되는 설정된 지속시간을 의미한다. 일부 예에서, 분석기(200)는 인터페이스(120)가 마이크로폰 지속시간 윈도우(212) 동안 다른 트리거 이벤트(202)(예: 후속 트리거 이벤트(202))를 수신할 때 마이크로폰 지속시간 윈도우(212)를 확장하거나 마이크로폰 지속시간 윈도우(212)를 리프레시(즉, 갱신)하도록 인터페이스(120)에 지시할 수 있다. 설명하자면, 도 1a 및 도 1b는 사용자(10)가 "안녕 컴퓨터, 누가 프랑스 누구입니까?"라고 말하는 제1 발화(12Ua) 및 프랑스 대통령이 엠마누엘 마크롱이라는 응답(122)에 대한 후속 질문으로, "그는 몇 살입니까?"라는 제2 발화(12U, 12Ub)를 생성하는 것을 도시한다. 구체적으로 도 1b를 참조하면, "안녕 컴퓨터"의 핫워드(14)는 "프랑스 대통령은 누구입니까?"라는 발화의 후속 부분에 대한 스피치 인식을 개시하는 설정된 구문에 대응한다. 인터페이스(120)가 " 엠마누엘 마크롱 "으로 응답할 때, 분석기(200)는 응답(122)을 제1 마이크로폰 지속시간 윈도우(212, 212a)가 시작되도록 개시하는 마이크로폰 트리거 이벤트(202)로 설정한다. 여기서, 윈도우(212)는 시작 포인트(214) 및 종료 포인트(216)에 의해 정의된 지속시간을 가질 수 있으며, 종료 포인트(216)의 시간에 마이크로폰 지속시간 윈도우(212)가 만료되고 인터페이스(120) 및/또는 분석기(200)는 마이크로폰 클로징 이벤트를 수행한다. 그러나 이 예에서는, 사용자(10)는 제1 마이크로폰 지속시간 윈도우(212a)의 원래 지정된 종료 포인트(216a, 216) 이전에 "그는 몇 살입니까?"라는 후속 질문을 한다. 제2 발화(12Ub)의 후속 질문(즉, 다른 사용자 상호작용(12))으로 인해, 인터페이스(120)는 엠마누엘 마크롱의 나이가 "47세"라는 제2 응답(122, 122b)을 생성한다. "엠마누엘 마크롱"의 제1 응답(122, 122a)과 유사하게, 제2 응답(122, 122b)은 제1 마이크로폰 지속시간 윈도우(212a)가 만료되었거나 만료되지 않았을지라도(예: 도 1b는 제1 윈도우(212a)가 제2 응답(122b) 이전에 만료되었음을 예시한다), 제2 마이크로폰 지속시간 윈도우(212b)로서 새로운 마이크로폰 지속시간 윈도우(212, 212b)를 시작하는 제2 트리거 이벤트(202, 202b)이다. 인터페이스(120)가 마이크로폰 지속시간 윈도우(212)가 아직 대기 중인 상태에서 새로운 마이크로폰 지속시간 윈도우(212)를 개시할 때, 이것은 대기 중인 윈도우(212)를 확장하거나 대기 중인 윈도우(212)가 오픈된 상태로 유지되도록 허용하는 것으로 간주될 수 있다. 일부 구현예들에서, 지속시간 윈도우(212)가 여전히 대기 중인 경우, 그 윈도우(212) 동안의 트리거 이벤트(202)는 지속시간 윈도우(212)를 완전히 갱신(즉, 지속시간 윈도우를 새롭게 시작)하지 않을 수 있고, 오히려 일부 지정된 시간만큼 펜딩 지속시간 윈도우(212)를 연장할 수 있다. 예를 들어, 지속시간 윈도우(212)가 10초이고 지속시간 윈도우(212)가 현재 대기 중인 경우, 이 펜딩 지속시간 윈도우(212) 동안 트리거 이벤트(202)는 새로운 추가 전체 10초가 아닌 추가 5초 동안 펜딩 윈도우(212)를 확장한다. 도 1b에서, 제1 윈도우(212a)는 제2 트리거 이벤트(202b)가 제2 시작 포인트(214, 214b)에서 완전히 새로운 지속시간 윈도우(212, 212b)를 시작하도록 제2 응답(122b) 전에 만료되며, 이는 (예: 하나 이상의 추가 트리거 이벤트들(202)이 발생하지 않는 한) 제2 종료 포인트(216, 216b)에서 종료될 것이다.
도 1b를 계속 참조하면, 분석기(200)는 윈도우(212)의 일부 부분 동안 감쇠 상태(204)를 추가로 생성하도록 구성된다. 예를 들어, 감퇴 상태(204)로 천이함으로써, 스피치 인식을 위한 프로세싱 레벨(222)은 윈도우(212) 동안 수정(예: 어느 정도 감소)될 수 있다. 즉, 오디오 데이터(124)에 대한 스피치 인식 시스템(150)에 의해 수행되는 스피치 프로세싱의 레벨(222)은 윈도우(212)의 함수에 기반할 수 있다. 윈도우(212)에 대한 스피치 프로세싱의 레벨(예: 스피치 인식을 위한)을 기반으로 함으로써, 오디오 데이터(124)의 오디오 스트림(16)에 대해 수행되는 스피치 프로세싱의 양은 시간의 함수가 된다. 의미는, 시간이 지남에 따라 인터페이스(120)와 사용자(10) 사이의 대화가 여전히 진행 중일 가능성이 낮아짐에 따라(예: 오디오 데이터(124)는 사용자 스피치 또는 디바이스(110)를 향하지 않는 스피치를 포함하지 않음), 분석기(200)는 이러한 감소 가능성을 인식하고 그에 따라 스피치 인식을 감소시킨다는 것을 의미한다. 예를 들어, 도 1b는 제1 마이크로폰 지속시간 윈도우(212a)의 마지막 절반 동안, 스피치 프로세싱이 스피치 프로세싱의 레벨(222)이 감소되는 감쇠 상태(204)로 천이하는 것을 예시한다. 이 접근 방식은 분석기(200) 및/또는 인터페이스(120)가 디바이스(110)에서 스피치 프로세싱을 수행하는 데 사용되는 컴퓨팅 리소스의 양을 줄이는 것을 허용할 수 있다. 유사하게, 도 1b의 이 예에서, 분석기(200)가 스피치 인식을 감쇠 상태(204)로 천이했을 때 사용자(10)가 제1 윈도우(212a)의 마지막 3분의 1 동안 "그는 몇 살입니까?"라는 후속 질문을 생성하더라도, 분석기(200)는 스피치 인식이 제1 윈도우(212)에서 이미 감쇠 상태(204)에 있었고 사용자(10)가 제2 상호작용(12Ub)을 수행할 가능성이 다소 낮았기 때문에 제2 윈도우(212b)에 대한 감쇠 상태(204)가 더 빨리 발생해야 한다고 결정한다; 따라서, 분석기(200)는 감쇠 상태(204)가 제2 기간 윈도우(212b)에서 더 긴 기간 동안, 예를 들어 제2 기간 윈도우(212b)의 약 90% 동안 발생해야 한다고 결정한다. 분석기(200)를 활용함으로써, 디바이스(110) 및/또는 인터페이스(120)는 사용자(10)가 어시스턴트 인터페이스(120)와 추가로 상호작용할 의도가 없을 때, 스피치 인식을 능동적으로 수행하는 것을 피하려고 노력하면서 핫워드(14) 없이 스피치 인식을 수행하는 능력을 유지하는 것 사이에 균형을 맞추려고 노력한다.
도 2a 및 도 2b를 참조하면, 분석기(200)는 일반적으로 윈도우 생성기(210) 및 리듀서(reducer)(220)를 포함한다. 윈도우 생성기(210)(생성기(210)라고도 함)는 오디오 스트림(16)을 캡처하고 프로세싱을 위해 스피치 인식 시스템(150)에 제공하기 위해 마이크로폰(116)이 오픈되는 지속시간을 지시하는 오픈 마이크로폰 지속시간 윈도우(212)를 생성하도록 구성된다. 각각의 마이크로폰 지속시간 윈도우(212)는 마이크로폰(116)에서 수신된 오디오 스트림(16)이 프로세싱을 위해 스피치 인식 시스템(150)으로 전송되기 시작할 때 마이크로폰 지속시간 윈도우(212)의 시작 시간을 지정하는 시작 포인트(214) 및 오픈 마이크로폰 지속시간 윈도우(212)가 종료되고 그 후 오디오 스트림(16)이 더 이상 프로세싱을 위해 스피치 인식 시스템(150)에 전달되지 않는 시간을 지정하는 종료 포인트(216)를 포함한다. 윈도우 생성기(210)는 인터페이스(120)가 사용자(10)로부터 트리거 이벤트(202)를 수신한다고 결정될 때 초기에 오픈 마이크로폰 지속시간 윈도우(212)를 생성한다.
일부 구현예들에서, 윈도우 생성기(210)는 분석기(200)의 구성에 기반하여 또는 마이크로폰(116)에서 발생하는 조건들에 기반하여 지능적으로 상이한 크기의 윈도우들(212)(즉, 상이한 시간 길이들을 갖는 윈도우(212))를 생성하도록 구성된다. 예를 들어, 분석기(200)의 관리자는 윈도우 생성기(210)에 의해 생성된 윈도우(212)에 대한 디폴트 지속시간을 설정한다(예: 각 윈도우(212)는 10초 길이임). 반대로, 생성기(210)는 사용자(10)의 행동 패턴들 또는 사용자(10)의 발화(12U)의 측면들/특징들을 인식하고 이러한 인식된 특성들에 일치하거나 대응하는 크기를 갖는 윈도우(212)를 지능적으로 생성할 수 있다. 예를 들어, 특정 사용자(10)가 인터페이스(120)와의 대화를 시작하기 위해 트리거(14)를 생성할 때마다 특정 사용자(10)가 다수의 질문들에 관여하는 것이 일반적일 수 있다. 여기에서, 디바이스(110)와 연관된 스피치 프로세싱 시스템은 사용자(10)의 신원을 식별할 수 있고, 이 식별에 기반하여, 생성기(210)는 상호작용 세션(즉, 인터페이스(120)와의 대화) 동안 그 사용자(10)에 대한 상호작용 빈도에 대응하거나 그에 부합하는 크기를 갖는 윈도우(212)를 생성한다. 예를 들어, 생성기(210)가 5초 기간을 갖는 디폴트 윈도우(212)를 생성하는 대신, 생성기(210)는 핫워드(14)를 제출한 사용자(10)가 인터페이스(120)와의 더 높은 빈도의 상호작용(12)을 생성하는 경향이 있기 때문에 10초 기간을 갖는 윈도우(212)를 생성한다. 반면에, 핫워드(14)를 제출한 사용자(10)가 인터페이스(120)와 상호작용할 때마다 단일 쿼리만 묻는 경향이 있는 경우, 생성기(210)는 사용자(10)에 대한 이러한 행동 정보를 수신하고 디폴트 윈도우(212)를 5초에서 3초의 커스텀 윈도우(212)로 단축할 수 있다.
생성기(210)는 또한 발화(12U) 또는 발화(12U)에 대한 응답(122)의 측면들 또는 특징들에 기반하여 커스텀 오픈 마이크로폰 지속시간 윈도우(212)를 생성할 수 있다. 기본 예로서, 사용자(10)는 "안녕 컴퓨터, 스매싱 펌킨스 새 앨범, Cyr 재생해주세요"라고 말하는 발화(12U)를 발화한다. 그러나 인터페이스(120)가 이 명령에 응답을 시도할 때, 인터페이스(120)는 스매싱 펌킨스 새 앨범인 Cyr가 이달 말에 발매될 것이라고 결정하고 앨범이 현재 이용가능하지 않다는 응답(122)을 제공한다. 응답(122)은 사용자(10)가 다른 것을 듣기를 원하는지 추가로 요청할 수 있다. 여기에서, 인터페이스(120)에 의한 응답(122) 이후에, 생성기(210)는 더 큰 윈도우(212)(즉, 더 긴 기간 동안 지속되는 윈도우(212))를 생성하거나 또는 인터페이스(120) 및/또는 디바이스(110)는 인터페이스(120)가 요청된 앨범이 이용가능하지 않다는 응답(122)을 생성할 때 사용자(10)에 의한 후속 상호작용(12)이 있을 가능성이 높다고 결정한다는 사실에 기반하여 초기에 생성된 윈도우(212)를 자동으로 확장할 수 있다. 즉, 인터페이스(120) 및/또는 디바이스(110)는 사용자(10)에 의한 명령의 결과로 인해 응답(122)에 이어 사용자(10)가 또 다른 음악 요청을 제출할 가능성이 있음을 지능적으로 인식한다.
도 1b에 도시된 바와 같이, 생성기(210)는 트리거 이벤트(202)가 초기에 수신될 때(예: 인터페이스(120)가 응답(122)을 통신할 때) 윈도우(212)를 생성할 뿐만 아니라, 윈도우(212)가 오픈되어 있는 동안 인터페이스(123)에서 트리거 이벤트(202)가 수신되면 새로운 윈도우(212)을 생성하거나 현재 오픈되어 있는 윈도우(212)를 확장할 수 있다. 오픈 윈도우(212) 또는 오픈 윈도우(212)를 확장하는 동안 트리거 이벤트(202)가 수신될 때 새로운 윈도우(212)를 생성함으로써, 생성기(210)는 사용자(10)와 인터페이스(120) 사이의 대화가 진행 중일 때 윈도우(212)를 계속 오픈된 상태로 유지하도록 기능한다.
도 2b와 같은 일부 예들에서, 생성기(210)가 진행 중인 대화에서 윈도우(212)를 확장하거나 새로운 윈도우(212)를 생성할 때, 생성기(210)는 윈도우(212)의 지속시간을 디스카운트하도록 구성된다. 예를 들어, 생성기(210)는 사용자(10)에 의한 각 후속 상호작용(12) 후에 더 짧은 지속시간의 후속 윈도우(212)를 생성하도록 구성된다. 이 접근 방식은 제2 또는 후속 상호작용(12)이 초기 상호작용(12) 이후 발생할 제1 확률을 갖지만, 그 이후에 추가적인 상호작용(12)이 발생할 확률이 감소한다는 사실을 설명할 수 있다. 예를 들어, 제1 발화(12Ua)에서의 초기 쿼리 후, 제2 발화(12Ub)에서의 후속 쿼리가 약 20%의 시간 동안 발생할 수 있지만, 제2 발화(12Ub)에서의 후속 쿼리 이후의 제3 발화(12U)는 사용자(10)와 인터페이스(120) 간의 상호작용 세션 동안 시간의 약 5%에서만 발생한다. 이 패턴에 기반하여, 생성기(210)는 또 다른 트리거 이벤트(202)(즉, 가능한 상호작용(12))가 발생할 확률의 함수로서 윈도우(212)의 크기 또는 오픈 윈도우(212)가 얼마나 오래 확장되는지를 감소시킬 수 있다. 예를 들어, 도 2b는 생성기(210)가 제1 트리거 이벤트(202a)에 대한 제1 윈도우(212a)를 생성하고 이어서 제1 트리거 윈도우(202a) 이후에 발생하는 제2 트리거 윈도우(202b)에 대한 제2 윈도우(212b)를 생성한 다음, 제2 트리거 이벤트(202b) 이후에 발생하는 제3 트리거 이벤트(202c)에 대한 제3 윈도우(212c)를 생성하도록, 각각의 트리거 이벤트(202)가 인터페이스(120)로부터의 후속 응답(122)(예: 3개의 응답들(122a-c))에 대응하는 3개의 트리거 이벤트들(202, 202a-c)을 도시한다. 이 예에서, 생성기(210)는 제3 윈도우(212c)가 제1 윈도우(212a)보다 짧은 지속시간을 갖는 제2 윈도우(212b)보다 짧은 지속시간을 갖도록 생성된 윈도우(212)를 단축한다. 추가로 또는 대안적으로, 생성기(210)는 오디오 스트림(16)의 오디오 데이터(124)를 분석하여 오디오 데이터(124)의 보이스 활동 레벨이 트리거 이벤트(202)가 발생할 가능성이 있다는 임의의 표시를 제공하는지 여부를 결정할 수 있다. 이 정보로, 생성기(210)는 현재 오픈 윈도우(212)의 크기를 수정하거나 임의의 후속 생성/확장 윈도우(212)의 크기를 수정할 수 있다.
리듀서(220)는 오디오 데이터(124)의 오디오 스트림(16)에서 수행되어야 하는 스피치 인식의 프로세싱 레벨(222)을 지정하도록 구성된다. 프로세싱 레벨(222)은 스피치 인식 시스템(150)에 대한 스피치 인식을 수행하는 스피치 인식 모델의 유형, 스피치 인식이 발생하는 위치, 스피치 인식을 수행하는 데 사용되는 스피치 인식 파라미터들, 스피치 모델이 전체 기능으로 동작하도록 지정되었는지 또는 약간 낮은 수준의 기능으로 동작하도록 지정되었는지 여부 등을 포함하는 여러 변수들에 기반할 수 있지만, 이에 제한되지 않는다. 프로세싱 레벨(222)은 일반적으로 임의의 주어진 시간에 스피치 인식과 같은 스피치 프로세싱에 의해 전용되거나 소비되는 컴퓨팅 리소스들(예: 데이터 프로세싱 하드웨어 및 메모리 하드웨어와 같은 로컬 리소스 또는 원격 리소스들)의 양을 지칭할 수 있다. 이는 예를 들어, 제1 상태에서 스피치 프로세싱에 전용되는 컴퓨팅 리소스들 또는 컴퓨팅 성능의 양이 제2 상태에서보다 작을 때, 제1 상태의 제1 프로세싱 레벨(222)이 제2 상태의 제2 프로세싱 레벨(222)보다 작다는 것을 의미한다.
일부 예들에서, 감소된 프로세싱 레벨(222)에서 스피치 인식이 발생할 때(예: 최대 프로세싱 능력들과 비교할 때), 감소된 프로세싱 레벨(222)은 스피치를 인식하기 위한 제1 패스로서 기능할 수 있지만, 그 이후 제1 패스보다 더 높은 프로세싱 레벨(222)을 갖는 제2 패스를 초래한다. 예를 들어, 스피치 인식 시스템(150)이 감소된 프로세싱 레벨(222)에서 동작할 때, 스피치 인식 시스템(150)은 오디오 데이터(124)가 인터페이스(120)에 명령하거나 쿼리하기 위한 발화(12U)를 포함한다는 낮은 신뢰도의 스피치 인식 결과(예: 낮은 신뢰도 가설)를 식별한다. 이러한 낮은 신뢰도의 스피치 인식 결과로 인해, 리듀서(220)는 낮은 신뢰도 스피치 인식 결과가 오디오 데이터(124)가 인터페이스에 명령하거나 쿼리하기 위한 발화(12U)를 포함하는 높은 신뢰도 스피치 인식 결과(예: 높은 신뢰도 가설)에 실제로 대응하는지 여부가 더 높은 프로세싱 레벨(222)에서 결정될 수 있도록 프로세싱 레벨(222)을 증가시킬 수 있다. 일부 예에서, 낮은 신뢰도 스피치 인식 결과는 스피치 인식 동안 신뢰도 임계값을 만족하지 못하는 스피치 인식 결과이다. 즉, 리듀서(220)는 위에서 언급한 변수들뿐만 아니라 특정 프로세싱 레벨(222)에서 스피치 인식 결과를 기반으로 프로세싱 레벨(222)을 변경할 수 있다.
일부 구현예들에서, 리듀서(220)는 윈도우(212)의 함수로서 프로세싱 레벨(222)을 지정한다. 즉, 리듀서(220)는 오픈 마이크로폰 지속시간 윈도우(212)가 존재할 때 스피치 인식을 위한 프로세싱 레벨(222)을 감소시킬 수 있다. 예를 들어, 윈도우(212)가 10초의 지속시간에 대응할 때(예: 도 2a에 도시된 바와 같이), 윈도우(212)의 처음 5초 동안, 리듀서(220)는 스피치 인식 시스템(150)이 스피치 인식을 위해 전체 전력/프로세싱(예: 제1 프로세싱 레벨(222, 222a))에서 동작하도록 지시한다. 이 5초가 전체 프로세싱에서 발생한 후, 스피치 프로세싱은 프로세싱 레벨(222)이 전체 프로세싱보다 어느 정도 낮은 정도로 감소되는 감쇠 상태(decay state)(204)로 천이한다. 예를 들어, 윈도우(212)의 기간이 5초에서 7초로 변경되면, 리듀서(220)는 스피치 인식 시스템(150)에 대한 전체 프로세싱의 50%에 대응하는 제2 스피치 레벨(222, 222b)에서 수행하도록 스피치 인식 시스템(150)에 지시한다. 그 후, 기간의 7초 후 및 윈도우(212)에 대한 기간의 끝까지, 리듀서(220)는 스피치 인식 시스템(150)에 대한 전체 프로세싱의 25%에 대응하는 제3 프로세싱 레벨(222, 222c)에서 수행하도록 스피치 인식 시스템(150)에 지시한다. 따라서, 리듀서(220)는 오픈 마이크로폰 지속시간 윈도우(212) 동안 스피치 인식 시스템(150)의 프로세싱 레벨(222)을 제어한다.
일부 구현예들에서, 생성기(210) 및 리듀서(220)는 윈도우(212)의 지속시간이 감쇠 상태(204)에 의존하도록 함께 작동한다. 생성기(210)는 지정된 시간에 종료 포인트(216)를 생성하지 않고, 리듀서(220)가 마이크로폰(116)을 클로즈하는 것과 동일한 효과를 갖는 레벨로 프로세싱 레벨(222)을 감소시키도록 허용할 수 있다. 예를 들어, 스피치 인식 시스템(150)에 대한 전체 프로세싱의 25%에 대응하는 제3 프로세싱 레벨(222c) 이후에, 리듀서(220)는 마이크로폰(116)을 클로즈하는데, 그 이유는 또 다른 25%의 프로세싱 감소가 스피치 인식 시스템(150)에 대한 전체 프로세싱의 0%로 프로세싱 레벨(222)을 감소시키기 때문이다(즉, 프로세싱 없음 또는 “클로즈”). 이 특정 예는 프로세싱 레벨(222)을 이산 증분(discrete increment)들로 단계적으로 낮추는 계층화된 접근 방식이지만, 다른 유형의 감쇠로 인해 클로즈 마이크로폰(116)이 발생할 수 있다. 예를 들어, 프로세싱 레벨(222)은 오픈 마이크로폰 지속시간 윈도우(212) 동안 임의의 포인트에서 선형적으로 감쇠될 수 있다. 리듀서(220)가 마이크로폰(116)이 클로즈될 때까지 프로세싱 레벨(222)을 감소시키도록 함으로써, 이 기법은 (예: 상호작용(12)이 발생하지 않고 마이크로폰(116)이 오픈되어 있을 때) 스피치 프로세싱의 연속적인 감쇠를 진전시킬 수 있다.
도 2b와 같은 일부 구성들에서, 윈도우(212) 내의 프로세싱 레벨(222)은 인터페이스(120)가 사용자(10)에 의해 마지막 트리거 이벤트(202)를 수신한 시간에 기반한다. 이러한 구성예들에서, 리듀서(220)는 인터페이스(120)가 마지막 트리거 이벤트(202)를 수신한 때부터 현재 시간까지의 기간(224)이 시간 임계값(226)을 만족하는지 여부를 결정할 수 있다. 기간(224)이 시간 임계값(226)을 만족할 때(즉, 상호작용(12)이 임계 시간량 동안 발생하지 않았을 때), 리듀서(220)는 현재 시간에서 프로세싱 레벨(222)을 생성할 수 있다. 예를 들어, 인터페이스(120)가 사용자(10)에 의해 발화(12U)에 대한 응답(122)을 보낸 경우, 윈도우(212)는 인터페이스(120)가 응답(122)을 통신했을 때 시작되었다. 시간 임계값(226)이 5초로 설정되면, 리듀서(220)는 인터페이스(120)가 응답(122)을 전달한 때로부터 5초가 경과했는지 여부를 결정한다. 리듀서(220)가 5초가 경과했다고 판단하면, 리듀서(220)는 예를 들어 리듀서(220)가 5초가 경과했다고 결정한 현재 시간 또는 그 후 어떤 특정 시간에 시작하는 스피치 인식을 위한 일부 프로세싱 레벨(222)을 지정할 수 있다.
일부 구성들에서, 프로세싱 레벨(222)은 스피치 인식 시스템(150)의 하나 이상의 파라미터들을 조정함으로써 변경된다. 스피치 인식 시스템(150)에서 스피치 인식의 프로세싱 레벨(222)을 변경하기 위한 하나의 접근 방식에서, 스피치 인식이 발생한 위치에 따라 변경된다. 스피치 인식 위치는 발생하는 서버 측(즉, 원격)에서 디바이스 내(즉, 로컬)로 변경될 수 있다. 즉, 제1 프로세싱 레벨(222a)은 서버 기반 스피치 인식 모델을 사용한 원격 스피치 인식에 대응하고, 제2 프로세싱 레벨(222b)은 디바이스 상에서 발생하는 로컬 스피치 인식에 대응한다. 스피치 인식 시스템(150)이 "온-디바이스"에서 호스팅되는 경우, 디바이스(110)는 오디오 데이터(124)를 수신하고 그 프로세서(들)(예: 데이터 프로세싱 하드웨어(112) 및 메모리 하드웨어(114))를 스피치 음성 인식 시스템(150)의 기능을 실행한다. 서버 기반 모델을 사용하는 스피치 인식은 서버 기반 모델이 (예를 들어, 대역폭 및 전송 오버헤드와 같은 다른 비용들과 함께) 더 많은 수의 원격 프로세싱 리소스들을 활용할 수 있기 때문에, 온-디바이스 스피치 인식 모델보다 더 큰 프로세싱 레벨(222)을 갖는 것으로 간주될 수 있다. 더 많은 양의 프로세싱으로, 서버 기반 모델은 잠재적으로 온-디바이스 모델보다 크기가 클 수 있고 및/또는 온-디바이스 모델보다 더 큰 검색 그래프를 사용하여 디코딩을 수행할 수 있다. 예를 들어, 서버 기반 스피치 인식 모델은 전용 스피치 인식 목적을 위해 특별히 트레이닝될 수 있는 다수의 더 큰 모델들(예: 음향 모델(PM), 발음 모델(PM) 및 언어 모델(PM))을 활용할 수 있는 반면, 온-디바이스 모델은 디바이스(110)의 한정된 프로세싱 리소스들에서 효과적이고 공간 효율적으로 동작하기 위해 종종 이러한 상이한 모델들을 더 작은 패키지로 통합해야 한다. 그러므로, 리듀서(220)가 프로세싱 레벨(222)을 감쇠 상태(204)로 감소시킬 때, 리듀서(220)는 서버 기반 모델을 사용하여 원격으로 발생하는 스피치 인식을 온-디바이스 모델을 사용하여 로컬로 수행하는 것으로 변경할 수 있다.
일부 상황들에서, 음성 발화(12U)와 같은 상호작용(12)을 생성하고 있는 사용자(110) 근처에 하나 이상의 디바이스(110)가 있을 수 있다. 다수의 디바이스들(110)이 사용자(10) 부근에 위치할 때, 각각의 디바이스(110)는 스피치 인식의 일부 측면을 수행할 수 있다. 동일한 음성 발화(12U)에 대해 스피치 인식을 수행하는 다수의 디바이스들(110)은 중복될 수 있으므로, 리듀서(220)는 다른 디바이스(110)가 스피치 인식을 처리하거나 처리하도록 구성된 것을 알고 그 디바이스(110)에 대한 마이크로폰(116)을 클로징함으로써 특정 디바이스(110)에서의 프로세싱 레벨(222)을 감소시킬 수 있다. 예를 들어, 사용자(10)가 모바일 디바이스와 스마트 워치를 가지고 있는 경우, 두 디바이스들(110) 모두 스피치 인식을 수행할 수 있다. 여기서, 리듀서(220)는 모바일 디바이스가 수행해야 할 수 있는 광범위한 다른 컴퓨팅 태스크들을 위해 모바일 디바이스의 프로세싱 리소스들을 보존하기 위해 모바일 디바이스에서 스피치 인식을 위해 마이크로폰(116)을 클로즈할 수 있다. 예를 들어, 사용자(10)는 자신의 스마트 워치보다 자신의 모바일 디바이스를 위해 배터리 전원을 절약하는 것을 선호할 수 있다. 일부 예들에서, 다수의 디바이스들이 있는 경우, 리듀서(220)는 각 디바이스(110)의 특성들(예: 현재 프로세서 소모량, 현재 배터리 수명 등)을 결정하여 어떤 디바이스(110)가 오픈된 상태를 유지하는 마이크로폰(116)을 갖는 데 가장 최적이고 어떤 디바이스(들)가 마이크로폰(116)을 클로즈하는데 가장 최적인지 식별하려고 시도할 수 있다.
원격 스피치 인식 시스템(150)과 온-디바이스 스피치 인식 시스템(150) 사이에 프로세싱 레벨 차이가 있는 것 외에도, 온-디바이스 스피치 인식 모델 또는 서버 측 스피치 인식 모델의 버전들이 상이할 수 있다. 상이한 버전들로, 리듀서(220)는 스피치 인식에 사용되는 모델 또는 모델의 버전을 변경함으로써 프로세싱 레벨(222)을 변경할 수 있다. 대략적으로 말하면, 모델은 프로세싱 레벨(222)이 높은 대형 버전, 프로세싱 레벨(222)이 보통인 중간 버전 및 프로세싱 레벨(222)이 낮은 소형 버전을 가질 수 있다. 이러한 의미에서, 리듀서(220)가 프로세싱 레벨(222)을 감소시키기를 원한다면, 리듀서(220)는 모델의 제1 버전에서 수행되는 스피치 인식을 모델의 제1 버전보다 낮은 프로세싱 레벨(222)을 갖는 모델의 제2 버전으로 전환할 수 있다. 온-디바이스 모델 또는 서버 측 모델의 버전 간 변경에 추가하여, 리듀서(220)는 서버 측 모델의 한 버전에서 특정 버전의 온-디바이스 모델로 변경할 수도 있다. 이들 모델의 모델 및 버전을 가짐으로써, 리듀서(220)는 오픈 마이크로폰 윈도우(212) 동안 스피치 인식 프로세싱 레벨(222)을 감쇠시키기 위해 프로세싱할 수 있는 더 많은 수의 프로세싱 레벨(222)을 갖는다.
일부 구현예들에서, 온-디바이스 스피치 인식 모델의 버전들은 리듀서(220)가 상이한 프로세싱 레벨들(222)에 대해 이러한 버전들을 지정할 수 있도록 상이한 프로세싱 요구들을 갖는다. 온-디바이스 스피치 인식 모델들의 몇 가지 예들에는 반복 신경 네트워크 변환기(RNN-T) 모델들, 듣기, 참석 및 철자(listen-attend-spell)(LAS) 모델들, 신경 변환기 모델들, 단조 정렬 모델들, 반복 신경 정렬(RNA) 모델들 등과 같은 시퀀스 대 시퀀스 모델들이 포함된다. RNN-T 모델과 LAS 모델을 결합한 2-패스 모델과 같이, 이러한 모델들의 하이브리드인 온-디바이스 모델들도 있을 수 있다. 이러한 상이한 버전들의 온-디바이스 모델들로, 리듀서(220)는 상이한 프로세싱 레벨들(222)을 생성하기 위해 이들 버전들 각각의 프로세싱 요구 사항들에 순위를 매기거나 식별할 수 있다. 예를 들어, 2-패스 모델에는 RNN-T 네트워크의 제1 패스와 LAS 네트워크의 제2 패스가 포함된다. 이 2-패스 모델은 다수의 네트워크들을 포함하므로, 리듀서(220)는 2-패스 모델을 스피치 인식을 위한 상대적으로 높은 프로세싱 레벨(222)을 갖는 대형 온-디바이스 모델로 지정할 수 있다. 2-패스 모델의 프로세싱 레벨(222)에서 스피치 인식의 프로세싱 레벨(222)을 감소시키기 위해, 리듀서(220)는 2-패스 모델에서 LAS 모델로 변경될 수 있다. 여기서, LAS 모델은 전사(152)를 형성하는 문자 시퀀스를 생성하기 위해 디코딩 프로세스 동안 어텐션을 수행하는 어텐션 기반 모델이다. 일반적으로 말해서, 어텐션 기반 접근 방식들은 주어진 스피치 입력에 대한 특정 특징들에 주의를 집중하기 위해 더 계산 집약적인 경향이 있다. 비교를 위해, RNN-T 모델은 어텐션 메커니즘을 사용하지 않고 대형 디코더 그래프 대신 단일 신경 네트워크를 통해 빔 검색을 수행한다; 따라서 RNN-T 모델은 LAS 모델보다 더 간결하고 계산 비용이 적게 든다. 이러한 이유들로, 리듀서(220)는 프로세싱 레벨(222)을 감소시키기 위해 스피치 인식을 위한 2-패스 모델, LAS 모델 및 RNN-T 모델 사이에서 변경될 수 있다. 즉, 2-패스 모델은 RNN-T 네트워크를 제1 패스로 사용하고 LAS 네트워크를 제2 패스로 사용하여 제1 패스를 제2 패스로 리스코어링(rescoring)함으로써, LAS 모델 또는 RNN-T 모델 단독보다 더 높은 프로세싱 레벨(222)을 갖는 반면, 어텐션 기반 모델인 LAS 모델은 RNN-T 모델보다 더 높은 프로세싱 레벨(222)을 갖는다. 다양한 버전들의 온-디바이스 스피치 인식 모델들에 대한 스피치 인식 프로세싱 요구 사항들을 식별함으로써, 리듀서(220)는 임의의 상이한 버전들의 온-디바이스 모델들 사이에서 스위칭함으로써 스피치 프로세싱을 감쇠(또는 프로세싱을 증가)시킬 수 있다. 또한, 리듀서(220)가 온-디바이스 모델에 대한 프로세싱 레벨 옵션들과 서버 측 모델들에 대한 프로세싱 레벨 옵션들을 결합하면, 리듀서(220)에 의한 스피치 프로세싱의 감쇠는 다수의 잠재적인 프로세싱 레벨 그라데이션들을 갖는다.
프로세싱 레벨 그라데이션의 잠재적인 수를 추가로 확장하기 위해, 리듀서(220)는 특정 모델의 프로세싱 레벨을 변경하기 위해 주어진 모델에 대한 스피치 프로세싱 단계들 또는 스피치 프로세싱 파라미터들을 수정하도록 구성될 수 있다. 예를 들어, 특정 모델은 신경 네트워크(예: 장단기 기억(LSTM) 레이어들이 있는 반복 신경 네트워크) 의 하나 이상의 레이어들을 포함한다. 일부 예들에서, 출력 레이어는 출력을 생성하기 위해 과거 상태들(후방)과 미래 상태들(전방)로부터 정보를 받을 수 있다. 레이어가 후방 및 전방 상태들을 수신할 때 레이어는 양방향으로 간주된다. 일부 구성예들에서, 리듀서(220)는 스피치 인식 모델을 양방향(즉, 전방 및 후방) 동작에서 단순히 단방향(예: 전방)으로 변경하기 위해 모델의 프로세싱 단계들을 수정하도록 구성된다. 추가적으로 또는 대안적으로, 리듀서(220)는 특정 모델의 프로세싱 레벨(222)을 변경하기 위해 모델이 스피치 인식을 수행하기 위해 사용하는 신경 네트워크 레이어들의 수를 감소시킬 수 있다.
리듀서(220)는 또한 모델에 대한 빔 검색 파라미터들(또는 다른 가지치기/검색 모드 파라미터들)을 변경함으로써 스피치 인식 모델에 대한 프로세싱 레벨(222)을 감소시킬 수 있다. 일반적으로 말해서, 빔 검색에는 스피치 인식 결과를 생성하기 위해 평가할 최상의 잠재적 솔루션들(예: 가설들 또는 후보들)의 수를 지정하는 빔 크기 또는 빔 폭 파라미터가 포함된다. 따라서 빔 검색 프로세스는 스피치 인식 결과를 형성하기 위해 평가되는 솔루션들의 수를 줄이기 위해 잠재적인 솔루션들의 가지치기 유형을 수행한다. 즉, 빔 검색 프로세스는 스피치 인식 결과(예: 발화(12U)의 전사(152)를 생성하기 위해 발화(12U)에서 발화될 가능성이 가장 높은 단어들의 시퀀스를 검색하기 위해 제한된 수의 활성 빔들을 사용함으로써 관련된 계산을 제한할 수 있다. 여기서, 리듀서(220)는 빔 크기를 조정하여 평가할 최상의 잠재적 솔루션들의 수를 줄일 수 있으며, 이는 빔 검색 프로세스에 포함된 계산량을 줄인다. 예를 들어, 리듀서(220)는 빔 크기를 5에서 2로 변경하여 스피치 인식 모델이 5개의 최적 후보들이 아닌 2개의 최적 후보들을 평가하도록 한다.
일부 예들에서, 리듀서(220)는 모델에 대한 더 낮은 프로세싱 레벨(222)을 생성하기 위해 스피치 인식 모델에 대한 하나 이상의 파라미터들에 대해 양자화 또는 희소화를 수행한다. 스피치 인식 결과를 생성할 때 스피치 인식 모델은 일반적으로 많은 수의 가중치들을 생성한다. 예를 들어, 스피치 인식 모델은 스피치 인식 결과(예: 전사(152))를 출력하기 위해 상이한 스피치 파라미터들 및/또는 스피치 관련 특징들에 가중치들을 부여한다. 이러한 가중치들의 개수가 많기 때문에 리듀서(220)는 양자화를 수행하여 이러한 가중치들 값들을 이산화할 수 있다. 예를 들어, 양자화 프로세스는 부동 소수점 가중치들을 고정 소수점 정수로 표시되는 가중치들로 변환한다. 이 양자화 프로세스는 일부 정보나 품질을 잃어버리지만 이러한 양자화된 파라미터들을 프로세싱하는 리소스들이 메모리를 덜 사용하도록 허용하고 특정 하드웨어에서 보다 효율적인 동작들(예: 곱셈들)을 수행할 수 있다.
유사한 측면에서, 희소화는 또한 모델을 실행하기 위한 프로세싱의 양을 줄이는 것을 목표로 한다. 여기서, 희소화(sparsification)는 스피치 인식 모델에서 중복되는 파라미터들이나 특징들을 제거하여 더 관련성이 높은 특징들에 집중하는 프로세스를 의미한다. 예를 들어, 스피치 인식 결과를 결정할 때, 스피치 모델은 모든 스피치 관련 특징들이 특정 스피치 입력과 관련되지 않더라도 모든 스피치 관련 특징들(예: 문자들, 기호들 또는 단어들)에 대한 확률들을 결정할 수 있다. 희소화를 사용함으로써, 모델은 모든 스피치 관련 특징들 대신 입력과 관련된 스피치 관련 특징들에 대한 확률들을 결정함으로써 계산 리소스들을 덜 사용할 수 있다. 희소화 프로세스를 통해 입력과 관련이 없는 스피치 관련 특징들을 무시할 수 있다.
선택적으로, 리듀서(220)는 처음에 오픈 마이크로폰 지속시간 윈도우(212)를 생성하거나 유도한 상호작용(12)(예: 음성 발화(12U))의 컨텍스트를 결정함으로써 스피치 인식을 위한 더 낮은 프로세싱 레벨(222)을 생성할 수 있다. 리듀서(220)가 컨텍스트를 식별하면, 리듀서(220)는 컨텍스트에 기반하여 스피치 인식 결과를 바이어스함으로써 스피치 인식 시스템(150)에 대한 프로세싱 레벨(222)을 감소시키기 위해 컨텍스트를 사용할 수 있다. 일부 구현예들에서, 리듀서(220)는 스피치 인식 시스템(150)을 컨텍스트와 관련된 어휘로 제한함으로써 컨텍스트에 기반한 스피치 인식 결과를 바이어싱한다. 예로서, 사용자(10)는 인터페이스(120)에 "프루식 히치를 어떻게 묶습니까?"라고 물을 수 있다. 이 질문에서, 리듀서(220)는 프루식 히치가 등산 또는 암벽 등반에 주로 사용되는 것으로 결정한다. 즉, 리듀서(220)는 상호작용(12)의 컨텍스트가 등산임을 식별한다. 이 예에서, 리듀서 (220)는 스피치 인식을 위한 프로세싱 레벨(222) 감소를 진행할 때, 스피치 인식 출력을 등산과 관련된 어휘로 제한한다. 그러므로, 이후 사용자(10)가 애팔래치아 산맥에 대한 후속 질문을 하면, 스피치 인식 시스템(150)은 "애플리케이션" 및 "애팔래치아" 용어를 포함하는 가능한 스피치 인식 결과를 생성할 수 있지만, "애팔래치아"는 "등산"의 컨텍스트와 관련되기 때문에 리듀서(220)는 스피치 인식 시스템(150)이 "애팔래치아"라는 용어에 바이어싱되도록 보장한다. 예를 들어, 리듀서(220)는 스피치 인식 시스템(150)에게 식별된 컨텍스트(예: 등산)과 관련된 잠재적인 결과들의 확률 스코어를 증가시키라고 지시한다. 즉, 스피치 인식 시스템(150)은 등산과 관련된 어휘로 잠재적인 결과들에 대한 확률 스코어를 증가시킨다.
스피치 인식 시스템(150)이 디바이스(110) 상에서 동작할 때, 스피치 인식 시스템(150)은 일반적으로 시스템 온 칩 기반(SOC 기반) 프로세서를 사용하여 스피치 인식을 수행할 수 있다. 시스템 온 칩(SOC) 프로세서는 일반 프로세서, 신호 프로세서 및 추가적인 주변 장치들을 의미한다. 리듀서(220)는 스피치 인식 시스템(150)에 SOC 기반 프로세싱에서 디지털시그널 프로세서(DSP)로 변경하도록 지시함으로써 스피치 인식이 SOC 기반 프로세싱을 사용할 때 감소된 프로세싱 레벨(222)을 생성할 수 있다. 여기서, DSP들은 SOC 기반 프로세싱보다 전력 및 메모리를 더 적게 소비하는 경향이 있기 때문에 이러한 변경들로 인해 프로세싱 레벨(222)이 낮아진다.
리듀서(220)가 스피치 인식을 위한 프로세싱 레벨(222)을 감쇠시킴에 따라, 감쇠가 발생하고 있다는 어느 정도의 표시를 사용자(10)에게 제공하는 것이 유리할 수 있다. 이러한 표시를 제공하기 위해, 디바이스(110)와 연관된 그래픽 사용자 인터페이스(GUI)는 스피치 인식 시스템(150)의 현재 프로세싱 레벨(222)을 나타내는 그래픽 표시기를 포함할 수 있다. 일부 예들에서, 그래픽 표시기는 프로세싱 레벨(222)의 감쇠에 비례하여 희미해지도록 구성된 밝기 레벨을 갖는다. 예를 들어, 디바이스(110)의 스크린은 리듀서(220)가 스피치 인식을 위한 프로세싱 레벨(222)을 감쇠시킴에 따라 점진적으로 희미해지는 마이크로폰(116)이 오픈되어 있음(즉, 상호작용들(12)을 듣고 있음)을 나타내는 적색 마이크로폰 점을 보여주는 GUI를 포함한다. 여기서, 마이크로폰(116)이 클로즈되면 적색 마이크로폰 점이 꺼진다. 추가로 또는 대안적으로, 마이크로폰(116)이 오픈되어 있음을 나타내는 표시기 및/또는 스피치 인식을 위한 프로세싱 레벨(222)의 감쇠 정도는 디바이스(110)의 표시등(예: 발광 다이오드(LED))과 같은 하드웨어 표시기일 수 있다. 예를 들어, LED는 마이크로폰(116)이 클로즈될 때까지 프로세싱 레벨(222)이 감소함에 따라 꺼질 때까지 꺼지거나 감소하는 속도로(예: 점점 더 느리게) 깜박인다.
도 3은 스피치 프로세싱을 감쇠시키는 방법(300)에 대한 동작들의 예시적인 배열의 흐름도이다. 동작(302)에서, 방법(300)은 보이스 지원 디바이스(110)에서, 스피치를 통해 보이스 지원 디바이스(110)와의 가능한 상호작용을 나타내는 마이크로폰 트리거 이벤트(202)의표시를 수신하고, 여기서 보이스 지원 디바이스(110)는 오픈 시, 자동 스피치 인식(ASR) 시스템(150)에 의한 인식을 위해 스피치를 캡처하도록 구성된 마이크로폰(116)을 가진다. 동작(304)은 마이크로폰 트리거 이벤트(202)의 표시를 수신하는 것에 응답하여 발생하는 2개의 하위 동작들(304, 304a-b)을 포함한다. 동작(304a)에서, 방법(300)은 보이스 지원 디바이스(110)의 환경에서 오디오 스트림(16)을 캡처하기 위해 오픈 마이크로폰 지속시간 윈도우(212) 동안 오픈되거나 오픈된 상태를 유지하도록 마이크로폰(116)에 지시한다. 동작(304b)에서, 방법(300)은 오픈 마이크로폰(116)에 의해 캡처된 오디오 스트림(16)을 ASR 시스템(150)에 제공하여 오디오 스트림(16)에 대한 ASR 프로세싱을 수행한다. 동작(306)은 ASR 시스템(150)이 오픈 마이크로폰(116)에 의해 캡처된 오디오 스트림(16)에 대해 ASR 프로세싱을 수행하는 동안 발생하는 2개의 하위 동작들(306, 306a-b)을 포함한다. 동작(306)에서, 방법(300)은 ASR 시스템(150)이 오픈 마이크로폰 지속시간 윈도우(212)의 함수에 기반하여 오디오 스트림(16)에 대해 수행하는 ASR 프로세싱의 레벨(222)을 감쇠시킨다. 동작(306b)에서, 방법(300)은 오픈 마이크로폰(116)에 의해 캡처된 오디오 스트림(16)에 대한 ASR 프로세싱의 감쇠된 레벨(204, 222)을 사용하도록 ASR 시스템(150)에 지시한다.
도 4는 본 문서에 기술된 시스템들(예: 디바이스(110), 인터페이스(120), 원격 시스템(140), 스피치 인식 시스템(150), 검색 엔진(160) 및/또는 분석기(200)) 및 방법들(예: 방법(300))을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 디바이스(400)의 개략도이다. 컴퓨팅 디바이스(400)는 랩탑, 데스크탑, 워크스테이션, 개인용 디지털 어시스턴트, 서버, 블레이드 서버, 메인프레임 및 기타 적절한 컴퓨터와 같은 다양한 형태들의 디지털 컴퓨터들을 나타내도록 의도된다. 여기에 표시된 구성요소, 연결 및 관계, 기능은 예시일 뿐이며 이 문서에서 설명 및/또는 청구된 발명의 구현을 제한하지 않는다.
컴퓨팅 디바이스(400)는 프로세서(410), 메모리(420), 스토리지 디바이스(430), 메모리(420) 및 고속 확장 포트(450)에 연결되는 고속 인터페이스/컨트롤러(440), 및 저속 버스(470) 및 스토리지 디바이스(430)에 연결되는 저속 인터페이스/컨트롤러(460)를 포함한다. 구성요소들(410, 420, 430, 440, 450 및 460) 각각은 다양한 버스를 사용하여 상호 연결되며, 공통 마더보드 또는 적절한 다른 방식으로 장착될 수 있다. 프로세서(410)는 고속 인터페이스(440)에 결합된 디스플레이(480)와 같은, 외부 입력/출력 디바이스에 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 디스플레이하기 위해 메모리(420) 또는 스토리지 디바이스(430)에 저장된 명령어들을 포함하여, 컴퓨팅 디바이스(400) 내에서 실행하기 위한 명령어들을 프로세싱할 수 있다. 다른 구현예들에서, 다수의 프로세서 및/또는 다수의 버스는 다수의 메모리 및 메모리 유형과 함께 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들(400)이 연결될 수 있으며, 각각의 디바이스는 필요한 동작들의 일부를 제공한다(예: 서버 뱅크, 블레이드 서버 그룹 또는 멀티 프로세서 시스템).
메모리(420)는 컴퓨팅 디바이스(400) 내에 비일시적으로 정보를 저장한다. 메모리(420)는 컴퓨터 판독가능 매체, 휘발성 메모리 유닛(들) 또는 비휘발성 메모리 유닛(들)일 수 있다. 비일시적 메모리(420)는 컴퓨팅 디바이스(400)에 의한 사용을 위해 일시적 또는 영구적으로 프로그램(예: 명령어들의 시퀀스) 또는 데이터(예: 프로그램 상태 정보)를 저장하는 데 사용되는 물리적 디바이스들일 수 있다. 비휘발성 메모리의 예로는, 플래시 메모리 및 읽기 전용 메모리(ROM) / 프로그래밍 가능한 읽기 전용 메모리(PROM) / 지울 수 있는 프로그래밍 가능한 읽기 전용 메모리(EPROM) / 전자적으로 지울 수 있는 프로그래밍 가능한 읽기 전용 메모리(EEPROM)(예: 부트 프로그램과 같은 펌웨어에 일반적으로 사용됨)가 포함되지만 이에 국한되지 않는다. 휘발성 휘발성 메모리의 예에는 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(DRAM), 정적 랜덤 액세스 메모리(SRAM), 위상 변경 메모리(PCM) 및 디스크나 테이프가 포함되지만 이에 제한되지 않는다.
스토리지 디바이스(430)는 컴퓨팅 디바이스(400)를 위한 대용량 스토리지를 제공할 수 있다. 일부 구현예들에서, 스토리지 디바이스(430)는 컴퓨터 판독가능 매체이다. 다양한 상이한 구현예들에서, 플로피 디스크 디바이스, 하드 디스크 디바이스, 광학 디스크 디바이스 또는 테이프 디바이스, 플래시 메모리 또는 기타 유사한 솔리드 스테이트 메모리 디바이스, 스토리지 영역 네트워크(SAN) 또는 기타 구성의 디바이스들을 포함하는 디바이스들의 배열일 수 있다. 추가 구현예들에서, 컴퓨터 프로그램 제품은 정보 매체에 유형적으로 구현된다. 컴퓨터 프로그램 제품은 실행될 때 위에서 설명한 것과 같은 하나 이상의 방법들을 수행하는 명령어들을 포함한다. 정보 매체는 메모리(420), 스토리지 디바이스(430) 또는 프로세서(410) 상의 메모리와 같은 컴퓨터 또는 기계 판독가능 매체이다.
고속 컨트롤러(440)는 컴퓨팅 디바이스(400)에 대한 대역폭 집중 동작들을 관리하는 반면, 저속 컨트롤러(460)는 낮은 대역폭 집중 동작들을 관리한다. 이러한 의무 할당은 예시일 뿐이다. 일부 구현예들에서, 고속 컨트롤러(440)는 메모리(420), 디스플레이(480)(예: 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드(미도시)를 수용할 수 있는 고속 확장 포트(450)에 결합된다. 일부 구현예들에서, 저속 컨트롤러(460)는 스토리지 디바이스(430) 및 저속 확장 포트(490)에 결합된다. 저속 확장 포트(490)는 다양한 통신 포트(예: USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있으며, 예를 들어 네트워크 어댑터를 통해 키보드, 포인팅 디바이스, 스캐너 또는 스위치나 라우터와 같은 네트워킹 디바이스와 같은 하나 이상의 입력/출력 디바이스에 결합될 수 있다.
컴퓨팅 디바이스(400)는 도면에 도시된 바와 같이, 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 표준 서버(400a)로 구현되거나 이러한 서버들(400a)의 그룹에서 여러 번, 랩탑 컴퓨터(400b) 또는 랙 서버 시스템(400c)의 일부로 구현될 수 있다.
여기에 설명된 시스템들 및 기법들의 다양한 구현예들은 디지털 전자 및/또는 광학 회로, 집적 회로, 특별히 설계된 ASICs(애플리케이션 특정 집적 회로), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 실현될 수 있다. 이러한 다양한 구현예들은 적어도 하나의 프로그래밍 가능한 프로세서를 포함하는 프로그래밍가능한 시스템 상에서 실행가능 및/또는 해석가능한 하나 이상의 컴퓨터 프로그램들에서의 구현을 포함할 수 있으며, 이는 스토리지 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령어들을 수신하고 데이터 및 명령어들을 전송하도록 결합된 특수 또는 범용일 수 있다.
이러한 컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드라고도 함)은 프로그래밍가능한 프로세서에 대한 기계 명령어들을 포함하며, 고급 절차 및/또는 객체 지향 프로그래밍 언어 및/또는 어셈블리/기계 언어로 구현될 수 있다. 본 명세서에서 사용되는 바와 같이, "기계 판독가능 매체" 및 "컴퓨터 판독가능 매체"라는 용어들은 기계 판독가능 신호로서 기계 명령어들을 수신하는 기계 판독가능 매체를 포함하여, 프로그램가능한 프로세서에 기계 명령어들 및/또는 데이터를 제공하는 데 사용되는 모든 컴퓨터 프로그램 제품, 비일시적 컴퓨터 판독가능 매체, 장치 및/또는 디바이스((예: 자기 디스크, 광 디스크, 메모리, 프로그램가능 로직 디바이스(PLD)들)를 의미한다. "기계 판독가능 신호"라는 용어는 프로그램가능한 프로세서에 기계 명령어들 및/또는 데이터를 제공하는 데 사용되는 모든 신호를 의미한다.
본 명세서에 기술된 프로세스 및 논리 흐름은 데이터 프로세싱 하드웨어라고도 지칭되는, 하나 이상의 프로그래밍 가능한 프로세서들에 의해 수행될 수 있으며, 하나 이상의 컴퓨터 프로그램들을 실행하여 입력 데이터에 대해 동작하고 출력을 생성함으로써 기능들을 수행할 수 있다. 프로세스 및 논리 흐름들은 특수 목적 논리 회로, 예를 들어 FPGA(필드 프로그래밍가능 게이트 어레이) 또는 ASIC(애플리케이션 특정 집적 회로)에 의해 수행될 수도 있다. 컴퓨터 프로그램 실행에 적합한 프로세서에는 예를 들어, 범용 및 특수 목적 마이크로프로세서 모두와 모든 종류의 디지털 컴퓨터의 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 읽기 전용 메모리나 랜덤 액세스 메모리 또는 둘 다에서 명령어들과 데이터를 수신한다. 컴퓨터의 필수 요소들은 명령어들을 수행하기 위한 프로세서와 명령어들과 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 스토리지 디바이스들, 예를 들어 자기, 광자기 디스크 또는 광 디스크로부터 데이터를 수신하거나 데이터를 전송하거나 둘 모두를 포함하거나 작동가능하게 결합될 것이다. 그러나 컴퓨터에는 이러한 디바이스들이 필요하지 않다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적합한 컴퓨터 판독가능 매체는 예를 들어 EPROM, EEPROM 및 플래시 메모리 디바이스와 같은 반도체 메모리 디바이스; 자기 디스크, 예를 들어 내부 하드 디스크 또는 이동식 디스크; 광자기 디스크; 그리고 CD ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비휘발성 메모리, 매체 및 메모리 디바이스를 포함한다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다.
사용자와의 상호작용을 제공하기 위해, 본 발명의 하나 이상의 양태들은 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스, 예를 들어 CRT(음극선관), LCD(액정 디스플레이) 모니터 또는 터치 스크린 및 선택적으로 키보드 및 포인팅 디바이스, 예를 들어 마우스 또는 트랙볼을 갖는 컴퓨터에서 구현될 수 있으며, 이를 통해 사용자는 컴퓨터에 입력을 제공할 수 있다. 다른 종류의 디바이스들을 사용하여 사용자와의 상호작용도 제공할 수 있다; 예를 들어, 사용자에게 제공되는 피드백은 시각적 피드백, 청각적 피드백 또는 촉각적 피드백과 같은 임의의 형태의 감각 피드백일 수 있다; 그리고 사용자로부터의 입력은 음향, 스피치 또는 촉각적 입력을 포함한 모든 형태로 수신될 수 있다. 또한 컴퓨터는 사용자가 사용하는 디바이스와 문서를 주고받음으로써 사용자와 상호작용할 수 있다; 예를 들어, 웹 브라우저에서 받은 요청에 대한 응답으로 사용자 클라이언트 디바이스의 웹 브라우저에 웹 페이지를 보낼 수 있다.
다수의 구현예들이 설명되었다. 그럼에도 불구하고, 본 발명의 사상 및 범위를 벗어나지 않고 다양한 수정이 이루어질 수 있음이 이해될 것이다. 따라서, 다른 구현예들은 다음 청구 범위 내에 있다.

Claims (28)

  1. 방법(300)으로서,
    보이스 지원 디바이스(110)의 데이터 프로세싱 하드웨어(112)에서, 스피치를 통해 상기 보이스 지원 디바이스(110)와의 가능한 사용자 상호작용을 나타내는 마이크로폰 트리거 이벤트(202)의 표시를 수신하는 단계, 상기 보이스 지원 디바이스(110)는 오픈 시, 자동 스피치 인식(ASR) 시스템(150)에 의한 인식을 위해 스피치를 캡처하도록 구성된 마이크로폰(116)을 가지며,
    상기 마이크로폰 트리거 이벤트(202)의 표시를 수신하는 것에 응답하여:
    상기 데이터 프로세싱 하드웨어(112)에 의해, 상기 보이스 지원 디바이스(110)의 환경에서 오디오 스트림(16)을 캡처하기 위해 오픈 마이크로폰 지속시간 윈도우(open microphone duration window)(212) 동안 오픈되거나 오픈된 상태를 유지하도록 마이크로폰(116)에 지시하는 단계; 및
    상기 데이터 프로세싱 하드웨어(112)에 의해, 오픈 마이크로폰(116)에 의해 캡처된 오디오 스트림(16)을 ASR 시스템(100)에 제공하여 오디오 스트림(16)에 대한 ASR 프로세싱을 수행하는 단계; 및
    상기 ASR 시스템(150)이 오픈 마이크로폰(116)에 의해 캡처된 오디오 스트림(16)에 대한 ASR 프로세싱을 수행하는 동안:
    상기 데이터 프로세싱 하드웨어(112)에 의해, 상기 ASR 시스템(150)이 오픈 마이크로폰 지속시간 윈도우(212)의 함수에 기반하여 오디오 스트림(16)에 대해 수행하는 ASR 프로세싱의 레벨을 감쇠시키는 단계; 및
    상기 데이터 프로세싱 하드웨어(112)에 의해, 오픈 마이크로폰(116)에 의해 캡처된 오디오 스트림(16)에 대한 ASR 프로세싱의 감쇠된 레벨(204, 222)을 사용하도록 상기 ASR 시스템(150)에 지시하는 단계를 포함하는, 방법(300).
  2. 제1항에 있어서,
    상기 ASR 시스템(150)이 오픈 마이크로폰(116)에 의해 캡처된 오디오 스트림(16)에 대한 ASR 프로세싱을 수행하는 동안:
    상기 데이터 프로세싱 하드웨어(112)에 의해, 오픈 마이크로폰(116)에 의해 캡처된 오디오 스트림(16)에서 보이스 활동이 검출되는지 여부를 결정하는 단계를 더 포함하고,
    상기 ASR 시스템(150)이 오디오 스트림(16)에 대해 수행하는 ASR 프로세싱의 레벨을 감쇠시키는 단계는 오디오 스트림(16)에서 임의의 보이스 활동이 검출되는지 여부에 대한 결정에 더 기반하는, 방법(300).
  3. 제1항 또는 제2항에 있어서,
    상기 ASR 시스템(150)은 초기에 제1 프로세싱 레벨(222)을 사용하여 오픈 마이크로폰 지속시간 윈도우(212)의 시작 시 오디오 스트림(16)에 대해 ASR 프로세싱을 수행하고, 상기 제1 프로세싱 레벨(222)은 상기 ASR 시스템(150)의 전체 프로세싱 능력들과 연관되며, 그리고
    상기 ASR 시스템(150)이 오픈 마이크로폰 지속시간 윈도우(212)의 함수에 기반하여 오디오 스트림(16)에 대해 수행하는 ASR 프로세싱의 레벨을 감쇠시키는 단계는:
    오픈 마이크로폰 지속시간 윈도우(212)를 시작한 이후 제1 시간 간격이 경과했는지 여부를 결정하는 단계; 및
    상기 제1 시간 간격이 경과했을 때, ASR 프로세싱의 레벨을 상기 제1 프로세싱 레벨(222)에서 제2 프로세싱 레벨(222)로 감소시킴으로써 상기 ASR 시스템(150)이 오디오 스트림(16)에 대해 수행하는 ASR 프로세싱의 레벨을 감쇠시키는 단계를 포함하고, 상기 제2 프로세싱 레벨(222)은 상기 제1 프로세싱 레벨(222)보다 작은, 방법(300).
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 ASR 프로세싱의 감쇠된 레벨(204, 222)을 사용하도록 상기 ASR 시스템(150)에 지시하는 단계는 상기 보이스 지원 디바이스(110)와 통신하는 원격 서버(140)에서 ASR 프로세싱을 수행하는 것에서 상기 보이스 지원 디바이스(110)의 상기 데이터 프로세싱 하드웨어(112)에서 ASR 프로세싱을 수행하는 것으로 스위치하도록 상기 ASR 시스템(150)에 지시하는 단계를 포함하는, 방법(300).
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 ASR 프로세싱의 감쇠된 레벨(204, 222)을 사용하도록 상기 ASR 시스템(150)에 지시하는 단계는 오디오 스트림(16)에 대한 ASR 프로세싱을 수행하기 위해 제1 ASR 모델을 사용하는 것에서 제2 ASR 모델로 스위치하도록 상기 ASR 시스템(150)에 지시하는 단계를 포함하고, 상기 제2 ASR 모델은 상기 제1 ASR 모델보다 더 적은 파라미터들을 포함하는, 방법(300).
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 ASR 프로세싱의 감쇠된 레벨(204, 222)을 사용하도록 상기 ASR 시스템(150)에 지시하는 단계는 오디오 스트림(16)에 대해 수행되는 ASR 프로세싱 단계들의 수를 줄이도록 상기 ASR 시스템(150)에 지시하는 단계를 포함하는, 방법(300).
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 ASR 프로세싱의 감쇠된 레벨(204, 222)을 사용하도록 상기 ASR 시스템(150)에 지시하는 단계는 상기 ASR 시스템(150)의 디코딩 검색 공간을 줄이기 위해 빔 검색 파라미터들을 조정하도록 상기 ASR 시스템(150)에 지시하는 단계를 포함하는, 방법(300).
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 ASR 프로세싱의 감쇠된 레벨(204, 222)을 사용하도록 상기 ASR 시스템(150)에 지시하는 단계는 상기 ASR 시스템(150)의 하나 이상의 파라미터들에 대해 양자화(quantization) 및/또는 희소화(sparsification)를 수행하도록 상기 ASR 시스템(150)에 지시하는 단계를 포함하는, 방법(300).
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    상기 데이터 프로세싱 하드웨어(112)에 의해, 상기 마이크로폰 트리거 이벤트(202)의 표시가 수신될 때 현재 컨텍스트를 획득하는 단계를 더 포함하고,
    상기 ASR 프로세싱의 감쇠된 레벨(204, 222)을 사용하도록 상기 ASR 시스템(150)에 지시하는 단계는 상기 현재 컨텍스트에 기반하여 스피치 인식 결과들(152)을 바이어스하도록 상기 ASR 시스템(150)에 지시하는 단계를 포함하는, 방법(300).
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 ASR 프로세싱의 감쇠된 레벨(204, 222)을 사용하도록 상기 ASR 시스템(150)에 지시하는 단계는 오디오 스트림(16)에 대한 ASR 프로세싱을 수행하기 위한 시스템(100) 온 칩 기반(SOC 기반) 프로세싱에서 오디오 스트림(16)에 대한 ASR 프로세싱을 수행하기 위한 디지털 시그널 프로세서 기반(DSP 기반) 프로세싱으로 스위치하도록 상기 ASR 시스템(150)에 지시하는 단계를 포함하는, 방법(300).
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    상기 ASR 시스템(150)이 오픈 마이크로폰(116)에 의해 캡처된 오디오 스트림(16)에 대한 ASR 프로세싱의 감쇠된 레벨(204, 222)을 사용하는 동안, 상기 ASR 시스템(150)은:
    사용자에 의해 발화된 쿼리에 대응하는 오디오 데이터(124)에 대한 스피치 인식 결과(152)를 생성하고; 그리고
    상기 쿼리에 의해 지정된 액션을 수행하기 위해 애플리케이션에 상기 스피치 인식 결과(152)를 제공하도록 구성된, 방법(300).
  12. 제1항 내지 제11항 중 어느 한 항에 있어서,
    상기 오디오 스트림(16)에 대한 ASR 프로세싱의 감쇠된 레벨(204, 222)을 사용하도록 상기 ASR 시스템(150)에 지시하는 단계 이후,
    상기 데이터 프로세싱 하드웨어(112)에서, 상기 ASR 시스템(150)에 의해 출력된 보이스 쿼리에 대한 스피치 인식 결과(152)에 대한 신뢰도가 신뢰도 임계값을 만족하지 못한다는 표시를 수신하는 단계; 및
    상기 데이터 프로세싱 하드웨어(112)에 의해, 상기 ASR 시스템(150)에:
    ASR 프로세싱의 레벨을 감쇠된 레벨에서 증가하도록; 그리고
    상기 ASR 프로세싱의 증가된 레벨을 사용하여 상기 보이스 쿼리를 리프로세싱하도록 지시하는 단계를 더 포함하는, 방법(300).
  13. 제1항 내지 제12항 중 어느 한 항에 있어서,
    상기 ASR 시스템(150)이 오픈 마이크로폰(116)에 의해 캡처된 오디오 스트림(16)에 대한 ASR 프로세싱을 수행하는 동안:
    상기 데이터 프로세싱 하드웨어(112)에 의해, ASR이 오픈 마이크로폰(116) 지속시간의 함수에 기반하여 오디오 스트림(16)에 대해 수행하는 ASR 프로세싱의 감쇠된 레벨(204, 222)이 0과 동일한 시점을 결정하는 단계; 및
    상기 ASR 프로세싱의 감쇠된 레벨(204, 222)이 0과 동일할 때, 상기 데이터 프로세싱 하드웨어(112)에 의해, 마이크로폰(116)이 클로즈되도록 지시하는 단계를 더 포함하는, 방법(300).
  14. 제1항 내지 제13항 중 어느 한 항에 있어서,
    상기 데이터 프로세싱 하드웨어(112)에 의해, 상기 보이스 지원 디바이스(110)의 그래픽 사용자 인터페이스(120)에 디스플레이하는 단계를 더 포함하고, 그래픽 표시기는 오디오 스트림(16)에서 상기 ASR 시스템(150)에 의해 수행되는 ASR 프로세싱의 감쇠된 레벨(204, 222)을 나타내는, 방법(300).
  15. 시스템(100)으로서,
    데이터 프로세싱 하드웨어(112); 및
    상기 데이터 프로세싱 하드웨어(112)와 통신하는 메모리 하드웨어(114)를 포함하고, 상기 메모리 하드웨어(114)는 상기 데이터 프로세싱 하드웨어(112)에서 실행될 때 상기 데이터 프로세싱 하드웨어(112)로 하여금 동작들을 수행하게 하는 명령어들을 저장하고, 상기 동작들은:
    보이스 지원 디바이스(110)에서, 스피치를 통해 상기 보이스 지원 디바이스(110)와의 가능한 사용자 상호작용을 나타내는 마이크로폰 트리거 이벤트(202)의 표시를 수신하는 동작, 상기 보이스 지원 디바이스(110)는 오픈 시, 자동 스피치 인식(ASR) 시스템(150)에 의한 인식을 위해 스피치를 캡처하도록 구성된 마이크로폰(116)을 가지며,
    상기 마이크로폰 트리거 이벤트(202)의 표시를 수신하는 것에 응답하여:
    상기 보이스 지원 디바이스(110)의 환경에서 오디오 스트림(16)을 캡처하기 위해 오픈 마이크로폰 지속시간 윈도우(open microphone duration window)(212) 동안 오픈되거나 오픈된 상태를 유지하도록 마이크로폰(116)에 지시하는 동작; 및
    오픈 마이크로폰(116)에 의해 캡처된 오디오 스트림(16)을 ASR 시스템(100)에 제공하여 오디오 스트림(16)에 대한 ASR 프로세싱을 수행하는 동작; 및
    상기 ASR 시스템(150)이 오픈 마이크로폰(116)에 의해 캡처된 오디오 스트림(16)에 대한 ASR 프로세싱을 수행하는 동안:
    상기 ASR 시스템(150)이 오픈 마이크로폰 지속시간 윈도우(212)의 함수에 기반하여 오디오 스트림(16)에 대해 수행하는 ASR 프로세싱의 레벨을 감쇠시키는 동작; 및
    오픈 마이크로폰(116)에 의해 캡처된 오디오 스트림(16)에 대한 ASR 프로세싱의 감쇠된 레벨(204, 222)을 사용하도록 상기 ASR 시스템(150)에 지시하는 동작을 포함하는, 시스템(100).
  16. 제15항에 있어서,
    상기 동작들은 ASR 시스템(150)이 오픈 마이크로폰(116)에 의해 캡처된 오디오 스트림(16)에 대한 ASR 프로세싱을 수행하는 동안:
    오픈 마이크로폰(116)에 의해 캡처된 오디오 스트림(16)에서 보이스 활동이 검출되는지 여부를 결정하는 동작을 더 포함하고,
    상기 ASR 시스템(150)이 오디오 스트림(16)에 대해 수행하는 ASR 프로세싱의 레벨을 감쇠시키는 동작은 오디오 스트림(16)에서 임의의 보이스 활동이 검출되는지 여부에 대한 결정에 더 기반하는, 시스템(100).
  17. 제15항 또는 제16항에 있어서,
    상기 ASR 시스템(150)은 초기에 제1 프로세싱 레벨(222)을 사용하여 오픈 마이크로폰 지속시간 윈도우(212)의 시작 시 오디오 스트림(16)에 대해 ASR 프로세싱을 수행하고, 상기 제1 프로세싱 레벨(222)은 상기 ASR 시스템(150)의 전체 프로세싱 능력들과 연관되며, 그리고
    상기 ASR 시스템(150)이 오픈 마이크로폰 지속시간 윈도우(212)의 함수에 기반하여 오디오 스트림(16)에 대해 수행하는 ASR 프로세싱의 레벨을 감쇠시키는 동작은:
    오픈 마이크로폰 지속시간 윈도우(212)를 시작한 이후 제1 시간 간격이 경과했는지 여부를 결정하는 동작; 및
    상기 제1 시간 간격이 경과했을 때, ASR 프로세싱의 레벨을 상기 제1 프로세싱 레벨(222)에서 제2 프로세싱 레벨(222)로 감소시킴으로써 상기 ASR 시스템(150)이 오디오 스트림(16)에 대해 수행하는 ASR 프로세싱의 레벨을 감쇠시키는 동작을 포함하고, 상기 제2 프로세싱 레벨(222)은 상기 제1 프로세싱 레벨(222)보다 작은, 시스템(100).
  18. 제15항 내지 제17항 중 어느 한 항에 있어서,
    상기 ASR 프로세싱의 감쇠된 레벨(204, 222)을 사용하도록 상기 ASR 시스템(150)에 지시하는 동작은 상기 보이스 지원 디바이스(110)와 통신하는 원격 서버(140)에서 ASR 프로세싱을 수행하는 것에서 상기 보이스 지원 디바이스(110)의 상기 데이터 프로세싱 하드웨어(112)에서 ASR 프로세싱을 수행하는 것으로 스위치하도록 상기 ASR 시스템(150)에 지시하는 동작을 포함하는, 시스템(100).
  19. 제15항 내지 제18항 중 어느 한 항에 있어서,
    상기 ASR 프로세싱의 감쇠된 레벨(204, 222)을 사용하도록 상기 ASR 시스템(150)에 지시하는 동작은 오디오 스트림(16)에 대한 ASR 프로세싱을 수행하기 위해 제1 ASR 모델을 사용하는 것에서 제2 ASR 모델로 스위치하도록 상기 ASR 시스템(150)에 지시하는 동작을 포함하고, 상기 제2 ASR 모델은 상기 제1 ASR 모델보다 더 적은 파라미터들을 포함하는, 시스템(100).
  20. 제15항 내지 제19항 중 어느 한 항에 있어서,
    상기 ASR 프로세싱의 감쇠된 레벨(204, 222)을 사용하도록 상기 ASR 시스템(150)에 지시하는 동작은 오디오 스트림(16)에 대해 수행되는 ASR 프로세싱 단계들의 수를 줄이도록 상기 ASR 시스템(150)에 지시하는 동작을 포함하는, 시스템(100).
  21. 제15항 내지 제20항 중 어느 한 항에 있어서,
    상기 ASR 프로세싱의 감쇠된 레벨(204, 222)을 사용하도록 상기 ASR 시스템(150)에 지시하는 동작은 상기 ASR 시스템(150)의 디코딩 검색 공간을 줄이기 위해 빔 검색 파라미터들을 조정하도록 상기 ASR 시스템(150)에 지시하는 동작을 포함하는, 시스템(100).
  22. 제15항 내지 제21항 중 어느 한 항에 있어서,
    상기 ASR 프로세싱의 감쇠된 레벨(204, 222)을 사용하도록 상기 ASR 시스템(150)에 지시하는 동작은 상기 ASR 시스템(150)의 하나 이상의 파라미터들에 대해 양자화(quantization) 및/또는 희소화(sparsification)를 수행하도록 상기 ASR 시스템(150)에 지시하는 동작을 포함하는, 시스템(100).
  23. 제15항 내지 제22항 중 어느 한 항에 있어서,
    상기 동작들은:
    상기 마이크로폰 트리거 이벤트(202)의 표시가 수신될 때 현재 컨텍스트를 획득하는 동작을 더 포함하고,
    상기 ASR 프로세싱의 감쇠된 레벨(204, 222)을 사용하도록 상기 ASR 시스템(150)에 지시하는 동작은 상기 현재 컨텍스트에 기반하여 스피치 인식 결과들(152)을 바이어스하도록 상기 ASR 시스템(150)에 지시하는 동작을 포함하는, 시스템(100).
  24. 제15항 내지 제23항 중 어느 한 항에 있어서,
    상기 ASR 프로세싱의 감쇠된 레벨(204, 222)을 사용하도록 상기 ASR 시스템(150)에 지시하는 동작은 오디오 스트림(16)에 대한 ASR 프로세싱을 수행하기 위한 시스템(100) 온 칩 기반(SOC 기반) 프로세싱에서 오디오 스트림(16)에 대한 ASR 프로세싱을 수행하기 위한 디지털 시그널 프로세서 기반(DSP 기반) 프로세싱으로 스위치하도록 상기 ASR 시스템(150)에 지시하는 동작을 포함하는, 시스템(100).
  25. 제15항 내지 제24항 중 어느 한 항에 있어서,
    상기 ASR 시스템(150)이 오픈 마이크로폰(116)에 의해 캡처된 오디오 스트림(16)에 대한 ASR 프로세싱의 감쇠된 레벨(204, 222)을 사용하는 동안, 상기 ASR 시스템(150)은:
    사용자에 의해 발화된 쿼리에 대응하는 오디오 데이터(124)에 대한 스피치 인식 결과(152)를 생성하고; 그리고
    상기 쿼리에 의해 지정된 액션을 수행하기 위해 애플리케이션에 상기 스피치 인식 결과(152)를 제공하도록 구성된, 시스템(100).
  26. 제15항 내지 제25항 중 어느 한 항에 있어서,
    상기 동작들은 상기 오디오 스트림(16)에 대한 ASR 프로세싱의 감쇠된 레벨(204, 222)을 사용하도록 상기 ASR 시스템(150)에 지시하는 동작 이후,
    상기 ASR 시스템(150)에 의해 출력된 보이스 쿼리에 대한 스피치 인식 결과(152)에 대한 신뢰도가 신뢰도 임계값을 만족하지 못한다는 표시를 수신하는 동작; 및
    상기 ASR 시스템(150)에:
    ASR 프로세싱의 레벨을 감쇠된 레벨에서 증가하도록; 그리고
    상기 ASR 프로세싱의 증가된 레벨을 사용하여 상기 보이스 쿼리를 리프로세싱하도록 지시하는 동작을 더 포함하는, 시스템(100).
  27. 제15항 내지 제26항 중 어느 한 항에 있어서,
    상기 ASR 시스템(150)이 오픈 마이크로폰(116)에 의해 캡처된 오디오 스트림(16)에 대한 ASR 프로세싱을 수행하는 동안:
    ASR이 오픈 마이크로폰(116) 지속시간의 함수에 기반하여 오디오 스트림(16)에 대해 수행하는 ASR 프로세싱의 감쇠된 레벨(204, 222)이 0과 동일한 시점을 결정하는 동작; 및
    상기 ASR 프로세싱의 감쇠된 레벨(204, 222)이 0과 동일할 때, 마이크로폰(116)이 클로즈되도록 지시하는 단계를 더 포함하는, 시스템(100).
  28. 제15항 내지 제27항 중 어느 한 항에 있어서,
    상기 동작들은 상기 보이스 지원 디바이스(110)의 그래픽 사용자 인터페이스(120)에 디스플레이하는 동작을 더 포함하고, 그래픽 표시기는 오디오 스트림(16)에서 상기 ASR 시스템(150)에 의해 수행되는 ASR 프로세싱의 감쇠된 레벨(204, 222)을 나타내는, 시스템(100).
KR1020237020588A 2020-12-03 2021-11-16 자동 스피치 인식 프로세싱 결과 감쇠 KR20230109711A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/111,467 2020-12-03
US17/111,467 US11676594B2 (en) 2020-12-03 2020-12-03 Decaying automated speech recognition processing results
PCT/US2021/059588 WO2022119705A1 (en) 2020-12-03 2021-11-16 Decaying automated speech recognition processing results

Publications (1)

Publication Number Publication Date
KR20230109711A true KR20230109711A (ko) 2023-07-20

Family

ID=78827641

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237020588A KR20230109711A (ko) 2020-12-03 2021-11-16 자동 스피치 인식 프로세싱 결과 감쇠

Country Status (6)

Country Link
US (2) US11676594B2 (ko)
EP (1) EP4244848A1 (ko)
JP (2) JP7436757B2 (ko)
KR (1) KR20230109711A (ko)
CN (1) CN116547747A (ko)
WO (1) WO2022119705A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11955137B2 (en) * 2021-03-11 2024-04-09 Apple Inc. Continuous dialog with a digital assistant
US20240013782A1 (en) * 2022-07-11 2024-01-11 Google Llc History-Based ASR Mistake Corrections

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8463610B1 (en) * 2008-01-18 2013-06-11 Patrick J. Bourke Hardware-implemented scalable modular engine for low-power speech recognition
US9070367B1 (en) * 2012-11-26 2015-06-30 Amazon Technologies, Inc. Local speech recognition of frequent utterances
US11393461B2 (en) * 2013-03-12 2022-07-19 Cerence Operating Company Methods and apparatus for detecting a voice command
US9305554B2 (en) * 2013-07-17 2016-04-05 Samsung Electronics Co., Ltd. Multi-level speech recognition
US9613624B1 (en) 2014-06-25 2017-04-04 Amazon Technologies, Inc. Dynamic pruning in speech recognition
US9646628B1 (en) 2015-06-26 2017-05-09 Amazon Technologies, Inc. Noise cancellation for open microphone mode
US10115399B2 (en) * 2016-07-20 2018-10-30 Nxp B.V. Audio classifier that includes analog signal voice activity detection and digital signal voice activity detection
US20180025731A1 (en) * 2016-07-21 2018-01-25 Andrew Lovitt Cascading Specialized Recognition Engines Based on a Recognition Policy
US10924605B2 (en) 2017-06-09 2021-02-16 Onvocal, Inc. System and method for asynchronous multi-mode messaging
JP6862582B2 (ja) 2017-10-03 2021-04-21 グーグル エルエルシーGoogle LLC レイテンシを考慮したディスプレイモード依存応答生成
US20190325862A1 (en) * 2018-04-23 2019-10-24 Eta Compute, Inc. Neural network for continuous speech segmentation and recognition
US11062703B2 (en) * 2018-08-21 2021-07-13 Intel Corporation Automatic speech recognition with filler model processing
US11017778B1 (en) * 2018-12-04 2021-05-25 Sorenson Ip Holdings, Llc Switching between speech recognition systems
US11170761B2 (en) * 2018-12-04 2021-11-09 Sorenson Ip Holdings, Llc Training of speech recognition systems
US11475880B2 (en) * 2019-04-16 2022-10-18 Google Llc Joint endpointing and automatic speech recognition
US11094324B2 (en) * 2019-05-14 2021-08-17 Motorola Mobility Llc Accumulative multi-cue activation of domain-specific automatic speech recognition engine
US20200410991A1 (en) * 2019-06-28 2020-12-31 Nuance Communications, Inc. System and method for predictive speech to text
CN110362290A (zh) * 2019-06-29 2019-10-22 华为技术有限公司 一种语音控制方法及相关装置
US11749284B2 (en) * 2020-11-13 2023-09-05 Google Llc Dynamically adapting on-device models, of grouped assistant devices, for cooperative processing of assistant requests

Also Published As

Publication number Publication date
US20220180866A1 (en) 2022-06-09
JP2024062993A (ja) 2024-05-10
WO2022119705A1 (en) 2022-06-09
US11676594B2 (en) 2023-06-13
US20240096320A1 (en) 2024-03-21
JP2023549976A (ja) 2023-11-29
EP4244848A1 (en) 2023-09-20
JP7436757B2 (ja) 2024-02-22
CN116547747A (zh) 2023-08-04

Similar Documents

Publication Publication Date Title
US11062703B2 (en) Automatic speech recognition with filler model processing
US11132509B1 (en) Utilization of natural language understanding (NLU) models
US11676625B2 (en) Unified endpointer using multitask and multidomain learning
US20240096320A1 (en) Decaying Automated Speech Recognition Processing Results
US11763819B1 (en) Audio encryption
US11823664B2 (en) Correcting speech misrecognition of spoken utterances
JP7173049B2 (ja) 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム
KR20220088926A (ko) 온-디바이스 기계 학습 모델 트레이닝을 위한 자동화된 어시스턴트 기능의 수정 사용
US11532301B1 (en) Natural language processing
US20230298575A1 (en) Freeze Words
CN114708856A (zh) 一种语音处理方法及其相关设备
US20220366905A1 (en) Enabling natural conversations for an automated assistant
US10923122B1 (en) Pausing automatic speech recognition
JP2023553994A (ja) ホットワード特性に基づいた自動音声認識パラメータの適応
TW201937480A (zh) 適性調整語音輸入等待時間系統及其方法
KR20240090400A (ko) 디지털 신호 프로세서 기반 연속 대화
KR20230007502A (ko) 자동화된 어시스턴트 응답 제시의 핫워드 프리 선점
US12020703B2 (en) Enabling natural conversations with soft endpointing for an automated assistant
US11626105B1 (en) Natural language processing
US20230186909A1 (en) Selecting between multiple automated assistants based on invocation properties
WO2023113877A1 (en) Selecting between multiple automated assistants based on invocation properties
TWM561897U (zh) 適性調整語音輸入等待時間系統
OA18308A (en) A voice recognition system of a robot system and method thereof

Legal Events

Date Code Title Description
A201 Request for examination