KR102651438B1 - 부분 가설들에 기초한 스트리밍 액션 이행 - Google Patents

부분 가설들에 기초한 스트리밍 액션 이행 Download PDF

Info

Publication number
KR102651438B1
KR102651438B1 KR1020237022873A KR20237022873A KR102651438B1 KR 102651438 B1 KR102651438 B1 KR 102651438B1 KR 1020237022873 A KR1020237022873 A KR 1020237022873A KR 20237022873 A KR20237022873 A KR 20237022873A KR 102651438 B1 KR102651438 B1 KR 102651438B1
Authority
KR
South Korea
Prior art keywords
application
action
sub
sequence
data processing
Prior art date
Application number
KR1020237022873A
Other languages
English (en)
Other versions
KR20230108346A (ko
Inventor
매튜 스하리피
빅토르 카르부네
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20230108346A publication Critical patent/KR20230108346A/ko
Application granted granted Critical
Publication of KR102651438B1 publication Critical patent/KR102651438B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/065Adaptation
    • G10L15/07Adaptation to the speaker
    • G10L15/075Adaptation to the speaker supervised, i.e. under machine guidance
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/083Recognition networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Abstract

스트리밍 액션 이행을 위한 방법(300)은 발화(20)에 대응하는 오디오 데이터(14)를 수신하며, 여기서, 발화는 액션(24)을 수행하기 위한 쿼리(22)를 포함하고, 쿼리는 액션을 이행하기 위해 서브-액션들(26)의 시퀀스의 수행을 요구한다. 오디오 데이터를 수신하는 동안, 그러나, 음성 컨디션의 종료(214)를 수신하기 전에, 방법은 오디오 데이터를 프로세싱하여 중간 자동 음성 인식(ASR) 결과들(212)을 생성하고, 중간 ASR 결과들에 대한 부분 쿼리 해석을 수행하여 중간 ASR 결과들이 액션을 수행하는 데 필요한 애플리케이션 유형을 식별하는지 여부를 결정하고, 중간 ASR 결과들이 특정 애플리케이션 유형을 식별할 때, 사용자 디바이스에서 실행하기 위한 제1 애플리케이션(118)을 런칭함으로써 서브-액션들의 시퀀스에서 제1 서브-액션을 수행하며, 여기서, 제1 애플리케이션은 특정 애플리케이션 유형과 연관된다. 방법은 액션의 수행을 이행한다.

Description

부분 가설들에 기초한 스트리밍 액션 이행
본 개시내용은 부분 가설들에 기초한 스트리밍 액션 이행에 관한 것이다.
사용자들은, 디지털 어시스턴트 인터페이스들을 통해, 스마트폰들, 스마트워치들, 및 스마트 스피커들과 같은 보이스-지원 디바이스(voice-enabled device)들과 빈번하게 상호작용한다. 이들 디지털 어시스턴트 인터페이스들은 사용자들이 태스크들을 완료하게 하고 자연스러운 대화형 상호작용들 내내 그들이 갖는 질문들에 대한 답변들을 획득할 수 있게 한다. 이상적으로는, 디지털 어시스턴트 인터페이스와 대화할 때, 사용자는 디지털 어시스턴트 인터페이스를 실행하는 그들의 보이스-지원 디바이스를 향해 지향되는 말해진 요청들을 통해, 사용자가 마치 다른 사람과 대화하고 있는 것처럼 통신하는 것이 가능해야 한다. 디지털 어시스턴트 인터페이스는 자동 음성 인식기에 이들 말해진 요청들을 제공하여 액션이 수행될 수 있도록 말해진 요청을 프로세싱하고 인식할 것이다.
디지털 어시스턴트 인터페이스들은 네트워크를 통해 서버에 연결하고 오디오 데이터를 서버에 전송하여 클라우드-기반 음성 인식 서버들을 사용하여 음성 인식을 수행하기 위해 추가 레이턴시를 발생시키지 않고 음성 인식 프로세싱 대부분이 온-디바이스로 발생하는 모바일 디바이스들로 이동하고 있다. 레이턴시 개선 외에도, 온-디바이스 음성 인식의 다른 이점들은 개선된 신뢰성 및 프라이버시를 포함한다. 이와 같이, 디지털 어시스턴트 인터페이스들은 모바일 디바이스들에서 실행되는 다양한 애플리케이션들 및 운영 체제들과 긴밀하게 통합되어, 사용자가 그들의 보이스만을 사용하여 그들의 모바일 디바이스를 제어할 수 있게 한다. 그러나, 사용자 디바이스들에 설치된 이들 애플리케이션들은 그 자체가 느리거나, 신뢰가능하지 않거나, 또는 서버들에 대해 네트워크 액세스를 요구할 수 있으므로, 온-디바이스 프로세싱 능력들의 디지털 어시스턴트 인터페이스가 주는 이점들을 제한하고, 부진한 사용자 경험으로 이어질 수 있다.
본 개시내용의 일 양태는 스트리밍 액션 이행을 위한 방법을 제공한다. 방법은, 데이터 프로세싱 하드웨어에서, 사용자 디바이스의 사용자에 의해 말해진(spoken) 발화(utterance)에 대응하는 오디오 데이터를 수신하는 단계 - 발화는 액션을 수행하기 위한 쿼리를 포함하고, 쿼리는 액션을 이행하기 위해 서브-액션들의 시퀀스의 수행을 요구함 - 를 포함한다. 오디오 데이터를 수신하는 동안, 그러나, 음성 컨디션의 종료를 수신하기 전에, 방법은 또한, 데이터 프로세싱 하드웨어에 의해, 음성 인식기를 사용하여, 수신된 오디오 데이터의 제1 부분을 프로세싱하여 중간 자동 음성 인식(automated speech recognition)(ASR) 결과들의 제1 시퀀스를 생성하는 단계를 포함한다. 오디오 데이터를 수신하는 동안, 그러나, 음성 컨디션의 종료를 수신하기 전에, 방법은, 데이터 프로세싱 하드웨어에 의해, 중간 ASR 결과들의 제1 시퀀스에 대한 부분 쿼리 해석을 수행하여 중간 ASR 결과들의 제1 시퀀스가 액션을 수행하는 데 필요한 애플리케이션 유형을 식별하는지 여부를 결정하는 단계, 및 중간 ASR 결과들의 제1 시퀀스가 특정 애플리케이션 유형을 식별할 때, 데이터 프로세싱 하드웨어에 의해, 사용자 디바이스에서 실행하기 위한 제1 애플리케이션을 런칭(launching)함으로써 서브-액션들의 시퀀스에서 제1 서브-액션을 수행하는 단계 - 제1 애플리케이션은 특정 애플리케이션 유형과 연관됨 - 를 더 포함한다. 방법은, 음성 컨디션의 종료를 수신하는 것에 응답하여, 데이터 프로세싱 하드웨어에 의해, 액션의 수행을 이행하는 단계를 추가로 포함한다. 음성 컨디션의 종료를 결정하는 것은, 음성 인식기를 사용하여, 수신된 오디오에서 적어도 최소 비-음성 지속기간을 검출하는 것을 포함할 수 있다.
본 개시내용의 구현들은 다음의 임의적 피처들 중 하나 이상을 포함할 수 있다. 일부 구현들에서, 음성 컨디션의 종료를 수신하기 전에 그리고 제1 애플리케이션을 런칭한 후에 오디오 데이터를 수신하는 동안, 방법은 또한, 데이터 프로세싱 하드웨어에 의해, 음성 인식기를 사용하여, 수신된 오디오 데이터의 제2 부분을 프로세싱하여 중간 ASR 결과들의 제2 시퀀스를 생성하는 단계, 데이터 프로세싱 하드웨어에 의해, 중간 ASR 결과들의 제2 시퀀스에 대한 부분 쿼리 해석을 수행하여 제1 애플리케이션의 콘텐츠에 대한 검색 쿼리를 식별하는 단계, 및 데이터 프로세싱 하드웨어에 의해, 제1 애플리케이션에게 제1 애플리케이션의 콘텐츠에 대한 검색 쿼리를 수행하도록 지시함으로써 액션들의 시퀀스에서 제2 서브-액션을 수행하는 단계를 포함한다. 이러한 구현들에서, 사용자 디바이스에서 실행하기 위한 제1 애플리케이션을 런칭하는 것에 응답하여: 방법은 또한, 데이터 프로세싱 하드웨어에 의해, 사용자 디바이스의 그래픽 사용자 인터페이스에서, 검색 필드 및/또는 제1 애플리케이션의 콘텐츠의 상이한 카테고리들을 각각 나타내는 다수의 그래픽 요소들을 갖는 초기 스크린을 디스플레이하는 단계를 포함한다. 여기서, 제1 애플리케이션에게 콘텐츠에 대한 검색 쿼리를 수행하도록 지시하는 것은, 제1 스크린의 검색 필드에, 제1 애플리케이션의 콘텐츠에 대한 검색 쿼리를 특징짓는 텍스트를 입력하는 것; 또는 제1 스크린의 다수의 그래픽 요소들 중으로부터, 검색 쿼리에 의해 지정된 콘텐츠를 포함하는 콘텐츠의 카테고리를 나타내는 그래픽 요소를 선택하는 것을 포함한다. 이들 구현들은 또한, 제1 애플리케이션이 콘텐츠에 대한 검색 쿼리를 수행한 후에, 데이터 프로세싱 하드웨어에 의해, 그래픽 사용자 인터페이스에서, 검색 쿼리에 의해 지정된 콘텐츠를 포함하는 하나 이상의 결과를 제시하는 제2 스크린을 디스플레이하는 단계를 포함할 수 있다. 이들 구현들에서, 방법은, 데이터 프로세싱 하드웨어에서, 제2 스크린에 제시된 결과들 중 하나의 것의 선택을 표시하는 사용자 입력 표시를 수신하는 단계, 및 사용자 입력 표시를 수신하는 것에 응답하여, 데이터 프로세싱 하드웨어에 의해, 음성 컨디션의 종료를 검출하는 단계를 더 포함할 수 있다. 이들 구현들은 또한, 제1 애플리케이션이 콘텐츠에 대한 검색 쿼리를 수행한 후에, 데이터 프로세싱 하드웨어에 의해, 음성 인식기를 사용하여, 수신된 오디오 데이터의 제3 부분을 프로세싱하여 중간 ASR 결과들의 제3 시퀀스를 생성하는 단계, 데이터 프로세싱 하드웨어에 의해, 중간 ASR 결과들의 제3 시퀀스에 대한 부분 쿼리 해석을 수행하여 더 구체적인 콘텐츠에 대해 검색 쿼리를 업데이트할지 여부를 결정하는 단계, 및 중간 검색 결과들의 제3 시퀀스에서 수행된 부분 쿼리 해석이 더 구체적인 콘텐츠에 대해 검색 쿼리를 업데이트하기로 결정할 때, 데이터 프로세싱 하드웨어에 의해, 제1 애플리케이션에게 더 구체적인 콘텐츠에 대해 검색 쿼리를 업데이트하도록 지시함으로써 서브-액션들의 시퀀스에서 제3 서브-액션을 수행하는 단계를 포함할 수 있다.
일부 구성들에서, 중간 ASR 결과들의 제1 시퀀스에서 부분 쿼리 해석을 수행하는 것은 중간 ASR 결과들의 제1 시퀀스가 특정 애플리케이션 유형은 식별하고 액션을 이행하는 데 사용하기 위한 구체적인 애플리케이션을 명명하는 것과 연관된 슬롯 값은 지정하지 못한다고 결정할 수 있다. 여기서, 서브-액션들의 시퀀스에서 제1 서브-액션을 수행하는 단계는 특정 애플리케이션 유형과 연관된 디폴트 애플리케이션으로서 제1 애플리케이션을 런칭하는 단계를 포함한다. 이들 구성들에서, 음성 컨디션의 종료를 수신하기 전에 그리고 제1 애플리케이션을 런칭한 후에 오디오 데이터를 수신하는 동안, 방법은 또한, 데이터 프로세싱 하드웨어에 의해, 음성 인식기를 사용하여, 수신된 오디오 데이터의 제2 부분을 프로세싱하여 중간 ASR 결과들의 제2 시퀀스를 생성하는 단계, 및 데이터 프로세싱 하드웨어에 의해, 중간 ASR 결과들의 제2 시퀀스에 대한 부분 쿼리 해석을 수행하여 중간 ASR 결과들의 제2 시퀀스가 액션을 이행하는 데 사용하기 위한 제2 애플리케이션을 식별하는지 여부를 결정하는 단계를 포함한다. 추가적으로, 이들 구성들에서, 중간 ASR 결과들의 제2 시퀀스가 액션을 이행하는 데 사용하기 위한 제2 애플리케이션을 식별할 때, 방법은, 데이터 프로세싱 하드웨어에 의해, 사용자 디바이스에서 제1 애플리케이션의 실행을 중단(ceasing)함으로써 제1 서브-액션의 수행을 롤백(rolling-back)하는 단계, 및 데이터 프로세싱 하드웨어에 의해, 사용자 디바이스에서 실행하기 위한 제2 애플리케이션을 런칭함으로써 액션들의 시퀀스에서 제1 서브-액션을 재-수행하는 단계를 더 포함한다.
일부 예들에서, 음성 컨디션의 종료를 수신하기 전에 그리고 제1 애플리케이션을 런칭한 후에 오디오 데이터를 수신하는 동안, 방법은, 데이터 프로세싱 하드웨어에 의해, 음성 인식기를 사용하여, 수신된 오디오 데이터의 제2 부분을 프로세싱하여 중간 ASR 결과들의 제2 시퀀스를 생성하는 단계, 및 데이터 프로세싱 하드웨어에 의해, 중간 ASR 결과들의 제2 시퀀스에 대한 부분 쿼리 해석을 수행하여 서브-액션들의 시퀀스에서 제2 서브-액션을 식별하는 단계를 더 포함한다. 이들 예들에서, 음성 컨디션의 종료를 수신하기 전에 그리고 제1 애플리케이션을 런칭한 후에 오디오 데이터를 수신하는 동안, 방법은 또한, 데이터 프로세싱 하드웨어에 의해, 제2 서브-액션과 연관된 롤백 실현가능성 점수(rollback feasibility score)를 결정하는 단계 - 롤백 실현가능성은 제2 서브-액션을 실행하는 것이 롤백되어야 하는 경우에 사용자 경험이 저하될 우도(likelihood)를 표시함 -, 및 롤백 실현가능성 점수가 롤백 실현가능성 임계값을 충족할 때, 데이터 프로세싱 하드웨어에 의해, 제2 서브-액션을 수행하는 단계를 포함한다. 롤백 실현가능성 점수가 롤백 실현가능성 임계값을 충족하지 않을 때, 방법은, 데이터 프로세싱 하드웨어에 의해, 음성 컨디션의 종료가 수신될 때까지 제2 서브-액션의 수행을 지연시킬 수 있다. 또한, 이들 예들에서, 방법은, 데이터 프로세싱 하드웨어에 의해, 중간 ASR 결과들의 제2 시퀀스에 대한 부분 쿼리 해석을 수행함으로써 식별된 제2 서브-액션의 신뢰도 점수(confidence score)를 결정하는 단계, 및 제2 서브-액션의 신뢰도 점수가 신뢰도 임계값을 충족하지 못할 때, 데이터 프로세싱 하드웨어에 의해, 사용자에게 제2 서브-액션이 올바르게 식별되었는지 여부를 컨펌하도록 프롬프트하는 단계를 더 포함할 수 있다.
본 개시내용의 다른 양태는 스트리밍 액션 이행을 위한 시스템을 제공한다. 시스템은 데이터 프로세싱 하드웨어 및 데이터 프로세싱 하드웨어와 통신하는 메모리 하드웨어를 포함한다. 메모리 하드웨어는, 데이터 프로세싱 하드웨어에서 실행될 때, 데이터 프로세싱 하드웨어로 하여금, 동작들을 수행하게 하는 명령어들을 저장한다. 동작들은 사용자 디바이스의 사용자에 의해 말해진 발화에 대응하는 오디오 데이터를 수신하는 동작 - 발화는 액션을 수행하기 위한 쿼리를 포함하고, 쿼리는 액션을 이행하기 위해 서브-액션들의 시퀀스의 수행을 요구함 - 을 포함한다. 오디오 데이터를 수신하는 동안, 그러나, 음성 컨디션의 종료를 수신하기 전에, 동작들은 또한, 음성 인식기를 사용하여, 수신된 오디오 데이터의 제1 부분을 프로세싱하여 중간 자동 음성 인식(ASR) 결과들의 제1 시퀀스를 생성하는 동작을 포함한다. 오디오 데이터를 수신하는 동안, 그러나, 음성 컨디션의 종료를 수신하기 전에, 동작들은 중간 ASR 결과들의 제1 시퀀스에 대한 부분 쿼리 해석을 수행하여 중간 ASR 결과들의 제1 시퀀스가 액션을 수행하는 데 필요한 애플리케이션 유형을 식별하는지 여부를 결정하는 동작, 및 중간 ASR 결과들의 제1 시퀀스가 특정 애플리케이션 유형을 식별할 때, 사용자 디바이스에서 실행하기 위한 제1 애플리케이션을 런칭함으로써 서브-액션들의 시퀀스에서 제1 서브-액션을 수행하는 동작 - 제1 애플리케이션은 특정 애플리케이션 유형과 연관됨 - 을 더 포함한다. 동작들은 음성 컨디션의 종료를 수신하는 것에 응답하여, 액션의 수행을 이행하는 동작을 추가로 포함한다. 음성 컨디션의 종료를 결정하는 것은, 음성 인식기를 사용하여, 수신된 오디오에서 적어도 최소 비-음성 지속기간을 검출하는 것을 포함할 수 있다.
본 개시내용의 구현들은 다음의 임의적 피처들 중 하나 이상을 포함할 수 있다. 일부 구현들에서, 음성 컨디션의 종료를 수신하기 전에 그리고 제1 애플리케이션을 런칭한 후에 오디오 데이터를 수신하는 동안, 동작들은 또한, 음성 인식기를 사용하여, 수신된 오디오 데이터의 제2 부분을 프로세싱하여 중간 ASR 결과들의 제2 시퀀스를 생성하는 동작, 중간 ASR 결과들의 제2 시퀀스에 대한 부분 쿼리 해석을 수행하여 제1 애플리케이션의 콘텐츠에 대한 검색 쿼리를 식별하는 동작, 및 제1 애플리케이션에게 제1 애플리케이션의 콘텐츠에 대한 검색 쿼리를 수행하도록 지시함으로써 액션들의 시퀀스에서 제2 서브-액션을 수행하는 동작을 포함한다. 이들 구현들에서, 사용자 디바이스에서 실행하기 위한 제1 애플리케이션을 런칭하는 것에 응답하여, 동작들은 또한, 사용자 디바이스의 그래픽 사용자 인터페이스에서, 검색 필드 및/또는 제1 애플리케이션의 콘텐츠의 상이한 카테고리들을 각각 나타내는 다수의 그래픽 요소들을 갖는 초기 스크린을 디스플레이하는 동작을 포함한다. 여기서, 제1 애플리케이션에게 콘텐츠에 대한 검색 쿼리를 수행하도록 지시하는 것은, 제1 스크린의 검색 필드에, 제1 애플리케이션의 콘텐츠에 대한 검색 쿼리를 특징짓는 텍스트를 입력하는 것; 또는 제1 스크린의 다수의 그래픽 요소들 중으로부터, 검색 쿼리에 의해 지정된 콘텐츠를 포함하는 콘텐츠의 카테고리를 나타내는 그래픽 요소를 선택하는 것을 포함한다. 이들 구현들은 또한, 제1 애플리케이션이 콘텐츠에 대한 검색 쿼리를 수행한 후에, 그래픽 사용자 인터페이스에서, 검색 쿼리에 의해 지정된 콘텐츠를 포함하는 하나 이상의 결과를 제시하는 제2 스크린을 디스플레이하는 동작을 포함할 수 있다. 이들 구현들에서, 동작들은 제2 스크린에 제시된 결과들 중 하나의 것의 선택을 표시하는 사용자 입력 표시를 수신하는 동작, 및 사용자 입력 표시를 수신하는 것에 응답하여, 음성 컨디션의 종료를 검출하는 동작을 더 포함할 수 있다. 이들 구현들은 또한, 제1 애플리케이션이 콘텐츠에 대한 검색 쿼리를 수행한 후에, 음성 인식기를 사용하여, 수신된 오디오 데이터의 제3 부분을 프로세싱하여 중간 ASR 결과들의 제3 시퀀스를 생성하는 동작, 중간 ASR 결과들의 제3 시퀀스에 대한 부분 쿼리 해석을 수행하여 더 구체적인 콘텐츠에 대해 검색 쿼리를 업데이트할지 여부를 결정하는 동작, 및 중간 검색 결과들의 제3 시퀀스에서 수행된 부분 쿼리 해석이 더 구체적인 콘텐츠에 대해 검색 쿼리를 업데이트하기로 결정할 때, 제1 애플리케이션에게 더 구체적인 콘텐츠에 대해 검색 쿼리를 업데이트하도록 지시함으로써 서브-액션들의 시퀀스에서 제3 서브-액션을 수행하는 동작을 포함할 수 있다.
일부 구성들에서, 중간 ASR 결과들의 제1 시퀀스에서 부분 쿼리 해석을 수행하는 것은 중간 ASR 결과들의 제1 시퀀스가 특정 애플리케이션 유형은 식별하고 액션을 이행하는 데 사용하기 위한 구체적인 애플리케이션을 명명하는 것과 연관된 슬롯 값은 지정하지 못한다고 결정할 수 있다. 여기서, 서브-액션들의 시퀀스에서 제1 서브-액션을 수행하는 동작은 특정 애플리케이션 유형과 연관된 디폴트 애플리케이션으로서 제1 애플리케이션을 런칭하는 동작을 포함한다. 이들 구성들에서, 음성 컨디션의 종료를 수신하기 전에 그리고 제1 애플리케이션을 런칭한 후에 오디오 데이터를 수신하는 동안, 동작들은 또한, 음성 인식기를 사용하여, 수신된 오디오 데이터의 제2 부분을 프로세싱하여 중간 ASR 결과들의 제2 시퀀스를 생성하는 동작, 및 데이터 프로세싱 하드웨어에 의해, 중간 ASR 결과들의 제2 시퀀스에 대한 부분 쿼리 해석을 수행하여 중간 ASR 결과들의 제2 시퀀스가 액션을 이행하는 데 사용하기 위한 제2 애플리케이션을 식별하는지 여부를 결정하는 동작을 포함한다. 추가적으로, 이들 구성들에서, 중간 ASR 결과들의 제2 시퀀스가 액션을 이행하는 데 사용하기 위한 제2 애플리케이션을 식별할 때, 동작들은 사용자 디바이스에서 제1 애플리케이션의 실행을 중단함으로써 제1 서브-액션의 수행을 롤백하는 동작, 및 데이터 프로세싱 하드웨어에 의해, 사용자 디바이스에서 실행하기 위한 제2 애플리케이션을 런칭함으로써 액션들의 시퀀스에서 제1 서브-액션을 재-수행하는 동작을 더 포함한다.
일부 예들에서, 음성 컨디션의 종료를 수신하기 전에 그리고 제1 애플리케이션을 런칭한 후에 오디오 데이터를 수신하는 동안, 동작들은, 음성 인식기를 사용하여, 수신된 오디오 데이터의 제2 부분을 프로세싱하여 중간 ASR 결과들의 제2 시퀀스를 생성하는 동작, 및 데이터 프로세싱 하드웨어에 의해, 중간 ASR 결과들의 제2 시퀀스에 대한 부분 쿼리 해석을 수행하여 서브-액션들의 시퀀스에서 제2 서브-액션을 식별하는 동작을 더 포함한다. 이들 예들에서, 음성 컨디션의 종료를 수신하기 전에 그리고 제1 애플리케이션을 런칭한 후에 오디오 데이터를 수신하는 동안, 동작들은 또한 제2 서브-액션과 연관된 롤백 실현가능성 점수를 결정하는 동작 - 롤백 실현가능성은 제2 서브-액션을 실행하는 것이 롤백되어야 하는 경우에 사용자 경험이 저하될 우도를 표시함 -, 및 롤백 실현가능성 점수가 롤백 실현가능성 임계값을 충족할 때, 데이터 프로세싱 하드웨어에 의해, 제2 서브-액션을 수행하는 동작을 포함한다. 롤백 실현가능성 점수가 롤백 실현가능성 임계값을 충족하지 않을 때, 동작들은, 음성 컨디션의 종료가 수신될 때까지 제2 서브-액션의 수행을 지연시킬 수 있다. 또한, 이들 예들에서, 동작들은, 데이터 프로세싱 하드웨어에 의해, 중간 ASR 결과들의 제2 시퀀스에 대한 부분 쿼리 해석을 수행함으로써 식별된 제2 서브-액션의 신뢰도 점수를 결정하는 동작, 및 제2 서브-액션의 신뢰도 점수가 신뢰도 임계값을 충족하지 못할 때, 데이터 프로세싱 하드웨어에 의해, 사용자에게 제2 서브-액션이 올바르게 식별되었는지 여부를 컨펌하도록 프롬프트하는 동작을 더 포함할 수 있다.
본 개시내용의 하나 이상의 구현의 세부사항들은 첨부된 도면들 및 아래의 설명에서 제시된다. 다른 양태들, 피처들, 및 이점들은 설명 및 도면들로부터, 그리고 청구범위로부터 명백할 것이다.
도 1은 부분 음성 인식 결과들에 기초하여 이행을 수행하기 위한 예시적인 음성 환경의 개략도이다.
도 2a 내지 도 2h는 도 1의 음성 환경에 대한 예시적인 어시스턴트 인터페이스들의 개략도들이다.
도 3은 부분 음성 인식 결과들에 기초하여 이행을 수행하는 방법에 대한 예시적인 동작 배열의 흐름도이다.
도 4는 본 명세서에 설명된 시스템들 및 방법들을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 디바이스의 개략도이다.
다양한 도면들에서 유사한 참조 부호들은 유사한 요소들을 나타낸다.
전통적으로, 사용자들이 태스크들을 완료하게 하고 자연스러운 대화형 상호작용들을 통해 그들이 갖는 질문들에 대한 답변들을 획득할 수 있게 하는 디지털 어시스턴트 인터페이스들은 음성 인식 및 언어 이해 모델들을 지원하기 위해 서버들의 프로세싱을 요구했다. 이들 서버-기반 모델들은 디바이스에서 이용가능한 스토리지 또는 메모리를 초과할 수 있는 그들의 사이즈로 인해 디바이스에서 실행하기에 적절하지 않았다. 그러나, 순환 신경망(recurrent neural network)들의 최근의 발전들은 온-디바이스 저장 및 프로세싱에 적절한 크게 축소된 사이즈(예를 들어, 0.5기가바이트 미만)의 새로운 음성 인식 및 언어 이해 모델들의 개발을 가능하게 했다. 이와 같이, 디지털 어시스턴트 인터페이스들은 네트워크를 통해 서버에 연결하고 오디오 데이터를 서버에 전송하여 클라우드-기반 음성 인식 서버들을 사용하여 음성 인식을 수행하기 위해 추가 레이턴시를 발생시키지 않고 음성 인식 프로세싱 대부분이 온-디바이스로 발생하는 모바일 디바이스들로 이동하고 있다. 음성의 전사들(transcriptions of speech)이 실시간으로 그리고 네트워크 연결 없이 발생할 수 있으므로, 사용자 경험이 크게 향상된다. 레이턴시를 개선하는 것 외에도, 온-디바이스 음성 인식의 다른 이점들은 개선된 신뢰성 및 프라이버시를 포함한다. 이와 같이, 디지털 어시스턴트 인터페이스들은 모바일 디바이스들에서 실행되는 다양한 애플리케이션들 및 운영 체제들과 긴밀하게 통합되어, 사용자가 그들의 보이스만을 사용하여 그들의 모바일 디바이스를 제어할 수 있게 한다. 예를 들어, 사용자는 일정 초대 생성, 사진 찾기 및 친구들과 사진 공유, 또는 이메일 받아쓰기 등과 같이 디바이스에서 실행되는 다수의 애플리케이션들에 걸쳐 멀티-태스킹을 할 수 있다. 그러나, 사용자 디바이스들에 설치된 이들 애플리케이션들은 그 자체가 느리거나, 신뢰가능하지 않거나, 또는 서버들에 대해 네트워크 액세스를 요구할 수 있으므로, 온-디바이스 디지털 어시스턴트 인터페이스가 주는 이점들을 제한하고, 부진한 사용자 경험으로 이어질 수 있다.
일반적으로, 음성 인식 시스템들에서, 음성 엔드포인팅(speech endpointing)은 발화의 시작 및 종료를 결정함으로써 유입 오디오의 어느 부분이 음성을 포함하는지를 결정하는 프로세스이다. 음성에 대응하는 유입 오디오의 부분은 음성 인식 결과 또는 오디오의 전사(transcript)를 획득하기 위해 음성 인식기에 제공된다. 음성 인식의 사용자 지각 레이턴시는 사용자가 말하기를 중단한 때부터 음성 인식 결과 또는 전사가 출력될 때까지, 종종 사용자 디바이스의 스크린에 디스플레이하기 위해 출력될 때까지의 시간이다. 온-디바이스로 음성 인식 모델들을 실행하기 위해 행해진 최근의 발전들은 사용자가 말할 때 그리고 엔드포인팅이 발화의 종료를 결정하기 전에 실시간 음성 인식 결과들(예를 들어, 스트리밍 전사)이 디스플레이되도록 허용하였다.
그러나, 실제 음성 인식의 사용자 지각 레이턴시는 온-디바이스로 음성을 프로세싱함으로써 개선되었지만, 실제 이행이 일어날 수 있기 전에 발화의 종료를 식별하는 엔드포인트가 만들어져야 하기 때문에 사용자 쿼리들/커맨드들의 이행의 사용자 지각 레이턴시는 여전히 존재한다. 예를 들어, 사용자의 폰에서 실행되는 디지털 어시스턴트 인터페이스에 대해 사용자에 의해 말해진 "Play rock music playlist on YouTube Music"를 위한 커맨드는 어쿠스틱 스피커를 통한 가청 출력을 위해 YouTube Music 서비스로부터 사용자의 록 음악 플레이리스트를 스트리밍하는 완전한 액션을 이행하기 위해 다수의 서브-액션들의 수행을 요구한다. 이들 서브-액션들은 사용자의 폰에서 YouTube Music 애플리케이션을 런칭하는 것, YouTube Music의 검색 상자에 액세스하여 록 음악 플레이리스트에 대한 쿼리를 입력하는 것 또는 YouTube Music의 플레이리스트 탭으로 스위칭하여 록 음악 플레이리스트를 선택하는 것, 및 마지막으로 YouTube Music 애플리케이션으로부터 록 음악 플레이리스트의 가청 재생을 실행하는 것을 포함한다. 이 예에서, 시스템은 충족될 필요가 있는 제1 서브-액션을 개시하기 전에, 예를 들어, YouTube Music 애플리케이션을 런칭하기 전에 엔드포인터가 발화의 종료를 엔드포인팅하기를 대기하고 최종 음성 인식 결과를 획득해야 한다.
본 명세서에서의 구현들은 액션의 수행을 명령하는 사용자 발화로부터 중간 음성 인식 결과들을 생성하고, 사용자가 여전히 발화를 말하고 있는 동안 최종 액션과 관련된 다수의 서브-액션들을 수행하기 위해 중간 음성 인식 결과들을 사용하는 것에 관한 것이다. 사용자가 말하기를 마치기 전에 최종 액션과 관련된 서브-액션들을 식별하고 수행하기 위해 이용가능한 중간 음성 인식 결과들을 활용하면 최종 액션을 이행하기 위해 수행될 필요가 있는 서브-액션들의 시퀀스에서 제1 서브-액션의 수행을 개시하기 전에 최종 엔드포인트를 대기하는 것이 요구되지 않기 때문에 사용자 지각 레이턴시를 크게 감소시킨다.
그러나, "Play", "rock music" 및 "playlist"의 중간 인식 결과들은 최종 엔드포인트 전에 발생하며, 쿼리와 관련된 가능한 서브-액션들을 식별하는 데 이용가능하다. 예를 들어, "Play"의 중간 인식 결과는 사용자가 텔레비전 프로그래밍, 영화들, 또는 비디오 클립들과 같은 비디오 콘텐츠, 또는 사용자 디바이스의 다수의 음악 애플리케이션들 중 하나로부터의 오디오 콘텐츠를 포함할 수 있는 미디어 콘텐츠를 재생하기를 원한다는 것을 표시할 수 있다. 다음으로, "rock music"의 중간 인식 결과는 사용자가 오디오 콘텐츠를 재생하기를 원하는 미디어 콘텐츠의 유형을 좁히는 컨텍스트를 제공한다. 이제, 가능한 이용가능한 서브-액션들은 모두 잠재적으로 록 음악을 출력할 수 있는 사용자의 폰의 스트리밍 라디오 애플리케이션, Spotify 애플리케이션, 또는 YouTube 애플리케이션 중 어느 것을 여는 것이다. 예를 들어, 스트리밍 라디오, Spotify, 및 YouTube 애플리케이션들은 모두 자체 록 음악 채널들을 포함하는 반면, Spotify 및 YouTube 애플리케이션들은 각각 사용자를 위한 개개의 록 음악 플레이리스트들을 포함한다. "playlist"의 중간 인식 결과가 이용가능해지면, 이용가능한 가능한 서브-액션들은 Spotify 애플리케이션 또는 YouTube 애플리케이션에서 록 음악 플레이리스트가 액세스될 필요가 있음을 표시하도록 이제 더 구체적이다.
도 1을 참조하면, 일부 구현들에서, 음성 환경(100)은 디지털 어시스턴트 인터페이스(200)를 실행하는 보이스-지원 디바이스(110)(디바이스(110) 또는 사용자 디바이스(110)로서 지칭되기도 함)를 향해 지향되는 발화(20)를 말하는 사용자(10)를 포함한다. 여기서, 사용자(10)에 의해 말해진 발화(20)는 스트리밍 오디오(15)에서 디바이스(110)에 의해 캡처될 수 있고, 액션(24)을 수행하기 위한 쿼리에, 더 구체적으로는, 디지털 어시스턴트 인터페이스(200)가 액션(24)을 수행하기 위한 쿼리(22)에 대응할 수 있다. 사용자(10)는 쿼리(22)를 핫워드(hotword)(21)(예를 들어, 호출 문구)로 프리픽싱(prefix)하여 슬립(sleep) 또는 하이버네이션(hibernation) 상태에 있는 동안 핫워드(21)가 디바이스(110)에서 실행되는 핫워드 검출기에 의해 스트리밍 오디오(15)에서 검출될 때 슬립 또는 하이버네이션 상태로부터 디바이스(110)를 트리거할 수 있다. 액션(24)은 동작 또는 태스크로서 지칭될 수도 있다. 이러한 의미에서, 사용자(10)는 컴퓨팅 액티비티들을 수행하기 위해 또는 질문들에 대한 답변들을 찾기 위해 보이스-지원 디바이스(110)에서 실행되는 디지털 어시스턴트 인터페이스(200)와 대화형 상호작용들을 가질 수 있다.
디바이스(110)는 사용자(10)와 연관되고 환경(100)으로부터 오디오를 캡처할 수 있는 임의의 컴퓨팅 디바이스에 대응할 수 있다. 사용자 디바이스들(110)의 일부 예들은 모바일 디바이스들(예를 들어, 모바일폰들, 태블릿들, 랩탑들, 전자책 리더기들 등), 컴퓨터들, 웨어러블 디바이스들(예를 들어, 스마트워치들), 음악 플레이어들, 캐스팅 디바이스들, 스마트 어플라이언스들(예를 들어, 스마트 텔레비전) 및 사물 인터넷(internet of things)(IoT) 디바이스들, 원격 컨트롤들, 스마트 스피커들 등을 포함하지만, 이에 제한되지 않는다. 디바이스(110)는 데이터 프로세싱 하드웨어(112d), 및 데이터 프로세싱 하드웨어(112d)와 통신하고, 데이터 프로세싱 하드웨어(112d)에 의해 실행될 때, 데이터 프로세싱 하드웨어(112d)로 하여금, 음성 프로세싱과 관련된 하나 이상의 동작을 수행하게 하는 명령어들을 저장하는 메모리 하드웨어(112m)를 포함한다.
디바이스(110)는 음성 환경(100) 내의 오디오를 캡처하여 이를 전기 신호들(예를 들어, 오디오 데이터(14)(도 2a 내지 도 2e))로 컨버팅하기 위한 오디오 캡처 디바이스(예를 들어, 하나 이상의 마이크로폰의 어레이)(114)를 갖는 오디오 서브시스템을 더 포함한다. 도시된 예에서 디바이스(110)가 오디오 캡처 디바이스(114)(일반적으로 마이크로폰(114)으로서 지칭되기도 함)를 구현하는 동안, 오디오 캡처 디바이스(114)는 물리적으로 디바이스(110)에 상주하지 않고, 오디오 서브시스템(예를 들어, 디바이스(110)의 주변 기기들)과 통신할 수 있다. 예를 들어, 디바이스(110)는 차량 전체에 위치결정된 마이크로폰들의 어레이를 활용하는 차량 인포테인먼트 시스템에 대응할 수 있다.
디바이스(110)는 또한 그래픽 사용자 인터페이스(graphical user interface)(GUI) 요소들(예를 들어, 윈도우들, 스크린들, 아이콘들, 메뉴들 등) 및/또는 그래픽 콘텐츠를 디스플레이하기 위한 디스플레이(116)를 포함할 수 있다. 예를 들어, 디바이스(110)는 디스플레이(116)를 위한 GUI 요소들 또는 다른 그래픽 콘텐츠를 생성하는 애플리케이션들(118, 118a-n)을 로드하거나 런칭할 수 있다. 또한, 디스플레이(116)에서 생성된 요소들은 사용자(10)에 의해 선택가능할 수 있으며, 디바이스(110)에서 발생하는 프로세싱 액티비티들 및/또는 동작들에 대한 일부 형태의 시각적 피드백을 제공하는 역할을 할 수 있다. 또한, 디바이스(110)는 보이스-지원 디바이스(110)이기 때문에, 사용자(10)는 다양한 보이스 커맨드들을 사용하여 디스플레이(116)에서 생성된 요소들과 상호작용할 수 있다. 예를 들어, 디스플레이(116)는 특정 애플리케이션(118)에 대한 옵션들의 메뉴를 나타낼 수 있고, 사용자(10)는 음성을 통해 옵션을 선택하기 위해 인터페이스(200)를 사용할 수 있다.
일부 구현들에서, 디바이스(110)는 네트워크(120)를 통해 원격 시스템(130)과 통신한다. 원격 시스템(130)은 원격 데이터 프로세싱 하드웨어(134)(예를 들어, 원격 서버들 또는 CPU들) 및/또는 원격 메모리 하드웨어(136)(예를 들어, 원격 데이터베이스들 또는 다른 스토리지 하드웨어)와 같은 원격 리소스들(132)을 포함할 수 있다. 디바이스(110)는 음성 프로세싱과 관련된 다양한 기능성을 수행하기 위해 원격 리소스들(132)을 활용할 수 있다. 예를 들어, 어시스턴트 인터페이스(200)의 일부 부분은 원격 시스템(130)에 상주할 수 있다. 일 예에서, 음성 인식기(210)는 온-디바이스 자동 음성 인식(ASR)을 제공하기 위해 디바이스(110)에서 로컬로 실행된다. 다른 예에서, 음성 인식기(210)는 어시스턴트 인터페이스(200)에 대한 서버-측 ASR을 제공하기 위해 원격 시스템(130)에 상주한다. 또 다른 예에서, 음성 인식기(210)의 기능성은 디바이스(110)와 서버(130)에 걸쳐 분할된다(예를 들어, 디바이스(110)와 서버(130)는 병렬 ASR 프로세싱을 수행한다).
음성-지원 인터페이스(200)는 디바이스(110)에 의해 스트리밍 오디오(15)에서 캡처된 말해진 발화(20)에서 전달된 쿼리/커맨드(22)를 필드화할 수 있다. 음성-지원 인터페이스(200)(인터페이스(200) 또는 어시스턴트 인터페이스(200)로서 지칭되기도 함)는 일반적으로 오디오 캡처 디바이스(114)에 의해 캡처된 발화(20)에 대응하는 오디오 데이터(14)를 수신하는 것, 오디오 데이터(14)에 대한 음성 프로세싱을 조정하는 것, 액션(24)을 수행하기 위한 쿼리(22)를 식별하기 위해 오디오 데이터(14)에 대한 의미론적 해석(semantic interpretation)을 수행하는 것, 및 액션(24)을 이행하기 위해 서브-액션들(26, 26a-n)의 시퀀스를 수행하는 것을 용이하게 한다. 인터페이스(200)는 디바이스(110)의 데이터 프로세싱 하드웨어(112d)에서 실행할 수 있다. 디바이스(110)의 마이크로폰(114)이 스트리밍 오디오(15)에서 발화(20)를 캡처하고 오디오를 오디오 데이터(14)로 컨버팅할 때, 발화(20)에 대응하는 오디오 데이터(14)는 인터페이스(200)가 말해진 발화(20)에서 전달된 쿼리(22)를 식별하고 궁극적으로 이행하기 위해 음성 인식 및 의미론적 해석을 수행할 수 있도록 인터페이스(200)에 중계된다. 전통적으로, 이행 시스템들은 쿼리/커맨드(22)에 의해 지정된 액션(24)의 수행을 개시하기 전에 최종 음성 인식 결과를 획득하기 위해 엔드포인터(예를 들어, 음성 인식기의 일부 또는 별도의 컴포넌트)가 발화(20)의 종료를 엔드포인팅하기를 대기해야 했지만, 여기서, 인터페이스(200)는 부분 음성 인식 결과들(예를 들어, 부분 가설들)이 생성될 때 그리고 사용자(10)가 발화(20)에서 쿼리(22)를 말하는 것을 마치기 전에 최종 액션(24)과 연관된 서브-액션들(26)을 이행한다. 부분 음성 인식 결과들을 활용함으로써, 인터페이스(200)는, 발화(20)가 엔드포인팅되면, 쿼리(22)에 의해 지정된 액션(24)을 이행하기 위해 인터페이스(200)가 수행하고 있는 서브-액션들(26)에 대한 실시간 또는 거의 실시간 피드백을 사용자(10)에게 제공할 수 있다. 즉, 인터페이스(200)는 사용자(10)가 발화(20)를 능동적으로 말하고 있는 동안 오디오 데이터(14)에 대한 중간 음성 인식 결과들로부터 해석된 서브-액션들(26)을 수행하려고 노력한다.
일부 구현들에서, 액션(24)을 이행하기 위해 서브-액션들(26)의 시퀀스를 수행하기 위해, 인터페이스(200)는 디바이스(110) 상의 또는 디바이스(110)에 액세스가능한 복수의 애플리케이션들(118, 118a-n)과 인터페이스한다. 애플리케이션(118)은 일반적으로 디바이스(110)에서 실행되도록 구성되는 임의의 애플리케이션(118)을 지칭한다. 일부 유형들의 애플리케이션들(118)은 미디어 애플리케이션들(예를 들어, 비디오 스트리밍 애플리케이션들, 오디오 스트리밍 애플리케이션들, 미디어 플레이어 애플리케이션들, 미디어 갤러리 애플리케이션들 등), 워드 프로세싱 애플리케이션들, 내비게이션 애플리케이션들, 소셜 미디어 애플리케이션들, 통신 애플리케이션들(예를 들어, 메시징 애플리케이션들, 이메일 애플리케이션들 등), 금융 애플리케이션들, 조직 애플리케이션들(예를 들어, 주소록 애플리케이션들), 소매 애플리케이션들, 엔터테인먼트 애플리케이션들(예를 들어, 뉴스 애플리케이션들, 날씨 애플리케이션들, 스포츠 애플리케이션들), 캐스팅 애플리케이션들 등을 포함한다. 인터페이스(200)는 사용자(10)가 자신의 보이스를 사용하여 디바이스(110)에서 애플리케이션들을 제어할 수 있도록 이들 애플리케이션들(118)과 통합될 수 있다. 예를 들어, 인터페이스(200)는 애플리케이션 프로그래밍 인터페이스(application programming interface)(API) 또는 인터페이스(200)의 기능성을 실행하도록 구성된 임의의 다른 유형의 프로그램 또는 애플리케이션이다.
도 1을 계속 참조하면, 사용자(10)는 "hey computer, show photos from my holiday trip to Greece with my parents"라고 말하는 발화(20)를 말한다. 여기서, 발화(20)는 인터페이스(200)가 특정 사용자 사진 세트를 디스플레이하는 액션(24)을 수행하도록 요청하는 보이스 쿼리/커맨드(22)이다. 인터페이스(200)가 이 발화(20)에 대응하는 오디오 데이터(14)를 수신하는 동안, 발화(20)의 일부들이 중간 음성 결과들(212)(도 2a 내지 도 2e)을 생성하기 위해 인터페이스(200)에서 수신될 때 프로세싱된다. 중간 음성 결과들(212)은 사용자(10)가 발화(20)를 말하고 있는 동안 후보 액션(24)과 연관된 서브-액션들(26)을 식별하기 위해 인터페이스(200)에 의해 해석된다. 예를 들어, 발화(20)가 완료되면 쿼리(22)에 의해 지정되는 완전한 액션(24)은 사용자(10)가 발화(20)를 말하는 것을 마치기를 대기하기보다는 사용자(10)가 발화(20)를 말할 때 수행될 수 있는 4개의 서브-액션(26, 26a-d)의 시퀀스를 포함한다.
도 2a 내지 도 2h를 참조하면, 어시스턴트 인터페이스(200)는 일반적으로 음성 인식기(210), 해석기(interpreter)(220), 및 실행기(executor)(230)를 포함한다. 음성 인식기(210)는 오디오 데이터(14)를 입력으로서 수신하고, 오디오 데이터(14)를 프로세싱하여 음성 인식 결과(212)를 생성한다. 음성 인식기(210)가 오디오 데이터(14)에 대해 음성 인식을 수행함에 따라, 음성 인식기(210)는 중간 음성 결과들(212)을 생성할 수 있다. 여기서, 중간 음성 인식 결과(212)는 오디오 데이터(14) 전체 대신 오디오 데이터(14)의 일부 서브세트(예를 들어, 오디오 데이터의 일부)에 대해 생성되는 결과를 지칭한다. 일반적으로 말하면, 음성 인식은 전체 문구(phrase)(예를 들어, 전체 발화) 또는 문자(character)들, 워드피스(wordpiece)들, 및/또는 워드(word)들과 같은 문구의 일부 서브세트에 대해 발생할 수 있다. 다르게 말하면, 음성 인식 결과들의 시퀀스(예를 들어, 중간 음성 인식 결과들(212)의 시퀀스)의 각각의 인식 결과는 발화(20)의 최종 인식 결과(예를 들어, 전사)를 형성하기 위해 결합되는 문자, 워드피스, 및/또는 워드에 대응할 수 있다. 예를 들어, 오디오 스트림에서 음성 인식이 발생할 때, 음성 인식을 수행하는 음성 인식 모델은 스트리밍 방식으로 각각의 시간 단계에서 출력(즉, 결과 또는 가설)을 생성할 수 있다. 여기서, 프레임별 출력(frame-by-frame output)들은 오디오 데이터(14)의 개개의 부분들을 나타내는 음성 인식 결과들(212)의 하나 이상의 시퀀스를 형성하기 위해 결합될 수 있는 중간 음성 인식 결과들에 대응할 수 있다. 일부 구성들에서, 음성 인식 결과는 모든 가능한 모든 부분 쿼리 해석들을 생성하기 위해 다수의 가설들이 한 번에 프로세싱될 수 있도록 임의의 주어진 시간 단계에서 상위-N개의 가설에 대응한다. 오디오 데이터(14)는 사용자(10)에 의해 말해진 발화(20)에 대응할 수 있으므로, 오디오 데이터(14)의 일부는 발화(20)의 일부에 대응할 수 있다. 예를 들어, 오디오 데이터(14)가 "show photos from my holiday trip to Greece with my parents"라는 발화(20)에 대응할 때, 오디오 데이터(14)의 일부는 하나 이상의 워드를 형성하는 문자들의 시퀀스일 수 있다. 도 2b 내지 도 2d에 도시된 바와 같이, 오디오 데이터(14)의 제1 부분(14, 14a)에 대한 중간 음성 인식 결과들의 제1 시퀀스(212a)는 "show photos"라는 문구를 포함한다. 오디오 데이터(14)의 제2 부분(14, 14b)에 대한 중간 음성 인식 결과들의 제2 시퀀스(212b)는 "from my holiday trip to Greece"라는 문구를 포함한다. 오디오 데이터(14)의 제4 부분(14, 14c)에 대한 중간 음성 인식 결과들의 제3 시퀀스(212c)는 "with my parents"라는 문구를 포함한다.
해석기(220)는 중간 음성 인식 결과들(212)의 하나 이상의 시퀀스를 수신하고, 하나 이상의 중간 음성 인식 결과(212)에 대해 부분 쿼리 해석을 수행한다. 예를 들어, 해석기(220)는 사용자(10)가 발화(20)를 말하는 것을 마쳤을 때 쿼리(22)가 드러나면 지정될 수 있는 최종 액션(24)과 연관될 수 있는 임의의 후보 서브-액션들(26)을 식별하기 위해 발화(20)의 일부 및 그 컨텍스트를 이해하기 위해 중간 음성 인식 결과들(212)의 시퀀스에 대해 의미론적 해석(예를 들어, 문법 해석)을 수행한다. 여기서, 해석기(220)는 쿼리(22)의 일부에만 대응하는 중간 음성 인식 결과들(212)의 시퀀스를 해석하고 있기 때문에, 해석기(220)는 발화(20)의 일부에 대응하는 중간 음성 인식 결과들(212)의 시퀀스로부터 서브-액션(26)의 컨텍스트를 도출가능하다. 따라서, 중간 음성 결과들(212)의 시퀀스에 대해 수행된 부분 쿼리 해석의 결과는 사용자가 발화(20)를 말하는 것을 마칠 때까지 알 수 없는 상태로 유지되는 최종 액션(24)을 이행하기 위해 쿼리/커맨드(22)가 수반할 서브-액션(26)을 특징지을 수 있는 해석(222)을 포함한다. 해석기(220)가 부분 쿼리 해석을 수행할 때, 해석(222)은 해석이 발화(20) 전체를 컨텍스트화하는 것이 가능하지 않다는 내재적 사실로 인해 일부 누락된 정보로 인해 어려움을 겪을 수 있다. 달리 말하면, 해석들(222)에 의해 특징지어지는 서브-액션들(26)은 오디오 데이터(14)로부터 생성된 중간 음성 인식 결과들(212)의 시퀀스들의 수가 증가함에 따라 점점 더 구체적이 될 수 있다. 이러한 이유로, 해석기(220)는 중간 음성 인식 결과들(212)의 시퀀스로부터 이용가능한 정보로부터 누락된 의도를 도출함으로써 가능한 한 해석(222)을 완전하게 형성할 수 있다. 예를 들어, 해석기(220)는 중간 음성 인식 결과들(212)의 초기 시퀀스에 대해 부분 쿼리 해석을 수행하여 액션(24)을 수행하는 데 필요한 특정 애플리케이션 유형을 식별할 수 있지만, 해석기(220)는 중간 음성 인식 결과들(212)의 초기 시퀀스로부터 구체적인 애플리케이션(118)을 확신을 갖고 식별하는 것이 가능하지 않기 때문에 액션(24)을 이행하는 데 사용하기 위한 구체적인 애플리케이션(118)을 명명하는 것과 연관된 슬롯 값을 지정하지 못한다. 이 예에서, 실행기(230)는 구체적인 애플리케이션(118)을 명명하는 것과 연관된 슬롯 값이 지정되지 않기 때문에(예를 들어, 비어있기 때문에), 특정 애플리케이션 유형과 연관된 디폴트 애플리케이션(118)을 런칭함으로써 제1 서브-액션(26)을 수행하도록 구성될 수 있다.
도 2b에 도시된 예를 참조하면, 해석기(220)가 중간 음성 인식 결과들의 제1 시퀀스(212, 212a)에 의해 표시된 "show me photos"라는 문구에 대해 제1 해석(222, 222a)을 생성할 때, 해석기(220)는, 해석 시, 어떤 특정 사진들을 보여줄 것인지에 대한 컨텍스트가 분명히 부족하다. 이 제한된 컨텍스트로 인해, 해석기(220)는 사용자(10)가 디바이스(110)에서 사진 애플리케이션(118)을 런칭할 것을 요구할 가능성이 있는 쿼리(22)를 발행할 가능성이 있음을 표시하는 보다 일반적인 해석(222, 222a)을 생성한다. 이것은 해석기(220)가 중간 음성 인식 결과들의 제1 시퀀스(212a) "show me photos"로부터 특정 애플리케이션 유형(예를 들어, 사진 애플리케이션들)을 추론할 수 있지만, 중간 음성 인식 결과들의 제1 시퀀스(212a)에 대해 수행된 부분 쿼리 해석으로부터 구체적인 사진 애플리케이션의 이름이 도출가능하지 않음을 의미한다. 또한, 사용자(10)가 계속해서 발화(20)를 말함에 따라, 음성 인식기(210)는 중간 음성 인식 결과들의 추가 시퀀스들(212, 212b-d)을 생성하고, 해석기(220)는 중간 음성 인식 결과들(212)의 시퀀스들 각각에 대해 부분 쿼리 해석을 수행하여 쿼리(22)에 추가 컨텍스트를 제공하는 개개의 해석들(222, 222b-d)을 생성한다. 즉, 해석기(220)는 액션(24)을 이행하기 위해 수행될 필요가 있는 서브-액션들(26)의 시퀀스를 식별하고 구성하기 위해 사용자(10)가 말하고 있는 동안 중간 음성 인식 결과들(212)의 각각의 시퀀스에 대해 부분 쿼리 해석을 수행한다. 실행기(230)는 사용자가 말하기를 마치기 전에 이들 서브-액션들(26)의 일부 또는 전부를 실행한 다음, 궁극적으로 사용자(10)가 발화(20)를 말하기를 마칠 때 음성 컨디션의 종료를 수신하는 것에 응답하여 액션(24)의 이행을 완료할 수 있다. 음성 컨디션의 종료가 수신될 때, 실행기(230)는 이미 쿼리(22)를 이행하기 위해 필요한 서브-액션들(26)의 시퀀스에서 각각의 서브-액션(26)을 수행하고, 따라서, 음성 컨디션의 종료가 수신될 때까지 액션(24)을 이행했을 수 있다.
도 2c에서, 해석기(220)는 "from my holiday trip to Greece"의 중간 음성 인식 결과들의 제2 시퀀스(212, 212b)에 대해 부분 쿼리 해석을 수행하여 사진 애플리케이션(118) 내의 사용자(10)에 대한 위치 변수에 대한 검색 필터(예를 들어, 검색 쿼리)를 식별하는 제2 해석(222, 222b)을 생성한다. 제2 해석(222b)에 기초하여, 실행기(230)는 위치 변수에 대해 로컬 사진 갤러리 애플리케이션의 사진들을 필터링함으로써 제2 서브-액션(22, 26c)을 수행할 수 있다. 예를 들어, 도 2c는 사용자의 앨범들이 위치 변수에 대해 필터링되는 것을 예시한다.
일부 예들에서, 후속 해석(222)은 이전 해석(222)을 무효화(void)할 수 있다. 예를 들어, 제1 해석(222, 222a)이 실행기(230)가 2개의 그럴듯한 사진 애플리케이션(118) - 여기서, 하나는 로컬 사진 갤러리 애플리케이션이고 다른 하나는 브라우저 애플리케이션을 통해 액세스가능한 서드-파티 사진 갤러리임 - 을 병렬로 런칭하도록 한 경우, (예를 들어, 워드 "holiday" 앞에 있는 워드 "my"에 기초하여) 시간의 필터가 사용자(10)와 구체적으로 관련되어 있음을 식별하는 제2 해석(222, 222b)은 서드-파티 사진 갤러리를 여는 액션을 무효화/롤백할 것인데, 왜냐하면, 해당 갤러리가 임의의 사용자-구체적인 사진들을 포함하지 않을 것이기 때문이다.
도 2d를 참조하면, 해석기(220)는 "with my parents"의 중간 음성 인식 결과들의 제3 시퀀스(212, 212c)에 대해 부분 쿼리 해석을 수행하여 사진들 내의 사용자의 부모님들의 존재에 대한 다른 검색 필터(예를 들어, 검색 쿼리)를 식별하는 제3 해석(222, 222c)을 생성한다. 이것은 제3 해석(222c)이 실행기(230)가 주제(subject matter)(즉, 사용자의 부모님들의 주제)에 의해 로컬 사진 갤러리 애플리케이션의 사진들을 추가로 필터링하는 제3 서브-액션(26, 26c)을 수행하게 할 것이라는 것을 의미한다.
일부 구성들에서, 해석기(220)는 주어진 해석(222)에 대한 신뢰도 레벨을 생성하는 해석 모델을 사용한다. 일부 구현들에서, 해석기(220)는 중간 음성 인식 결과들(212)의 동일한 시퀀스에 대해 다수의 가능한 해석들(222)을 생성하고, 각각의 가능한 해석(222)은 개개의 신뢰도 레벨을 가질 수 있다. 또한, 음성 인식기(210)는 오디오 데이터(14)의 동일한 부분에 대해 중간 음성 인식 결과들(212)의 다수의 상이한 후보 시퀀스들을 생성할 수 있고, 해석기(220)는 중간 음성 인식 결과들(222)의 각각의 후보 시퀀스에 대해 하나 이상의 가능한 해석(222)을 생성할 수 있다. 그러나, 일부 접근 방식들에서, 인터페이스(200)는 제한된 수의 해석들(222)(예를 들어, 하나의 해석(222)) 또는 일부 해석 신뢰도 임계값을 초과하는(above) 신뢰도 레벨을 표시하는 해석들(222)만 추구하기를 원할 수 있다. 여기서, 해석기(220)가 중간 음성 인식 결과들(212)의 주어진 시퀀스에 대해 그리고 해석 신뢰도 임계값을 충족하는 신뢰도 레벨들로 다수의 가능한 해석들(222)을 생성할 때, 실행기(230)는 가능한 해석들(222)에 의해 특징지어지는 개개의 서브-액션들(26)을 병렬로 프로세싱할 수 있다. 병렬로 프로세싱되는 서브-액션들(26)에 의하면, 인터페이스(200)는 디스플레이(116)에 각각의 병렬 트랙을 그래픽으로 디스플레이하고 사용자(10)가 특정 트랙을 선택할 수 있게 하거나 또는 심지어 해석기(220) 및/또는 실행기(230)의 거동을 변경하기 위해 자신의 발화(20)를 수정할 수 있게 한다.
도 2b 내지 도 2d의 예를 진행하면, 실행기(230)가 액션(24)을 수행하기 위해 필요한 특정 애플리케이션 유형으로서 사진 애플리케이션들을 식별하는 제1 해석(222a)을 수신할 때, 실행기(230)는 제1 사진 애플리케이션(118)을 런칭함으로써 제1 서브-액션(26a)을 수행한다. 여기서, 중간 ASR 결과들의 제1 시퀀스(212a)에서 수행된 부분 쿼리 해석은 특정 애플리케이션 유형(예를 들어, 사진 애플리케이션)을 식별하지만, 부분 쿼리 해석은 액션(24)을 이행하는 데 사용하기 위해 구체적인 사진 애플리케이션을 명명하는 것과 연관된 슬롯 값을 지정하지 못한다. 따라서, 제1 사진 애플리케이션(118)은 사용자(10)가 (예를 들어, 사진들을 위해) 디폴트로서 사용하기 위해 이전에 지정했을 수 있는 디폴트 사진 애플리케이션 또는 사용자(10)가 가장 빈번하게 사용하는 것에 대응한다. 도 2b에 도시된 바와 같이, 디스플레이(116)는 제1 사진 애플리케이션(118)이 선택됨을 나타내는 그래픽 아이콘을 보여주고 제1 사진 애플리케이션(118)에 대한 그래픽 사용자 인터페이스(GUI)(240)를 디스플레이하는 것을 진행함으로써 제1 사진 애플리케이션(118)의 런칭을 나타낼 수 있다.
도 2c에 도시된 바와 같이, 실행기(230)가 그리스에서의 휴일 시간 동안 사용자가 있는 사진들에 관한 검색 필터를 식별하는 제2 해석(222b)을 수신할 때, 실행기(230)는 디바이스(110)에서 런칭된 제1 사진 애플리케이션(118)에게 그리스에서의 휴일 시간 동안 사용자의 사진들에 대한 검색 쿼리를 수행하도록 지시함으로써 제2 서브-액션(26b)을 수행한다. 예를 들어, 도 2b와 도 2c를 비교하면, 원래 애플리케이션(118)은, 런칭되었을 때, 위치별로 정렬된 2개의 사진 앨범을 디스플레이했다. 한 앨범은 런던 사진들을 나타내고, 다른 앨범은 그리스로부터의 사진들을 나타낸다. 여기서, 실행기(230)는 애플리케이션에게 디스플레이(116)에 디스플레이된 제1 사진 애플리케이션(118)에 대한 GUI(240)의 검색 필드(242)에 검색 쿼리를 특징짓는 텍스트(예를 들어, 검색 용어(242ST)로서 "Greece"를 말하는 텍스트)를 입력하도록 지시할 수 있다. 이 검색 쿼리를 실행함으로써, 도 2c는 앨범 "Greece"로부터의 9개 사진 썸네일을 나타낸다. 제2 서브-액션(26b)에 이어, 실행기(230)는 사용자의 부모님들을 포함하는 그리스에서의 사용자(10)가 있는 사진들에 관한 검색 필터를 식별하는 제3 해석(222c)을 수신한다. 실행기(230)는 "Greece" 앨범의 사진들을 사람별로 정렬함으로써 제3 서브-액션(26c)을 수행한다. 여기서, 이 검색/필터는 이전 서브-단계(26b)로부터의 결과인 9개의 사진 중 4개를 선택하고, 이 4개의 사진을 제1 사진 애플리케이션(118) 내에 디스플레이한다. 도 2d에 의해 예시된 바와 같이, 제1 사진 애플리케이션(118)을 위한 GUI(240)는 제1 사진 애플리케이션(118) 내의 콘텐츠를 검색 또는 필터링하기 위한 상이한 GUI 요소들을 갖는 2개의 상이한 방법을 포함한다. 이 예에서, 사용자(10)는 애플리케이션(118)의 콘텐츠를 검색하기 위해(예를 들어, 제1 사진 애플리케이션(118) 내의 사진들을 검색하기 위해) 검색 필드(242)에 대응하는 제1 GUI 요소를 사용할 수 있다. 애플리케이션(118)은 또한 정렬/피처링 옵션들의 메뉴에 대응하는 GUI 요소를 포함한다. 이 예에 특정하게, 메뉴(244)는 사용자(10)가 제1 사진 애플리케이션(118)의 사진들과 연관된 태그들별로 자신의 사진들을 정렬할 수 있게 하는 사진 태그 리스트를 나타낸다. 태그는 일반적으로 하나 이상의 콘텐츠 요소(예를 들어, 사진)에 걸쳐 공유될 수 있는 식별자를 지칭한다. 이 예에서, 실행기(230)는 실행기(230)에게 사용자의 부모님들이 존재하는지 여부에 의해 사용자의 그리스 사진들을 필터링하도록 지시하기 위해 메뉴(244) 내의 "parents" 옵션을 선택할 수 있다.
일부 구성들에서, 발화(20)가 완료되거나 또는 엔드포인팅될 때, 실행기(230)는 액션(24)의 완전한 이행을 수행한다. 여기서, 발화(20)는 음성 인식기(210)가 오디오 데이터(14)에서 일부 지정된 최소 비-음성 지속기간 시간을 검출할 때 엔드포인팅될 수 있다. 실행기(230)는 오디오 데이터(14)(또는 발화(20)) 전체에 대한 풀 음성 인식 결과(full speech recognition result)에 기초하여 최고 신뢰도 액션(24)을 수행할 수 있다. 이들 구성들에서, 실행기(230)는 전체 액션(24)의 이행 이전에 발생한 이전 서브-액션들(26)을 롤백(취소 또는 종료)할 수 있다. 예를 들어, 실행기(230)는 전체 액션(24)과 일치하지 않는 하나 이상의 서브-액션(26)을 롤백한다. 일반적으로 말하면, 서브-액션 실행 프로세스는 풀 액션(full action)(24)의 실행 프로세스의 최종 상태와 매치되는 최종 상태에 있는 것을 목표로 한다. 그러나, 쿼리/커맨드(22)에 따라, 이것은 항상 그런 것은 아닐 수 있다. 따라서, 롤백(들)은 인터페이스(200)가 상이한 시나리오들을 유연하게 수용할 수 있게 한다.
일부 구현들에서, 실행기(230)는 발화(20)가 엔드포인팅되기 전의 다른 서브-액션들(26)뿐만 아니라 전체 액션(24)에 기초하여 이전 서브-액션들(26)을 롤백할 수 있다. 예시를 위해, 위에서 설명된 바와 같이, 해석기의 제1 해석(222)은 2개의 그럴듯한 사진-관련 유형의 애플리케이션들(118)로 이어졌을 수 있으며, 여기서 하나는 로컬 사진 갤러리 애플리케이션이고, 다른 하나는 브라우저 애플리케이션의 서드-파티 사진 갤러리이다. 그러나, 서브-액션들(26)의 나중 해석들(222)은 애플리케이션(118)이 서드-파티 사진 갤러리 애플리케이션일 수 없음을 컨펌했는데, 왜냐하면, 이것은 사용자(10)의 사진들을 포함하지 않을 것이기 때문이다. 이와 관련하여, 실행기(230)는 로컬 사진 갤러리 애플리케이션을 위해 서드-파티 사진 갤러리의 런칭을 위한 제1 서브-액션(26)을 롤백할 것이다. 실행기(230)가 실제로는 서드-파티 사진 갤러리를 런칭했고 로컬 사진 갤러리 애플리케이션은 또한 런칭하지 않은 경우, 실행기(230)는, 나중 해석들(222)에 기초하여, 서드-파티 사진 갤러리의 실행을 중단함으로써 서드-파티 사진 갤러리의 런칭을 위한 제1 서브-액션(26)을 롤백하고, 대신 로컬 사진 갤러리 애플리케이션을 런칭함으로써 제1 서브-액션(26)을 재-수행할 수 있다.
추가적으로 또는 대안적으로, 인터페이스(200)가 롤백하는 것이 가능하지 않거나, 또는 서브-액션(26)을 롤백하는 것이 사용자의 경험에 부정적인 영향을 미칠 특정 서브-액션들(26)이 있을 수 있다. 예를 들어, 서브-액션(26)이 소매 애플리케이션(118)에서 아이템을 구매하는 것일 때, 인터페이스(200)는 이러한 구매를 롤백하는 것이 가능하지 않을 수 있거나 또는 사용자 개입 없이 그렇게 할 수 있다. 여기서, 인터페이스(200)가 롤백가능하지 않은 서브-액션(26)은 비가역적 서브-액션(irreversible sub-action)(26)으로서 지칭될 수 있다. 이들 비가역적 서브-액션들(26)에서, 실행기(230)는 사용자(10)에게 비가역적 서브-액션(26)을 실행하는 동안 인가 또는 액션 컨펌을 프롬프트할 수 있다. 비가역적 서브-액션들(26)에 대한 다른 접근 방식은 비가역적 서브-액션(26)을 식별하는 것이며, 서브-액션(26)이 비가역적인 것으로서 식별될 때, 실행기(230)는 액션(24)의 완전한 이행을 수행하기를 대기한다. 즉, 부분 음성 인식 결과(212)보다는 풀 음성 인식 결과의 전체 컨텍스트가 해석되는 것이 더 안전할 수 있다. 또 다른 접근 방식에서, 발화(20)가 엔드포인팅되기 전에, 그러나, 실행기(230)가 애플리케이션(118)을 런칭한 후에, 실행기(230)는 서브-액션(26)에 대한 롤백 실현가능성 점수를 결정할 수 있다. 여기서, 롤백 실현가능성 점수는 실행기(230)가 서브-액션(26)을 롤백하는 경우에 사용자의 경험이 저하되거나 또는 해로운 영향을 받을 우도를 표시한다. 롤백 실현가능성 점수가 롤백 실현가능성 임계값을 충족할 때, 실행기(230)는 서브-액션(26)을 실행하도록 진행할 수 있다. 반면, 롤백 실현가능성 점수가 롤백 실현가능성 임계값을 충족하지 못할 때, 실행기(230)는 서브-액션(26)을 롤백하거나 또는 서브-액션(26)의 롤백을 지연시켜 액션(24)의 완전한 이행이 서브-액션(26)이 롤백되어야 함을 표시하는지 여부를 결정하고, 그에 따라 이를 롤백할 수 있다.
사용자(10)는 사용자(10)가 말하고 있는 동안 인터페이스(200)에 의해 서브-액션들(26)의 결과들이 수행되는 것을 볼 수 있기 때문에, 사용자(10)는, 일부 환경들에서, 사용자가 완전한 발화를 말하기를 마치기 전에 수동으로 발화를 엔드포인팅할 수 있다. 즉, 사용자(10)가 디바이스(110)로부터 특정 결과를 찾고 있을 때, 발화(20)를 완료하기 전에 특정 결과가 사용자(10)에게 디스플레이되는 경우, 사용자(10)는 이미 목적이 달성되었기 때문에 발화(20)의 완료를 포기할 수 있다. 예를 들어, 도 2b 내지 도 2d의 예를 사용하여, 그리스 앨범에 있는 사용자의 모든 사진들이 사용자의 부모님들을 포함한 경우, 제2 서브-액션(26b)과 제3 서브-액션(26c)은 동일한 결과들을 생성할 것이다. 이 시나리오에서, 사용자(10)는 디바이스(110)가 그리스 여행에서 그의 부모님들이 있는 사진들을 성공적으로 디스플레이했음을 인식할 수 있다. 이러한 인식에 기초하여, 사용자(10)는 발화(20)를 조기에(즉, "with my parents"라는 부분을 언급하기 전에) 엔드포인팅할 수 있다.
도 2e 내지 도 2h는 실행기(230)가 사용자(10)에 의해 말해진 발화(20)에 기초하여 병렬로 다수의 태스크들을 실행하고 있는 동안의 예시적인 인터페이스(200)를 도시한다. 이 예에서, 사용자(10)는 쿼리(22) "play rock music playlist on Google Play music"를 포함하는 디바이스(110)를 향해 지향된 발화(20)를 말한다. 사용자(10)가 발화(20)를 말할 때, 인터페이스는 발화(20)에 대응하는 오디오 데이터(14)를 수신하고, 오디오 데이터(14)를 음성 인식기(210)에 중계한다. 워드 "play"를 포함하는 오디오 데이터(14)의 제1 부분(14, 14a)에 대해, 음성 인식기(210)는 도 2e에 도시된 바와 같이 중간 음성 인식 결과들의 제1 시퀀스(212, 212a)를 제공한다. 해석기(220)는 음성 인식 결과들의 제1 시퀀스(212a)를 수신하고 그에 대한 부분 쿼리 해석을 수행하여 제1 해석(222, 222a)을 획득한다. 워드 "play"에 기초하여, 제1 해석(222a)은 오디오 데이터(14)가 미디어 유형의 애플리케이션(118)을 실행하기 위한 미디어-관련 커맨드를 포함하고 실행기(230)가 디바이스(110)에서 4개의 상이한 애플리케이션(118, 118a-d)을 런칭하는 제1 세트의 4개의 서브-액션(26, 26a-d)을 수행함을 표시한다. 제1 애플리케이션(118a)은 제1 음악 스트리밍 애플리케이션인 Google Play를 포함한다. 제2 애플리케이션(118b)은 제2 음악 스트리밍 애플리케이션인 Spotify를 포함한다. 제3 애플리케이션(118c)은 비디오 스트리밍 애플리케이션인 YouTube를 포함하고, 제4 애플리케이션(118d)은 "video player"라고 하는 로컬 제네릭 비디오 플레이어 애플리케이션을 포함한다. 이들 4개의 애플리케이션(118a-d)은, 서브-액션들(26)의 시퀀스가 계속되고 발화(20)에서 말해진 쿼리/커맨드가 보다 구체적이 될 때, 디바이스(110)에서 병렬로 실행되도록 런칭될 수 있다. 실행기(230)가 이들 애플리케이션들(118a-d)을 런칭할 때, 이들 애플리케이션들(118a-d)은 하나 이상의 윈도우(예를 들어, 윈도우들의 캐스케이드 또는 윈도우들의 패널)에서 디바이스(110)에 나타날 수 있다. 발화(20)의 제1 부분은 무언가를 "play"하기 위한 명확하고 식별가능한 애플리케이션(118)이 부족하기 때문에, 해석기(220)는 인터페이스가 발화(20)의 커맨드(22)에 대응하는 액션(24)을 수행하기 시작하고 있는 이 시점에 특정 애플리케이션(118)이 아닌 모든 미디어 유형의 애플리케이션들(118)을 포함할 수 있는 다수의 후보 서브-액션들(26a-d)을 생성한다. 또한, 각각의 서브-액션(26)에 대한 실행 프로세스가 사용자(10)에 대해 디바이스(110)의 디스플레이(116)에 디스플레이될 수 있기 때문에, (예를 들어, 발화(20)를 말하는 동안) 사용자(10)는 서브-액션들(26)을 추가로 용이하게 하거나 또는 이를 수정하기 위해 디스플레이(116)와 연계(engage)될 수 있다. 예를 들어, 사용자(10)에 대해 디스플레이된 4개의 애플리케이션(118)에 의하면, 사용자(10)는 선택된 애플리케이션(118)을 종료하기 위한 기능성을 갖는 애플리케이션(218)에 대한 GUI(240)의 GUI 요소와 상호작용함으로써 하나 이상의 애플리케이션(118)을 닫을 수 있다. 대조적으로, 사용자(10)는 추가적으로 또는 대안적으로 어느 애플리케이션들(118)을 종료하기보다는 유지하는 것을 선택할 수 있다. 또 다른 예에서, 사용자(10)는 애플리케이션(118)을 유지하고 또한 애플리케이션(118)을 종료하도록 선택할 수 있다.
사용자(10)가 계속해서 발화(20)를 말함에 따라, 도 2f는 워드들 "rock music"과 관련된 오디오 데이터(14)의 제2 부분(14b)에 대해 음성 인식을 수행하여 중간 음성 인식 결과들의 제2 시퀀스(212, 212b)를 생성하는 음성 인식기(210)를 도시한다. 해석기(220)는 중간 음성 인식 결과들의 제2 시퀀스(212b)를 해석하여 2개의 상이한 해석(222, 222b-c)을 획득한다. "rock music"이 음악 장르(즉, 록 음악의 장르)를 의미하는 제1 해석(222b) 또는 "rock music"이 사용자(10)를 위한 플레이리스트(예를 들어, 플레이리스트 타이틀)를 의미하는 제2 해석(222). 이들 해석들(222b-c) 둘 다 신뢰도 임계값을 충족하는 신뢰도 레벨을 가질 수 있기 때문에, 실행기(230)는 제1 세트의 서브-액션들(26a-d)로부터 런칭되고 열린 각각의 애플리케이션(118)에서 해석들(222b-c)을 둘 다 실행하기 위해 병렬 프로세스를 생성할 수 있다.
실행기(230)는 또한 제1 세트의 서브-액션들(26a-d)의 서브-액션들(26) 중 임의의 것이 롤백(예를 들어, 종료)되어야 하는지를 결정하기 위해 유효성 체크(validity check)로서 제2 해석(222b) 및 제3 해석(222c)을 사용할 수도 있다. 애플리케이션들 중 2개(118c-d)는 비디오용 애플리케이션들(예를 들어, 스트리밍 비디오 또는 로컬 비디오 플레이어)이었기 때문에, 제2 해석(222b) 및 제3 해석(222c)에 대한 유효성 체크를 수행하면 실행기(230)는 제3 및 제4 서브-액션(26, 26c-d)에 기초하여 런칭된 비디오-기반 애플리케이션들(118c-d)을 종료하게 된다. 이 경우, 해석들(222b-c) 둘 다를 실행하는 것은 제1 애플리케이션(118a) 및 제2 애플리케이션(118b)에서만 발생해야 한다. 따라서, 이 실행 프로세스는 도 2f에 도시된 바와 같이 4개의 병렬 액션 시퀀스가 발생하고 있는 제2 세트의 서브-액션들(26e-h)을 형성한다.
도 2g에서, 사용자(10)가 계속해서 발화(20)를 말하는 동안, 음성 인식기(210)는 워드 "playlist"와 관련된 오디오 데이터(14)의 제3 부분(14c)에 대해 음성 인식을 수행하여 해석기(220)가 부분 쿼리 해석을 수행하는 중간 음성 인식 결과들(212, 212c)의 제3 시퀀스를 생성하여 제4 해석(222, 222d)을 결정한다. 이 프로세싱 단계에서, 해석기(220)는 이러한 중간 음성 인식 결과들(212, 212c)의 시퀀스가 제2 및 제3 해석(222b-c)의 일부 모호성을 명확히 한다는 것을 인식가능할 수 있다. 즉, 해당 "rock music"은 음악에 대한 장르 검색으로서 해석되지 않았어야 하고 "rock music"이라는 플레이리스트를 의미했어야 한다. 이들 추가 컨텍스트 단서들에 기초하여, 실행기(230)는 "rock music"이 장르에 대응할 수 있다는 전제하에 실행 중이던 임의의 프로세스들을 종료했다. 이들 프로세스들의 종료 후에, 이것은 2개의 나머지 액션 시퀀스를 남겨두는데, 하나는 Google Play music의 제1 스트리밍 음악 애플리케이션(118)에 대한 것이고 하나는 Spotify의 제2 스트리밍 음악 애플리케이션(118)에 대한 것이다. 액션 시퀀스의 이 지점에서, 각각의 애플리케이션(118)이 런칭되었고, 제4 상호작용(222d)에 대응하는 서브-액션들(26i-j)에 따라 플레이리스트 "rock music"을 검색했다.
도 2g에서, 사용자(10)는 발화(20)의 마지막 부분을 말한다. 사용자(10)가 발화(20)의 마지막 부분을 말하는 동안, 그리고, 발화(20)의 엔드포인트(214)(도 2h)(또는 음성 컨디션의 종료) 전에, 음성 인식기(210)는 워드들 "on Google Play music"과 관련된 오디오 데이터(14)의 제4 부분(14, 14d)에 대해 음성 인식을 수행한다. 여기서, 음성 인식기(210)는 오디오 데이터(14)의 제4 부분(14d)에 대해 중간 음성 인식 결과들의 제4 시퀀스(212, 212d)를 생성한다. 음성 인식기(210)는 중간 음성 인식 결과들의 제4 시퀀스(212d)를 해석기(220)에 중계하고, 해석기(220)는 부분 쿼리 해석을 수행하여 중간 음성 인식 결과들의 제4 시퀀스(212d)를 특정 애플리케이션인 Google Play music을 고유하게 지정하는 것으로서 식별하는 제5 해석(222, 222e)을 생성한다. 즉, 이 구체적인 애플리케이션(118)이 발화(20)의 종료시에 정의되었지만, 이 애플리케이션(118)은 이 부분의 워드들 "on Google Play music"에 선행하는 발화(20)의 컨텍스트로 인해 사용자(10)가 말하고 있는 동안 이미 실행되고 있었다. 이 제5 해석(222e)에 기초하여, 실행기(230)는 Spotify 애플리케이션(118)의 실행을 중단한다. 추가적으로, 발화(20)의 엔드포인트(214)가 발생할 때, 해석기(220)는 서브-액션 시퀀스를 액션(24)과 비교하여 음성 인식기(210)로부터의 풀 음성 인식 결과를 이행할 수 있다.
도 3은 부분 가설들에 기초한 스트리밍 액션 이행을 위한 예시적인 동작 배열의 흐름도이다. 동작(302)에서, 방법(300)은 사용자 디바이스(110)의 사용자(10)에 의해 말해진 발화(20)에 대응하는 오디오 데이터(14)를 수신하며, 여기서, 발화(20)는 액션(24)을 수행하기 위한 쿼리(22)를 포함하고, 쿼리(22)는 액션(24)을 이행하기 위해 서브-액션들(26)의 시퀀스의 수행을 요구한다. 동작(304)은, 방법(300)이 오디오 데이터(14)를 수신하는 동안, 그러나, 음성 컨디션의 종료(214)를 수신하기 전에 발생하는 3개의 서브-동작(304, 304a-c)을 포함한다. 동작(304a)에서, 방법(300)은, 음성 인식기(210)를 사용하여, 수신된 오디오 데이터(14)의 제1 부분(14, 14a)을 프로세싱하여 중간 자동 음성 인식(ASR) 결과들(212)의 제1 시퀀스를 생성한다. 동작(304b)에서, 방법(300)은 중간 ASR 결과들(212)의 제1 시퀀스에 대한 부분 쿼리 해석을 수행하여 중간 ASR 결과들(212)의 제1 시퀀스가 액션을 수행하는 데 필요한 애플리케이션 유형을 식별하는지 여부를 결정한다. 동작(304c)에서, 중간 ASR 결과들(212)의 제1 시퀀스가 특정 애플리케이션 유형을 식별할 때, 사용자 디바이스(110)에서 실행하기 위한 제1 애플리케이션(118)을 런칭함으로써 서브-액션들(26, 26a-n)의 시퀀스에서 제1 서브-액션(26)을 수행하며, 여기서, 제1 애플리케이션(118)은 특정 애플리케이션 유형과 연관된다. 동작(306)에서, 방법(300)은, 음성 컨디션의 종료(214)를 수신하는 것에 응답하여, 액션(24)의 수행을 이행하는 단계를 포함한다.
도 4는 본 문서에 설명된 시스템들(예를 들어, 인터페이스(200)) 및 방법들(예를 들어, 방법(300))을 구현하는 데 사용될 수 있는 예시적인 컴퓨팅 디바이스(400)의 개략도이다. 컴퓨팅 디바이스(400)는 랩탑들, 데스크탑들, 워크스테이션들, 퍼스널 디지털 어시스턴트들, 서버들, 블레이드 서버들, 메인프레임들, 및 다른 적절한 컴퓨터들과 같은 다양한 형태들의 디지털 컴퓨터들을 나타내도록 의도된다. 여기에 보여진 컴포넌트들, 그들의 연결들 및 관계들, 및 그들의 기능들은 예시일 뿐이며, 이 문서에서 설명된 및/또는 청구된 발명들의 구현들을 제한하는 것을 의미하지 않는다.
컴퓨팅 디바이스(400)는 프로세서(410), 메모리(420), 스토리지 디바이스(430), 메모리(420) 및 고속 확장 포트들(450)에 연결되는 고속 인터페이스/컨트롤러(440), 및 저속 버스(470) 및 스토리지 디바이스(430)에 연결되는 저속 인터페이스/컨트롤러(460)를 포함한다. 컴포넌트들(410, 420, 430, 440, 450, 및 460) 각각은 다양한 버스들을 사용하여 상호연결되며, 공통 마더보드에 또는 적절한 다른 방식들로 마운팅될 수 있다. 프로세서(410)는 사용자 디바이스(110)의 데이터 프로세싱 하드웨어(112d) 또는 원격 시스템(130)의 데이터 프로세싱 하드웨어(134)를 포함할 수 있다. 따라서, 데이터 프로세싱 하드웨어(410)는 고속 인터페이스(440)에 커플링된 디스플레이(480)와 같은 외부 입력/출력 디바이스에 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 디스플레이하기 위해 메모리(420) 또는 스토리지 디바이스(430)에 저장된 명령어들을 포함한, 컴퓨팅 디바이스(400) 내에서의 실행을 위한 명령어들을 프로세싱할 수 있다. 다른 구현들에서는, 다수의 프로세서들 및/또는 다수의 버스들이 다수의 메모리들 및 메모리 유형들과 함께, 적절하게, 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들(400)이 연결될 수 있으며, 각각의 디바이스는 (예를 들어, 서버 뱅크, 블레이드 서버 그룹 또는 멀티-프로세서 시스템으로서) 필요한 동작들의 부분들을 제공한다.
메모리(420)는 컴퓨팅 디바이스(400) 내에 비일시적으로 정보를 저장한다. 메모리(420)는 사용자 디바이스(110)의 메모리 하드웨어(112m) 또는 원격 시스템(130)의 메모리 하드웨어(136)를 포함할 수 있다. 메모리 하드웨어(420)는 컴퓨터 판독가능 매체, 휘발성 메모리 유닛(들), 또는 비휘발성 메모리 유닛(들)일 수 있다. 비일시적 메모리 하드웨어(420)는 컴퓨팅 디바이스(400)에 의해 사용하기 위해 일시적인 또는 영구적인 베이시스로 프로그램들(예를 들어, 명령어들의 시퀀스들) 또는 데이터(예를 들어, 프로그램 상태 정보)를 저장하는 데 사용되는 물리적 디바이스들일 수 있다. 비휘발성 메모리의 예들은 플래시 메모리 및 판독 전용 메모리(read-only memory)(ROM)/프로그래밍가능한 판독 전용 메모리(programmable read-only memory)(PROM)/소거가능한 프로그래밍가능한 판독 전용 메모리(erasable programmable read-only memory)(EPROM)/전자적으로 소거가능한 프로그래밍가능한 판독 전용 메모리(electronically erasable programmable read-only memory)(EEPROM)(예를 들어, 통상적으로 부트 프로그램들과 같은 펌웨어에 사용됨)를 포함하지만, 이에 제한되지 않는다. 휘발성 메모리의 예들은 랜덤 액세스 메모리(random access memory)(RAM), 동적 랜덤 액세스 메모리(dynamic random access memory)(DRAM), 정적 랜덤 액세스 메모리(static random access memory)(SRAM), 상 변화 메모리(phase change memory)(PCM)뿐만 아니라 디스크들 또는 테이프들을 포함하지만, 이에 제한되지 않는다.
스토리지 디바이스(430)는 컴퓨팅 디바이스(400)를 위한 대용량 스토리지를 제공할 수 있다. 일부 구현들에서, 스토리지 디바이스(430)는 컴퓨터 판독가능 매체이다. 다양한 상이한 구현들에서, 스토리지 디바이스(430)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광학 디스크 디바이스, 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 솔리드 스테이트 메모리 디바이스, 또는 스토리지 영역 네트워크 또는 다른 구성들의 디바이스들을 포함한 디바이스들의 어레이일 수 있다. 추가 구현들에서, 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로(tangibly) 구현된다. 컴퓨터 프로그램 제품은, 실행될 때, 위에서 설명된 것들과 같은 하나 이상의 방법을 수행하는 명령어들을 포함한다. 정보 캐리어는 메모리(420), 스토리지 디바이스(430), 또는 프로세서(410) 상의 메모리와 같은 컴퓨터 또는 머신 판독가능 매체이다.
고속 컨트롤러(440)는 컴퓨팅 디바이스(400)에 대한 대역폭-집약적 동작들을 관리하는 반면, 저속 컨트롤러(460)는 더 낮은 대역폭-집약적 동작들을 관리한다. 이러한 직무들의 할당은 예시일 뿐이다. 일부 구현들에서, 고속 컨트롤러(440)는 메모리(420), 디스플레이(480)에(예를 들어, 그래픽 프로세서 또는 가속기를 통해), 및 다양한 확장 카드들(도시되지 않음)을 수용할 수 있는 고속 확장 포트들(450)에 커플링된다. 일부 구현들에서, 저속 컨트롤러(460)는 스토리지 디바이스(430) 및 저속 확장 포트(490)에 커플링된다. 다양한 통신 포트들(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)을 포함할 수 있는 저속 확장 포트(490)는, 예를 들어, 네트워크 어댑터를 통해, 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입/출력 디바이스, 또는 스위치 또는 라우터와 같은 네트워킹 디바이스에 커플링될 수 있다.
컴퓨팅 디바이스(400)는 도면에 도시된 바와 같이 다수의 상이한 형태들로 구현될 수 있다. 예를 들어, 이것은 표준 서버(400a)로서 또는 이러한 서버들(400a)의 그룹에서 여러 번, 랩톱 컴퓨터(400b)로서, 또는 랙 서버 시스템(400c)의 일부로서 구현될 수 있다.
본 명세서에서 설명되는 시스템들 및 기술들의 다양한 구현들은 디지털 전자 및/또는 광 회로부, 집적 회로부, 특수 설계된 ASIC(application specific integrated circuit)들, 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합들로 실현될 수 있다. 이들 다양한 구현들은 스토리지 시스템, 적어도 하나의 입력 디바이스, 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령어들을 수신하고 이에 데이터 및 명령어들을 송신하기 위해 커플링되는 특수 목적 또는 범용일 수 있는 적어도 하나의 프로그래밍가능한 프로세서를 포함하는 프로그래밍가능한 시스템에서 실행가능하고/하거나 해석가능한 하나 이상의 컴퓨터 프로그램에서의 구현을 포함할 수 있다.
이들 컴퓨터 프로그램들(프로그램들, 소프트웨어, 소프트웨어 애플리케이션들 또는 코드로도 알려짐)은 프로그래밍가능한 프로세서를 위한 머신 명령어들을 포함하고, 고-레벨 절차 및/또는 객체-지향 프로그래밍 언어로 및/또는 어셈블리/머신 언어로 구현될 수 있다. 본 명세서에서 사용되는 바와 같이, "머신 판독가능 매체" 및 "컴퓨터 판독가능 매체"라는 용어들은 머신 판독가능 신호로서 머신 명령어들을 수신하는 머신 판독가능 매체를 포함하여 프로그래밍가능한 프로세서에 머신 명령어들 및/또는 데이터를 제공하는 데 사용되는 임의의 컴퓨터 프로그램 제품, 비일시적 컴퓨터 판독가능 매체, 장치 및/또는 디바이스(예를 들어, 자기 디스크들, 광 디스크들, 메모리, 프로그래밍가능한 로직 디바이스(Programmable Logic Device)들(PLD들)을 지칭한다. "머신 판독가능 신호"라는 용어는 프로그래밍가능한 프로세서에 머신 명령어들 및/또는 데이터를 제공하는 데 사용되는 임의의 신호를 지칭한다.
본 명세서에서 설명되는 프로세스들 및 로직 흐름들은, 입력 데이터에 대해 동작하고 출력을 생성함으로써 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는, 데이터 프로세싱 하드웨어로서 지칭되기도 하는, 하나 이상의 프로그래밍가능한 프로세서에 의해 수행될 수 있다. 프로세스들 및 로직 흐름들은 특수 목적 로직 회로부, 예를 들어, FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)에 의해 수행될 수도 있다. 컴퓨터 프로그램의 실행에 적절한 프로세서들은, 예를 들어, 범용 마이크로프로세서 및 특수 목적 마이크로프로세서 둘 다, 및 임의의 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 다로부터 명령어들 및 데이터를 수신할 것이다. 컴퓨터의 필수 요소들은 명령어들을 수행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 스토리지 디바이스, 예를 들어, 자기, 광자기 디스크(magneto optical disk)들, 또는 광 디스크들을 포함하거나, 또는 이로부터 데이터를 수신하거나 이에 데이터를 전송하거나 또는 둘 다를 수행하기 위해 동작가능하게 커플링될 것이다. 그러나, 컴퓨터가 이러한 디바이스들을 가질 필요는 없다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적절한 컴퓨터 판독가능 매체들은, 예를 들어, 반도체 메모리 디바이스들, 예를 들어, EPROM, EEPROM, 및 플래시 메모리 디바이스들; 자기 디스크들, 예를 들어, 내부 하드 디스크들 또는 이동식 디스크들; 광자기 디스크들; 및 CD ROM 및 DVD-ROM 디스크들을 포함하여, 모든 형태들의 비휘발성 메모리, 매체 및 메모리 디바이스들을 포함한다. 프로세서 및 메모리는 특수 목적 로직 회로부에 의해 보완되거나 또는 이에 통합될 수 있다.
사용자와의 상호작용을 제공하기 위해, 본 개시내용의 하나 이상의 양태는 디스플레이 디바이스, 예를 들어, CRT(cathode ray tube), LCD(liquid crystal display) 모니터, 또는 사용자에게 정보를 디스플레이하기 위한 터치 스크린, 및 임의적으로는 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스, 예를 들어, 마우스 또는 트랙볼을 갖는 컴퓨터에서 구현될 수 있다. 다른 종류들의 디바이스들도 사용자와의 상호작용을 제공하는 데 사용될 수 있으며, 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각적 피드백, 예를 들어, 시각적 피드백, 청각적 피드백, 또는 촉각적 피드백일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함한 임의의 형태로 수신될 수 있다. 또한, 컴퓨터는 사용자에 의해 사용되는 디바이스로 문서들을 전송하고 이로부터 문서들을 수신함으로써, 예를 들어, 웹 브라우저로부터 수신된 요청들에 응답하여 사용자의 클라이언트 디바이스 상의 웹 브라우저에 웹 페이지들을 전송함으로써 사용자와 상호작용할 수 있다.
다수의 구현들이 설명되었다. 그럼에도 불구하고, 본 개시내용의 사상 및 범주를 벗어나지 않고 다양한 수정들이 이루어질 수 있음이 이해될 것이다. 따라서, 다른 구현들은 다음 청구항의 범위 내에 있다.

Claims (28)

  1. 방법으로서,
    데이터 프로세싱 하드웨어에서, 사용자 디바이스의 사용자에 의해 말해진(spoken) 발화(utterance)에 대응하는 오디오 데이터를 수신하는 단계 - 상기 발화는 액션을 수행하기 위한 쿼리를 포함하고, 상기 쿼리는 상기 액션을 이행하기 위해 서브-액션들의 시퀀스의 수행을 요구함 -;
    음성 컨디션의 종료를 수신하기 전에 상기 오디오 데이터를 수신하는 동안:
    상기 데이터 프로세싱 하드웨어에 의해, 음성 인식기를 사용하여, 상기 수신된 오디오 데이터의 제1 부분을 프로세싱하여 중간 자동 음성 인식(automated speech recognition)(ASR) 결과들의 제1 시퀀스를 생성하는 단계;
    상기 데이터 프로세싱 하드웨어에 의해, 상기 중간 ASR 결과들의 제1 시퀀스에 대한 부분 쿼리 해석을 수행하여 상기 중간 ASR 결과들의 제1 시퀀스가 상기 액션을 수행하는 데 필요한 애플리케이션 유형을 식별하는지 여부를 결정하는 단계;
    상기 중간 ASR 결과들의 제1 시퀀스가 특정 애플리케이션 유형을 식별할 때, 상기 데이터 프로세싱 하드웨어에 의해, 상기 사용자 디바이스에서 병렬로 실행하기 위한 제1 애플리케이션 및 제2 애플리케이션 둘 다를 런칭(launching)함으로써 상기 서브-액션들의 시퀀스에서 제1 서브-액션을 수행하는 단계 - 상기 제1 애플리케이션 및 상기 제2 애플리케이션은 둘 다 상기 특정 애플리케이션 유형과 연관됨 -; 및
    상기 데이터 프로세싱 하드웨어에 의해, 상기 사용자 디바이스의 그래픽 사용자 인터페이스에서, 제1 그래픽 요소 및 제2 그래픽 요소를 동시에 디스플레이하는 단계 - 상기 제1 그래픽 요소는 상기 사용자 디바이스에서 실행되는 제1 애플리케이션을 나타내고, 상기 제2 그래픽 요소는 상기 사용자 디바이스에서 실행되는 제2 그래픽 요소를 나타냄 -; 및
    음성 컨디션의 종료를 수신하는 것에 응답하여, 상기 데이터 프로세싱 하드웨어에 의해, 상기 액션의 수행을 이행하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서, 상기 음성 컨디션의 종료를 수신하기 전에 그리고 상기 제1 애플리케이션을 런칭한 후에 상기 오디오 데이터를 수신하는 동안:
    상기 데이터 프로세싱 하드웨어에 의해, 상기 음성 인식기를 사용하여, 상기 수신된 오디오 데이터의 제2 부분을 프로세싱하여 중간 ASR 결과들의 제2 시퀀스를 생성하는 단계;
    상기 데이터 프로세싱 하드웨어에 의해, 상기 중간 ASR 결과들의 제2 시퀀스에 대한 부분 쿼리 해석을 수행하여 상기 제1 애플리케이션의 콘텐츠에 대한 검색 쿼리를 식별하는 단계; 및
    상기 데이터 프로세싱 하드웨어에 의해, 상기 제1 애플리케이션에게 상기 제1 애플리케이션의 콘텐츠에 대한 검색 쿼리를 수행하도록 지시함으로써 상기 액션들의 시퀀스에서 제2 서브-액션을 수행하는 단계
    를 더 포함하는, 방법.
  3. 제2항에 있어서, 상기 사용자 디바이스에서 실행하기 위한 상기 제1 애플리케이션을 런칭하는 것에 응답하여:
    상기 데이터 프로세싱 하드웨어에 의해, 상기 사용자 디바이스의 그래픽 사용자 인터페이스에서, 검색 필드 및 상기 제1 애플리케이션의 콘텐츠의 상이한 카테고리들을 각각 나타내는 다수의 그래픽 요소들 중 적어도 하나를 갖는 초기 스크린을 디스플레이하는 단계
    를 더 포함하고,
    상기 제1 애플리케이션에게 상기 콘텐츠에 대한 검색 쿼리를 수행하도록 지시하는 것은:
    상기 초기 스크린의 검색 필드에, 상기 제1 애플리케이션의 콘텐츠에 대한 검색 쿼리를 특징짓는 텍스트를 입력하는 것; 또는
    상기 초기 스크린의 다수의 그래픽 요소들 중으로부터, 상기 검색 쿼리에 의해 지정된 콘텐츠를 포함하는 콘텐츠의 카테고리를 나타내는 그래픽 요소를 선택하는 것
    을 포함하는, 방법.
  4. 제3항에 있어서, 상기 제1 애플리케이션이 상기 콘텐츠에 대한 검색 쿼리를 수행한 후에, 상기 데이터 프로세싱 하드웨어에 의해, 상기 그래픽 사용자 인터페이스에서, 상기 검색 쿼리에 의해 지정된 콘텐츠를 포함하는 하나 이상의 결과를 제시하는 제2 스크린을 디스플레이하는 단계를 더 포함하는, 방법.
  5. 제4항에 있어서,
    상기 데이터 프로세싱 하드웨어에서, 상기 제2 스크린에 제시된 결과들 중 하나의 것의 선택을 표시하는 사용자 입력 표시를 수신하는 단계;
    상기 사용자 입력 표시를 수신하는 것에 응답하여, 상기 데이터 프로세싱 하드웨어에 의해, 상기 음성 컨디션의 종료를 검출하는 단계
    를 더 포함하는, 방법.
  6. 제2항에 있어서, 상기 제1 애플리케이션이 상기 콘텐츠에 대한 검색 쿼리를 수행한 후에:
    상기 데이터 프로세싱 하드웨어에 의해, 상기 음성 인식기를 사용하여, 상기 수신된 오디오 데이터의 제3 부분을 프로세싱하여 중간 ASR 결과들의 제3 시퀀스를 생성하는 단계;
    상기 데이터 프로세싱 하드웨어에 의해, 상기 중간 ASR 결과들의 제3 시퀀스에 대한 부분 쿼리 해석을 수행하여 더 구체적인 콘텐츠에 대해 상기 검색 쿼리를 업데이트할지 여부를 결정하는 단계; 및
    상기 중간 검색 결과들의 제3 시퀀스에서 수행된 부분 쿼리 해석이 더 구체적인 콘텐츠에 대해 상기 검색 쿼리를 업데이트하기로 결정할 때, 상기 데이터 프로세싱 하드웨어에 의해, 상기 제1 애플리케이션에게 더 구체적인 콘텐츠에 대해 상기 검색 쿼리를 업데이트하도록 지시함으로써 상기 서브-액션들의 시퀀스에서 제3 서브-액션을 수행하는 단계
    를 더 포함하는, 방법.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 제1항에 있어서,
    상기 데이터 프로세싱 하드웨어에서, 상기 그래픽 사용자 인터페이스에 디스플레이된 제1 그래픽 요소 또는 제2 그래픽 요소 중 하나의 것의 선택을 표시하는 사용자 입력 표시를 수신하는 단계; 및
    상기 사용자 입력 표시를 수신하는 것에 응답하여:
    상기 데이터 프로세싱 하드웨어에 의해, 상기 제1 그래픽 요소 또는 상기 제2 그래픽 요소 중 선택된 것에 의해 나타내어지는 제1 애플리케이션 또는 제2 애플리케이션 중 하나의 것의 실행을 유지하는 단계; 및
    상기 데이터 프로세싱 하드웨어에 의해, 상기 사용자 입력 표시에 의해 선택되지 않은 제1 그래픽 요소 또는 제2 그래픽 요소 중 하나에 의해 나타내어지는 제1 애플리케이션 또는 제2 애플리케이션 중 다른 하나의 것의 실행을 중단하는 단계
    를 더 포함하는, 방법.
  11. 제1항에 있어서, 상기 음성 컨디션의 종료를 수신하기 전에 그리고 상기 제1 애플리케이션을 런칭한 후에 상기 오디오 데이터를 수신하는 동안:
    상기 데이터 프로세싱 하드웨어에 의해, 상기 음성 인식기를 사용하여, 상기 수신된 오디오 데이터의 제2 부분을 프로세싱하여 중간 ASR 결과들의 제2 시퀀스를 생성하는 단계;
    상기 데이터 프로세싱 하드웨어에 의해, 상기 중간 ASR 결과들의 제2 시퀀스에 대한 부분 쿼리 해석을 수행하여 상기 서브-액션들의 시퀀스에서 제2 서브-액션을 식별하는 단계;
    상기 데이터 프로세싱 하드웨어에 의해, 상기 제2 서브-액션과 연관된 롤백 실현가능성 점수(rollback feasibility score)를 결정하는 단계 - 상기 롤백 실현가능성은 상기 제2 서브-액션을 실행하는 것이 롤백되어야 하는 경우에 사용자 경험이 저하될 우도(likelihood)를 표시함 -; 및
    상기 롤백 실현가능성 점수가 롤백 실현가능성 임계값을 충족할 때, 상기 데이터 프로세싱 하드웨어에 의해, 상기 제2 서브-액션을 수행하는 단계
    를 더 포함하는, 방법.
  12. 제11항에 있어서, 상기 롤백 실현가능성 점수가 상기 롤백 실현가능성 임계값을 충족하지 않을 때, 상기 데이터 프로세싱 하드웨어에 의해, 상기 음성 컨디션의 종료가 수신될 때까지 상기 제2 서브-액션의 수행을 지연시키는 단계를 더 포함하는, 방법.
  13. 제11항에 있어서,
    상기 데이터 프로세싱 하드웨어에 의해, 상기 중간 ASR 결과들의 제2 시퀀스에 대한 부분 쿼리 해석을 수행함으로써 식별된 제2 서브-액션의 신뢰도 점수(confidence score)를 결정하는 단계; 및
    상기 제2 서브-액션의 신뢰도 점수가 신뢰도 임계값을 충족하지 못할 때, 상기 데이터 프로세싱 하드웨어에 의해, 상기 사용자에게 상기 제2 서브-액션이 올바르게 식별되었는지 여부를 컨펌하도록 프롬프트하는 단계
    를 더 포함하는, 방법.
  14. 제1항에 있어서, 상기 음성 컨디션의 종료를 결정하는 것은, 상기 음성 인식기를 사용하여, 상기 수신된 오디오에서 적어도 최소 비-음성 지속기간을 검출하는 것을 포함하는, 방법.
  15. 시스템으로서,
    데이터 프로세싱 하드웨어; 및
    상기 데이터 프로세싱 하드웨어와 통신하는 메모리 하드웨어
    를 포함하고, 상기 메모리 하드웨어는, 상기 데이터 프로세싱 하드웨어에서 실행될 때, 상기 데이터 프로세싱 하드웨어로 하여금, 동작들을 수행하게 하는 명령어들을 저장하고, 상기 동작들은:
    사용자 디바이스의 사용자에 의해 말해진 발화에 대응하는 오디오 데이터를 수신하는 동작 - 상기 발화는 액션을 수행하기 위한 쿼리를 포함하고, 상기 쿼리는 상기 액션을 이행하기 위해 서브-액션들의 시퀀스의 수행을 요구함 -;
    음성 컨디션의 종료를 수신하기 전에 상기 오디오 데이터를 수신하는 동안:
    음성 인식기를 사용하여, 상기 수신된 오디오 데이터의 제1 부분을 프로세싱하여 중간 자동 음성 인식(ASR) 결과들의 제1 시퀀스를 생성하는 동작;
    상기 중간 ASR 결과들의 제1 시퀀스에 대한 부분 쿼리 해석을 수행하여 상기 중간 ASR 결과들의 제1 시퀀스가 상기 액션을 수행하는 데 필요한 애플리케이션 유형을 식별하는지 여부를 결정하는 동작;
    상기 중간 ASR 결과들의 제1 시퀀스가 특정 애플리케이션 유형을 식별할 때, 상기 사용자 디바이스에서 병렬로 실행하기 위한 제1 애플리케이션 및 제2 애플리케이션 둘 다를 런칭함으로써 상기 서브-액션들의 시퀀스에서 제1 서브-액션을 수행하는 동작 - 상기 제1 애플리케이션 및 상기 제2 애플리케이션은 둘 다 상기 특정 애플리케이션 유형과 연관됨 -; 및
    상기 사용자 디바이스의 그래픽 사용자 인터페이스에서, 제1 그래픽 요소 및 제2 그래픽 요소를 동시에 디스플레이하는 동작 - 상기 제1 그래픽 요소는 상기 사용자 디바이스에서 실행되는 제1 애플리케이션을 나타내고, 상기 제2 그래픽 요소는 상기 사용자 디바이스에서 실행되는 제2 그래픽 요소를 나타냄 -; 및
    음성 컨디션의 종료를 수신하는 것에 응답하여, 상기 데이터 프로세싱 하드웨어에 의해, 상기 액션의 수행을 이행하는 동작
    을 포함하는, 시스템.
  16. 제15항에 있어서, 상기 동작들은, 상기 음성 컨디션의 종료를 수신하기 전에 그리고 상기 제1 애플리케이션을 런칭한 후에 상기 오디오 데이터를 수신하는 동안:
    상기 음성 인식기를 사용하여, 상기 수신된 오디오 데이터의 제2 부분을 프로세싱하여 중간 ASR 결과들의 제2 시퀀스를 생성하는 동작;
    상기 중간 ASR 결과들의 제2 시퀀스에 대한 부분 쿼리 해석을 수행하여 상기 제1 애플리케이션의 콘텐츠에 대한 검색 쿼리를 식별하는 동작; 및
    상기 제1 애플리케이션에게 상기 제1 애플리케이션의 콘텐츠에 대한 검색 쿼리를 수행하도록 지시함으로써 상기 액션들의 시퀀스에서 제2 서브-액션을 수행하는 동작
    을 더 포함하는, 시스템.
  17. 제16항에 있어서, 상기 동작들은, 상기 사용자 디바이스에서 실행하기 위한 제1 애플리케이션을 런칭하는 것에 응답하여:
    상기 데이터 프로세싱 하드웨어에 의해, 상기 사용자 디바이스의 그래픽 사용자 인터페이스에서, 검색 필드 및 상기 제1 애플리케이션의 콘텐츠의 상이한 카테고리들을 각각 나타내는 다수의 그래픽 요소들 중 적어도 하나를 갖는 초기 스크린을 디스플레이하는 동작
    을 더 포함하고,
    상기 제1 애플리케이션에게 상기 콘텐츠에 대한 검색 쿼리를 수행하도록 지시하는 것은:
    상기 초기 스크린의 검색 필드에, 상기 제1 애플리케이션의 콘텐츠에 대한 검색 쿼리를 특징짓는 텍스트를 입력하는 것; 또는
    상기 초기 스크린의 다수의 그래픽 요소들 중으로부터, 상기 검색 쿼리에 의해 지정된 콘텐츠를 포함하는 콘텐츠의 카테고리를 나타내는 그래픽 요소를 선택하는 것
    을 포함하는, 시스템.
  18. 제17항에 있어서, 상기 동작들은, 상기 제1 애플리케이션이 상기 콘텐츠에 대한 검색 쿼리를 수행한 후에, 상기 그래픽 사용자 인터페이스에서, 상기 검색 쿼리에 의해 지정된 콘텐츠를 포함하는 하나 이상의 결과를 제시하는 제2 스크린을 디스플레이하는 동작을 더 포함하는, 시스템.
  19. 제18항에 있어서, 상기 동작들은:
    상기 제2 스크린에 제시된 결과들 중 하나의 것의 선택을 표시하는 사용자 입력 표시를 수신하는 동작;
    상기 사용자 입력 표시를 수신하는 것에 응답하여, 상기 음성 컨디션의 종료를 검출하는 동작
    을 더 포함하는, 시스템.
  20. 제16항에 있어서, 상기 동작들은, 상기 제1 애플리케이션이 상기 콘텐츠에 대한 검색 쿼리를 수행한 후에:
    상기 데이터 프로세싱 하드웨어에 의해, 상기 음성 인식기를 사용하여, 상기 수신된 오디오 데이터의 제3 부분을 프로세싱하여 중간 ASR 결과들의 제3 시퀀스를 생성하는 동작;
    상기 데이터 프로세싱 하드웨어에 의해, 상기 중간 ASR 결과들의 제3 시퀀스에 대한 부분 쿼리 해석을 수행하여 더 구체적인 콘텐츠에 대해 상기 검색 쿼리를 업데이트할지 여부를 결정하는 동작; 및
    상기 중간 검색 결과들의 제3 시퀀스에서 수행된 부분 쿼리 해석이 더 구체적인 콘텐츠에 대해 상기 검색 쿼리를 업데이트하기로 결정할 때, 상기 데이터 프로세싱 하드웨어에 의해, 상기 제1 애플리케이션에게 더 구체적인 콘텐츠에 대해 상기 검색 쿼리를 업데이트하도록 지시함으로써 상기 서브-액션들의 시퀀스에서 제3 서브-액션을 수행하는 동작
    을 더 포함하는, 시스템.
  21. 삭제
  22. 삭제
  23. 삭제
  24. 제15항에 있어서, 상기 동작들은:
    상기 그래픽 사용자 인터페이스에 디스플레이된 제1 그래픽 요소 또는 제2 그래픽 요소 중 하나의 것의 선택을 표시하는 사용자 입력 표시를 수신하는 동작; 및
    상기 사용자 입력 표시를 수신하는 것에 응답하여:
    상기 제1 그래픽 요소 또는 상기 제2 그래픽 요소 중 선택된 것에 의해 나타내어지는 제1 애플리케이션 또는 제2 애플리케이션 중 하나의 것의 실행을 유지하는 동작; 및
    상기 사용자 입력 표시에 의해 선택되지 않은 제1 그래픽 요소 또는 제2 그래픽 요소 중 하나에 의해 나타내어지는 제1 애플리케이션 또는 제2 애플리케이션 중 다른 하나의 것의 실행을 중단하는 동작
    을 더 포함하는, 시스템.
  25. 제15항에 있어서, 상기 동작들은, 상기 음성 컨디션의 종료를 수신하기 전에 그리고 상기 제1 애플리케이션을 런칭한 후에 상기 오디오 데이터를 수신하는 동안:
    상기 음성 인식기를 사용하여, 상기 수신된 오디오 데이터의 제2 부분을 프로세싱하여 중간 ASR 결과들의 제2 시퀀스를 생성하는 동작;
    상기 중간 ASR 결과들의 제2 시퀀스에 대한 부분 쿼리 해석을 수행하여 상기 서브-액션들의 시퀀스에서 제2 서브-액션을 식별하는 동작;
    상기 제2 서브-액션과 연관된 롤백 실현가능성 점수를 결정하는 동작 - 상기 롤백 실현가능성은 상기 제2 서브-액션을 실행하는 것이 롤백되어야 하는 경우에 사용자 경험이 저하될 우도를 표시함 -; 및
    상기 롤백 실현가능성 점수가 롤백 실현가능성 임계값을 충족할 때, 상기 데이터 프로세싱 하드웨어에 의해, 상기 제2 서브-액션을 수행하는 동작
    을 더 포함하는, 시스템.
  26. 제25항에 있어서, 상기 동작들은, 상기 롤백 실현가능성 점수가 상기 롤백 실현가능성 임계값을 충족하지 않을 때, 상기 음성 컨디션의 종료가 수신될 때까지 상기 제2 서브-액션의 수행을 지연시키는 동작을 더 포함하는, 시스템.
  27. 제25항에 있어서, 상기 동작들은:
    상기 중간 ASR 결과들의 제2 시퀀스에 대한 부분 쿼리 해석을 수행함으로써 식별된 제2 서브-액션의 신뢰도 점수를 결정하는 동작; 및
    상기 제2 서브-액션의 신뢰도 점수가 신뢰도 임계값을 충족하지 못할 때, 상기 사용자에게 상기 제2 서브-액션이 올바르게 식별되었는지 여부를 컨펌하도록 프롬프트하는 동작
    을 더 포함하는, 시스템.
  28. 제15항에 있어서, 상기 음성 컨디션의 종료를 결정하는 것은, 상기 음성 인식기를 사용하여, 상기 수신된 오디오에서 적어도 최소 비-음성 지속기간을 검출하는 것을 포함하는, 시스템.
KR1020237022873A 2020-12-08 2021-11-16 부분 가설들에 기초한 스트리밍 액션 이행 KR102651438B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/247,334 US11587568B2 (en) 2020-12-08 2020-12-08 Streaming action fulfillment based on partial hypotheses
US17/247,334 2020-12-08
PCT/US2021/059591 WO2022125276A1 (en) 2020-12-08 2021-11-16 Streaming action fulfillment based on partial hypotheses

Publications (2)

Publication Number Publication Date
KR20230108346A KR20230108346A (ko) 2023-07-18
KR102651438B1 true KR102651438B1 (ko) 2024-03-25

Family

ID=78844612

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237022873A KR102651438B1 (ko) 2020-12-08 2021-11-16 부분 가설들에 기초한 스트리밍 액션 이행

Country Status (6)

Country Link
US (2) US11587568B2 (ko)
EP (1) EP4244849A1 (ko)
JP (1) JP2023552798A (ko)
KR (1) KR102651438B1 (ko)
CN (1) CN116888663A (ko)
WO (1) WO2022125276A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
US11756574B2 (en) * 2021-03-11 2023-09-12 Apple Inc. Multiple state digital assistant for continuous dialog

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008506156A (ja) * 2004-07-06 2008-02-28 ボクシィファイ, インコーポレイテッド マルチスロット対話システムおよび方法
US20170193998A1 (en) * 2013-12-04 2017-07-06 Google Inc. Initiating actions based on partial hotwords

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5566272A (en) * 1993-10-27 1996-10-15 Lucent Technologies Inc. Automatic speech recognition (ASR) processing using confidence measures
US10049669B2 (en) * 2011-01-07 2018-08-14 Nuance Communications, Inc. Configurable speech recognition system using multiple recognizers
KR102049034B1 (ko) * 2012-02-29 2020-01-08 구글 엘엘씨 상호대화형 질의 완료 템플릿들
US10775996B2 (en) * 2014-11-26 2020-09-15 Snap Inc. Hybridization of voice notes and calling
US9959129B2 (en) * 2015-01-09 2018-05-01 Microsoft Technology Licensing, Llc Headless task completion within digital personal assistants
US11314898B2 (en) * 2017-02-28 2022-04-26 Samsung Electronics Co., Ltd. Operating method of electronic device for function execution based on voice command in locked state and electronic device supporting the same
KR102426704B1 (ko) * 2017-08-28 2022-07-29 삼성전자주식회사 음성 인식 서비스 운용 방법 및 이를 지원하는 전자 장치
US11003419B2 (en) * 2019-03-19 2021-05-11 Spotify Ab Refinement of voice query interpretation
US11210341B1 (en) * 2019-12-09 2021-12-28 A9.Com, Inc. Weighted behavioral signal association graphing for search engines

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008506156A (ja) * 2004-07-06 2008-02-28 ボクシィファイ, インコーポレイテッド マルチスロット対話システムおよび方法
US20170193998A1 (en) * 2013-12-04 2017-07-06 Google Inc. Initiating actions based on partial hotwords

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Dan Bohus외1-"The RavenClaw dialog management framework:Architecture and systems", Computer Speech and Language 23, pp332-361
Zhuoran Wang외5-"Policy Learning for Domain Selection in an Extensible Multi-domain Spoken Dialogue System", In Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing

Also Published As

Publication number Publication date
US11587568B2 (en) 2023-02-21
CN116888663A (zh) 2023-10-13
EP4244849A1 (en) 2023-09-20
JP2023552798A (ja) 2023-12-19
US20230169976A1 (en) 2023-06-01
US20220180868A1 (en) 2022-06-09
KR20230108346A (ko) 2023-07-18
WO2022125276A1 (en) 2022-06-16

Similar Documents

Publication Publication Date Title
KR102651438B1 (ko) 부분 가설들에 기초한 스트리밍 액션 이행
EP3485489B1 (en) Contextual hotwords
KR102192062B1 (ko) 자연어 가상 비서에서의 양방향 발화 처리 기법
US10971157B2 (en) Methods and apparatus for hybrid speech recognition processing
US9959863B2 (en) Keyword detection using speaker-independent keyword models for user-designated keywords
US9502032B2 (en) Dynamically biasing language models
US10811005B2 (en) Adapting voice input processing based on voice input characteristics
US20130085753A1 (en) Hybrid Client/Server Speech Recognition In A Mobile Device
CN110085222B (zh) 用于支持语音对话服务的交互装置和方法
KR20210006023A (ko) 강화된 스피치 엔드포인팅
TW201635134A (zh) 一種語音控制方法及裝置
JP2015018265A (ja) コンテキスト情報を使用した音声認識修正
US11457061B2 (en) Creating a cinematic storytelling experience using network-addressable devices
US20170286049A1 (en) Apparatus and method for recognizing voice commands
US9466296B2 (en) Initiation of action upon recognition of a partial voice command
US20220093103A1 (en) Method, system, and computer-readable recording medium for managing text transcript and memo for audio file
EP3149926B1 (en) System and method for handling a spoken user request
KR102503586B1 (ko) 음성을 텍스트로 변환한 음성 기록에서 유사 발음의 단어를 포함하여 검색하는 방법, 시스템, 및 컴퓨터 판독가능한 기록 매체
US20240064363A1 (en) Voice-based scene selection for video content on a computing device
KR101011630B1 (ko) 전화정보 서비스에서의 사용자 입력신호 누락 방지 방법
KR20180048510A (ko) 디스플레이 장치, 및 이의 제어 방법, 그리고 음성 인식 시스템의 디스플레이 장치 제어 방법
KR20170055466A (ko) 디스플레이 장치, 및 이의 제어 방법, 그리고 음성 인식 시스템의 디스플레이 장치 제어 방법

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant