KR20240089626A - 음성 발언 완료를 위한 연속 컨텐츠의 선택적 생성 및/또는 선택적 렌더링 - Google Patents

음성 발언 완료를 위한 연속 컨텐츠의 선택적 생성 및/또는 선택적 렌더링 Download PDF

Info

Publication number
KR20240089626A
KR20240089626A KR1020247015710A KR20247015710A KR20240089626A KR 20240089626 A KR20240089626 A KR 20240089626A KR 1020247015710 A KR1020247015710 A KR 1020247015710A KR 20247015710 A KR20247015710 A KR 20247015710A KR 20240089626 A KR20240089626 A KR 20240089626A
Authority
KR
South Korea
Prior art keywords
user
computing device
output
processors
clause
Prior art date
Application number
KR1020247015710A
Other languages
English (en)
Inventor
데이비드 페트루
매튜 샤리피
Original Assignee
구글 엘엘씨
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20240089626A publication Critical patent/KR20240089626A/ko

Links

Images

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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24575Query processing with adaptation to user needs using context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3322Query formulation using system suggestions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90324Query formulation using system suggestions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • 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 TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • 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

Abstract

본 명세서에 설명된 구현들은 사용자의 부분 음성 발언을 완료할 때 인간 사용자에 의해 사용될 수 있는 연속 컨텐츠(예를 들어, 자연어 컨텐츠)의 생성 및 렌더링하는 것에 관한 것이다. 연속 컨텐츠는 웨어러블 디바이스(예를 들어, 이어버드 또는 안경)를 통해 렌더링될 수 있다. 다양한 구현에서, 연속 컨텐츠의 생성 및/또는 렌더링은 부분 음성 발언에 응답하고 해당 생성 및/또는 렌더링을 명시적으로 호출하는 임의의 사용자 입력(들)과 무관하게 자동으로(적어도 특정 조건(들)이 만족될 때) 수행될 수 있다. 더욱이, 많은 구현예에서, 적어도 연속 컨텐츠의 렌더링은 선택적으로 수행된다. 예를 들어, 연속 컨텐츠의 자동 렌더링은 부분 음성 발언을 뛰따르는 디스플루언시(말더듬)의 검출과 같은 특정 조건(들)이 만족될 때 선택적으로 수행될 수 있다.

Description

음성 발언 완료를 위한 연속 컨텐츠의 선택적 생성 및/또는 선택적 렌더링
검색 엔진, 자동화 어시스턴트 및 기타 애플리케이션은 다양한 전자 소스로부터 인간으로의 정보 흐름을 용이하게 한다. 그러나, 사용자가 특정 시간에 특정 정보를 검색하는 경우, 해당 애플리케이션 중 하나에서 특정 정보를 획득하는데 상당한 대기 시간이 있을 수 있고 및/또는 특정 정보를 획득하는데 상당한 클라이언트 디바이스 리소스를 이용할 수 있다.
일 예로서, 사용자가 친구의 스마트 온도 조절 장치 설치를 돕고 있으며 "HVAC 팬 와이어는(the HVAC fan wire is)"이라고 말한 다음 팬을 제어하는 와이어의 일반적인 색상을 확신하지 못한다는 사실을 깨닫고 그들이 발언을 일시 중지한다고 가정해 보자. 이러한 예에서, 사용자는 예를 들어 검색 엔진이나 자동화 어시스턴트를 활용하여 팬을 제어하는 와이어의 일반적인 색상을 해결할 수 있다. 그러나, 사용자가 색상을 확신하지 못한다는 사실을 깨닫는 시점과 실제로 색상을 해결하는 시점 사이에는 상당한 대기 시간이 있을 수 있다. 또한, 색상을 해결하는데 상당한 클라이언트 디바이스 리소스를 이용할 수 있다.
예를 들어, 검색 엔진을 통해 일반적인 팬 와이어 색상을 해결하려면 클라이언트 디바이스(예를 들어, 스마트폰)에 액세스하여 브라우저를 시작하고, 이어서 브라우저를 통해 검색 엔진 페이지를 탐색하고, 검색 엔진 페이지를 통해 제출할 적절한 쿼리를 작성하는 방법을 결정하고, 이어서 쿼리를 입력(예를 들어, 말하기 또는 타이핑)하고, 쿼리를 제출하고, 결과를 검토하고 및/또는 색상을 해결하기 위해 기본 리소스를 클릭해야 할 수 있다. (해결 대기 시간을 발생시키는) 상당한 시간 소요 외에, 스마트폰의 상당한 리소스가 이용된다. 예를 들어, 클라이언트 디바이스 리소스는 검색 엔진 페이지 탐색, 적절한 쿼리 작성 방법 결정, 결과 및/또는 기본 리소스 검토 등 브라우저를 시작하고 스마트폰 디스플레이를 전체 활성 상태로 유지하는데 활용된다. 예를 들어, 클라이언트 디바이스 디스플레이는 해당 프로세스 전반에 걸쳐 활성 상태로 유지될 수 있으며, 또한 브라우저 시작, 해당 프로세스 전반에 걸쳐 그래픽 컨텐츠 렌더링 등에 클라이언트 디바이스 프로세서 리소스가 필요할 수 있다.
또한, 예를 들어 자동화 어시스턴트를 통해 일반적인 팬 와이어 색상을 해결하려면 자동화 어시스턴트를 명시적으로 호출(예를 들어, 깨우기 문구 말하기)하고, 자동화 어시스턴트를 통해 제출할 적절한 쿼리를 작성하는 방법 결정하고, 쿼리 말하고, 그리고 어시스턴트로부터의 결과(들)를 검토해야 할 수 있다. 특히 자동화 어시스턴트의 구문적 요구 사항으로 인해, 올바른(또는 임의의) 결과(들)를 얻으려면 작성된 쿼리는 "HVAC 팬 와이어는"이라는 사용자의 발언보다 길어야 할 수 있다(예를 들어, "HVAC 팬 와이어는"은 어시스턴트에 의해 오류로 이어질 수 있음). 예를 들어, "무엇(What)"으로 시작하거나 "색상"이라는 용어를 포함해야 할 수도 있다(예를 들어, "HVAC 팬 와이어의 색상은 무엇이지?"). 이로 인해 사용자가 적절한 구문을 사용하여 쿼리를 작성하려고 시도할 때 더 긴 쿼리를 처리하거나 여러 쿼리를 처리하게 될 수 있다. 또한, 렌더링된 결과(들)에는 정답(녹색) 이상의 내용이 포함될 수도 있다. 예를 들어, 렌더링된 결과(들)는 쿼리의 일부를 다시 기술할 수 있으며(예를 들어, "HVAC 팬 와이어는 일반적으로 녹색입니다") 및/또는 추가 정보(예를 들어, "HVAC 팬 와이어는 녹색이며 온도 조절 장치의 터미널 G에 연결됩니다")를 포함할 수 있다. 게다가, 렌더링된 결과(들)는 렌더링을 중지하는 옵션이 없거나 렌더링을 중지하는 대기 시간이 긴 옵션(예를 들어, 렌더링된 "취소" 소프트웨어 버튼 탭하기, 깨우기 문구 말하기 및 "중지")만 사용하여 전체적으로 렌더링될 수 있다. 이로 인해 사용자의 정보 요청을 충족하는데 필요한 컨텐츠 외에 추가 컨텐츠가 렌더링될 수 있다.
본 명세서에 설명된 구현은 부분(partial) 음성 발언(예를 들어, 사용자의 부분 음성 발언)를 완료(완성)할 때 인간 사용자에 의해 사용될 수 있는 연속 (continuing) 컨텐츠(예를 들어, 자연어 컨텐츠)를 생성 및 렌더링하는 것에 관한 것이다. 일 예로서, 사용자가 이어버드를 착용하고 다른 사람과 대화하는 동안 "HVAC 팬 와이어는"이라는 부분 음성을 말한다고 가정한다. 이어버드(들)의 마이크로폰(들)을 사용하여 검출되고 음성 발언을 캡처하는 오디오 데이터는 자연어 컨텐츠 "녹색"인 연속 컨텐츠를 결정하기 위해 본 명세서에 개시된 기술에 따라 처리될 수 있다. 또한, "녹색"이라는 단어는 이어버드(들)의 스피커를 통해 합성 음성 출력(선택적으로 빠른 속도 및/또는 적은 양으로)으로 렌더링되어 사용자에게 부분 음성 발언을 완료하는데 필요한 자연어 컨텐츠를 제공할 수 있다. 이러한 방식 및 다른 방식으로, 그렇지 않았다면 "녹색"이 부분 음성 발언을 완료할 것이라고 점을 해결하는데 상당한 계산 리소스를 활용해야 하는 필요성이 방지된다. 예를 들어, 자동화 어시스턴트를 명시적으로 호출하고, 검색 엔진 인터페이스에 액세스하고, 적절한 쿼리를 작성 및 제출하고 및/또는 적절한 쿼리에 응답하는 결과(들)를 렌더링하는데 클라이언트 디바이스 리소스를 활용할 필요가 없다. 또한, "녹색"이라는 단어의 가청 렌더링은 최소한의 대기 시간으로 생성 및/또는 렌더링될 수 있다. 더 나아가, "녹색"은 적어도 선택적으로만 렌더링될 수 있으며(예를 들어, 부분 음성 발언 후에 디스플루언시(disfluency, 말더듬)가 검출되는 경우), 그에 따라 계산적으로 낭비되는 "녹색"의 불필요한 렌더링을 완화할 수 있다.
다양한 구현에서, 연속 컨텐츠의 생성 및/또는 렌더링은 부분 음성 발언에 응답하고 생성 및/또는 렌더링을 명시적으로 호출하는 임의의 사용자 입력(들)과 관계없이 자동으로(적어도 특정 조건(들)이 충족되는 경우) 수행될 수 있다. 이러한 방식 및 다른 방식으로, 적어도 연속 컨텐츠를 생성 및/또는 렌더링하기 전에 적어도 특정 명시적 입력(들)을 기다릴 필요가 없기 때문에 연속 컨텐츠는 감소된 대기 시간으로 렌더링될 수 있다. 예를 들어, 호출하는 깨우기 문구(예를 들어, "OK Assistant")를 말하거나 호출하는 소프트웨어 또는 하드웨어 버튼과 물리적으로 상호 작용할 필요성이 없어질 수 있다.
더욱이, 많은 구현에서, 적어도 연속 컨텐츠의 렌더링이 선택적으로 수행된다. 예를 들어, 특정 조건(들)이 만족될 때 연속 컨텐츠의 자동 렌더링이 선택적으로 수행될 수 있다. 이러한 조건(들)은 부분 음성 발언 이후에 디스플루언시가 검출되는지 여부, 검출된 디스플루언시의 지속기간, 연속 컨텐츠를 렌더링하는데 이용 가능한 양식 또는 양식(들), 연속 컨텐츠의 특징(들), 및/또는 기타 요소(들)를 포함하거나 이에 기초할 수 있다. 이러한 방식 및 다른 방식에서, 특정 조건(들)이 만족되는 경우에만 자동 렌더링이 수행될 수 있다. 이렇게 하면 유리하지 않은 상황에서는 계산적으로 낭비되는 컨텐츠 렌더링을 방지하는 동시에 유리한 대체 상황에서는 (먼저 명시적인 입력을 요구하지 않고) 컨텐츠의 자동 렌더링을 활성화할 수 있다. 따라서, 구현에서는 연속 컨텐츠의 대기 시간 감소 렌더링을 통해 달성되는 효율성과 유리하지 않은 컨텐츠의 낭비적인 렌더링으로 인해 발생하는 비효율성의 균형을 맞추려고 한다.
연속 컨텐츠를 선택적으로 렌더링하는 일 예로서, 연속 컨텐츠를 자동으로 렌더링하도록 결정하는 것은 디스플루언시를 검출하거나 적어도 임계 지속기간의 디스플루언시를 검출하는 것에 달려 있다. 일부 구현에서, 디스플루언시 및/또는 디스플루언시의 지속기간을 검출하는 것은 부분 음성 발언의 오디오 데이터 및/또는 부분 발언을 뒤따르는(예를 들어, 바로 다음에 오는) 오디오 데이터를 처리하는 것에 기초할 수 있습니다. 예를 들어, 오디오 데이터는 인간 음성이 없거나 디스플루언시를 나타내는 인간 음성의 다른 중단(예를 들어 "음...(ummmmm)" 또는 "에...(eeehh)")을 검출하기 위해 처리될 수 있다. 일부 구현에서, 디스플루언시 및/또는 디스플루언시의 지속기간을 검출하는 것은 추가적으로 또는 대안적으로 보조 디바이스의 모션 센서(들)로부터의 판독값(들)에 기초할 수 있다. 예를 들어, 관성 측정 장치(IMU), 가속도계 및/또는 보조 디바이스의 다른 모션 센서(들)로부터의 판독값은 사용자가 말하고 있을 때와 사용자가 말하고 있지 않을 때를 나타낼 수 있다.
다른 예로서, 연속 컨텐츠를 자동으로 렌더링하도록 결정하는 것은 엔트로피 메트릭(지표), 신뢰도 메트릭, 및/또는 임계값(들)을 만족하는 연속 컨텐츠에 대한 기타 메트릭에 달려 있다. 예를 들어, 연속 컨텐츠 텍스트에 대한 엔트로피 메트릭은 텍스트에 대한 역문서 빈도(inverse document frequency: IDF) 측정값(예를 들어, 텍스트 전체 및/또는 텍스트의 개별 용어에 대한 IDF 측정값)를 기반으로 할 수 있다. 특정 인스턴스로서, "cat"의 연속 컨텐츠 텍스트는 말뭉치(corpus, 모음)의 리소스(예를 들어, 인터넷 리소스의 서브세트)에서 자주 발생하기 때문에 낮은 IDF 측정값을 갖는 반면, "rhododendron"의 연속 컨텐츠 텍스트는 말뭉치의 문서에서 덜 자주 발생하기 때문에 더 높은 IDF 측정값을 갖는다. 일부 구현에서, 용어의 IDF 측정값은 사용자의 과거 음성 발언에 기초하여 (사용자의 사전 허가를 받아) 생성된 개인 문서 및/또는 과거 음성 인식 가설과 같은 사용자의 리소스의 발생에 적어도 부분적으로 기초한다는 점에서 사용자에게 개인적일 수 있다. 또 다른 예로서, 신뢰도 메트릭은 연속 컨텐츠가 실제로 부분 음성 발언을 완료하는데 올바른지 여부를 나타내는 하나 이상의 측정값(척도)에 기초할 수 있다. 예를 들어, 신뢰도 메트릭은 연속 컨텐츠가 자동으로 생성되어 연속 컨텐츠를 검색하는데 활용되는 쿼리와 얼마나 밀접하게 매칭하는지에 기초할 수 있다. 또한 예를 들면, 신뢰도 메트릭은 언어 모델을 사용하여 생성된 측정값에 기초할 수 있으며, 이는 완료된 발언(연속 컨텐츠가 첨부된 부분 음성 발언)이 주어진 언어에서 활용 및/또는 나타날 가능성을 나타내는 측정값에 기초할 수 있다.
추가적인 예로서, 연속 컨텐츠를 자동으로 렌더링할지 여부를 결정하는 것은 연속 컨텐츠를 렌더링하는데 사용할 수 있는 양식 또는 양식들이 무엇인지에 기초할 수 있다. 예를 들어, 보조 디바이스에 사용되지 않는(또는 일시적으로 무시될 수 있는) 디스플레이가 있는 경우, 보조 디바이스에 연속 컨텐츠를 렌더링하기 위한 스피커(들)만 있는 경우(예를 들어, 디스플레이가 없거나 디스플레이가 현재 활용될 수 없는 경우)에 비해 연속 컨텐츠가 디스플레이를 통해 자동으로 렌더링될 가능성이 더 높을 수 있다. 이러한 방식 및 다른 방식으로, 연속 컨텐츠는 일부 구현에서 디스플레이가 이용 가능할 때 독점적으로 시각적으로 렌더링될 가능성이 더 높을 수 있는데, 이는 연속 컨텐츠를 청각적 렌더링하는 것과 대조적으로 사용자에게 덜 산만하고 더 자연스러울 수 있기 때문이다.
또 다른 예로서, 연속 컨텐츠를 자동으로 렌더링할지 여부를 결정하는 것은 위에 설명된 요소(들)에 기초할 수 있지만 반드시 조건(들)을 개별적으로 충족하는 요소(들) 중 어느 하나에 따라 결정되는 것은 아니다. 예를 들어, 여러 요소에 기초하는 조합 스코어가 임계값 또는 기타 조건을 충족하는지 여부에 기초할 수 있다. 일부 구현에서, 조합 스코어는 디스플루언시 메트릭(예를 들어, 디스플루언시가 있는 경우 1, 디스플루언시가 없는 경우 0), 디스플루언시 지속기간 메트릭(예를 들어, 지속기간에 기초하여 0에서 1로 조정됨), 엔트로피 메트릭, 신뢰도를 메트릭, 디스플레이 메트릭(예를 들어, 사용 가능한 경우 1, 사용할 수 없는 경우 0), 및/또는 기타 메트릭(메트릭은 결합하기 전에 선택적으로 정규화될 수 있음)을 (선택적으로 가중치를 적용하여) 결합함으로써 생성될 수 있다.
일부 다른 구현에서, 조합 스코어는 기계 학습 모델을 사용하여 디스플루언시 메트릭, 디스플루언시 지속기간 메트릭, 엔트로피 메트릭, 신뢰도 메트릭, 및/또는 (선택적으로 정규화된) 기타 메트릭(들)을 처리함으로써 생성될 수 있다. 예를 들어, 기계 학습 모델은 0과 1 사이의 출력을 생성하는 분류기일 수 있으며(예를 들어, 1이 최고 스코어를 나타냄), 조합 스코어는 출력일 수 있으며 출력이 0.7 또는 기타 임계값을 초과하는 경우 만족될 수 있다. 기계 학습 모델은 암시적 또는 명시적 사용자 피드백 신호를 사용하여 트레이닝될 수 있으며 선택적으로 사용자에게 개인화될 수 있다. 예를 들어, 이는 해당 사용자로부터의 피드백 신호(들)에 기초한 독점적 또는 집중적인) 트레이닝을 통해 사용자에게 개인화될 수 있다. 추가적으로 또는 대안적으로, 이것은 사용자에 대한 (모델의 출력이 비교되는) 임계값을 조정(예를 들어, 해당 사용자의 피드백 신호가 렌더링의 과도한 트리거를 나타내는 경우 이를 조정)함으로써 개인화될 수 있다. 기계 학습 모델의 개인화를 통해, 잘못된 렌더링 억제 발생 및/또는 잘못된 렌더링 발생을 더욱 완화할 수 있다.
암시적 피드백 신호에 기초하여 트레이닝 예제를 생성하는 일 예로서, 포지티브(긍정적인) 트레이닝 예제는 연속 컨텐츠 텍스트가 렌더링되는 것, 사용자가 연속 컨텐츠 텍스트를 말하는 것(또는 그에 거의 매칭하는 것), 및 사용자가 렌더링이 완료(또는 적어도 90% 또는 다른 임계값 완료)된 후 연속 컨텐츠 텍스트를 말하는 것에 기초하여 생성될 수 있다. 예를 들어, 포지티브 트레이닝 예제에는 해당 상황에 대한 기계 학습 모델에 대한 입력 특징과 "1"이라는 레이블이 지정된 출력이 포함될 수 있다. 다른 예로서, 네거티브(부정적인) 트레이닝 예제에는 연속 컨텐츠 텍스트가 렌더링되는 것 및 사용자(들)가 (a) 대체 연속 컨텐츠 텍스트(예를 들어, 거의 매칭하지 않음)를 말하는 것 및/또는 (b) 연속 컨텐츠 텍스트를 말하는 것에 기초하여 생성될 수 있지만, 렌더링 초기에 그렇게 한다(예를 들어, 렌더링이 40% 미만이거나 다른 임계값 완료되어 렌더링이 필요하지 않음을 나타내는 경우). 이들 예제 모두에서, 실제로 말해진 연속 컨텐츠 텍스트는 연속 컨텐츠 텍스트의 자동 음성 인식에 기초하여 결정될 수 있다.
다양한 구현에서, 연속 컨텐츠를 렌더링하는 동안, 사용자의 음성 활동에 대한 모니터링이 (예를 들어, 오디오 데이터 처리에 기초하여 및/또는 보조 디바이스의 모션 센서(들)로부터의 센서 판독값(들)에 기초하여) 수행될 수 있다. 이러한 구현 중 일부에서, 사용자의 음성 활동을 검출하는 것에 응답하여 연속 컨텐츠의 렌더링의 정지(halting)가 일어날 수 있다. 예를 들어, 연속 컨텐츠가 "실용 신안 특허"이고 렌더링이 연속 컨텐츠의 청각적 렌더링(예를 들어, 음성 합성 사용)이라고 가정한다. "실용 신안"만 렌더링된 후(및 "특허"가 렌더링되기 전) 사용자의 음성 활동이 검출되면, 렌더링을 정지하고 그에 따라 "특허"가 렌더링되지 않도록 할 수 있다. 이는 "특허"라는 용어가 렌더링될 필요가 없으므로 계산 리소스를 절약할 수 있다. 또한, 이는 사용자가 부분 렌더링에 의해 이미 "실용 신안 특허" 전체를 말하기 시작했을 가능성이 높기 때문에 더 자연스럽고 사용자의 공감을 불러일으킬 수 있다. 선택적으로, 중단을 초래한 사용자의 음성 발언은 자동 음성 인식을 사용하여 처리되어 렌더링이 계속 정지되어야 하는지 검증(확인)할 수 있다. 예를 들어, 이전 예를 계속하면, 음성 인식이 음성 발언이 "기다려(hold on)" 또는 "잠시만 기다려 줘(give me a minute)" 등이라고 표시하는 경우, 정지가 중단되고 연속 컨텐츠의 나머지 부분이 렌더링될 수 있다.
일부 구현에서, 특정 연속 컨텐츠는 의도적으로 다수의 개별 청크(예를 들어, 세그먼트)로 렌더링될 수 있다. 예를 들어, 주소는 거리 주소인 제1 청크, 도시와 주라는 제2 청크, 우편번호인 제3 청크로 제공될 수 있다. 이러한 구현에서, 제2 청크를 자동으로 렌더링하지 않고 초기에 제1 청크가 렌더링될 수 있다. 또한, 제2 청크의 렌더링은 제1 청크의 렌더링 도중 또는 렌더링 후에 음성 활동을 먼저 검출하고 해당 음성 활동의 중단을 검출하는 것에 의존할 수 있다. 이를 통해 사용자는 제2 청크가 렌더링되기 전에, 사용자에게 더 자연스러울 수 있는 제1 청크에 대한 말하기를 완료할 수 있다. 선택적으로, 제2 청크의 렌더링은 제1 청크의 컨텐츠가 검출된 음성 활동을 유발한 음성 발언에 존재하는지 검증하는 자동 음성 인식에 더 의존할 수 있다. 또한, 제3 청크의 렌더링은 제2 청크의 렌더링 도중 또는 렌더링 후에 음성 활동을 검출하고 해당 음성 활동의 중단을 검출하는 것에 의존할 수 있다. 선택적으로, 제3 청크의 렌더링은 제3 청크의 컨텐츠가 상기 검출된 음성 활동을 유발한 음성 발언에 존재하는지 검증하는 자동 음성 인식에 더 의존할 수 있다.
다양한 기술이 연속 컨텐츠를 생성하는데 활용될 수 있다. 일부 구현에서, 연속 컨텐츠를 생성하는 단계는 선택적으로 수행될 수 있다. 예를 들어, 이는 임의의 음성 발언을 검출하는 단계 또는 음성 발언을 검출하고 그것이 보조 디바이스의 사용자로부터 나온 것임을 검증(확인)하는 단계에 응답하여 수행될 수 있다. 음성 발언이 보조 디바이스의 사용자로부터 나온 것임을 검증하는 단계는 텍스트 독립형 화자 검증에 기초할 수 있다. 음성 발언이 사용자로부터 나온 것임을 검증하는 단계는 추가적으로 또는 대안적으로 자동 음성 인식이 화자 의존형인 것 및 화자 의존형 화자가 사용자일 때 자동 음성 인식이음성 발언에 대해 적어도 하나의 예측 가설을 생성한 것에 기초할 수 있다. 다른 말로 하면, 사용자에 특화된 화자 의존형 자동 음성 인식이 수행될 때 음성 발언이 사용자로부터 나온 것으로 검증될 수 있고, 자동 음성 인식은 적어도 하나의 음성 인식 가설을 생성한다. 화자 의존형 자동 음성 인식은 오디오 데이터가 사용자로부터 나온 경우에만 예측 가설 또는 예측 가설들을 생성할 수 있다. 예를 들어, 화자 의존형 자동 음성 인식을 사용하면 사용자의 음성 임베딩이 오디오 데이터와 함께 처리되어 음성 임베딩을 준수하는 오디오 데이터의 일부에 대해서만 예측 가설을 생성한다. 또 다른 예로서, 연속 컨텐츠 생성하는 것은 보조 디바이스가 사용자에 의해 적극적으로 착용되고 있음을 검출하는 것 및/또는 보조 디바이스가 특정 환경적 컨텍스트(예를 들어, 특정 위치, 특정 유형의 위치(예컨대, 개인 위치), 특정 시간, 특정 요일)라는 것을 검출하는 것에 응답하여 추가로 수행될 수 있다.
연속 컨텐츠를 생성하는 단계의 일 예로서, 부분 음성 발언의 음성 인식 가설은 기계 학습 모델을 사용하여 처리되어 부분 음성 발언을 뒤따를 것으로 예측되는 추가 컨텐츠의 하나 이상의 특징을 나타내는 후속 컨텐츠 출력을 생성할 수 있다. 예를 들어, 기계 학습 모델은 부분 진술(statement)의 특징(예를 들어, 텍스트)을 처리하는 것에 기초하여 부분 진술에 대한 가능한 다음 단어(들)를 예측하도록 트레이닝된 언어 모델일 수 있다. 기계 학습 모델은 예를 들어 트랜스포머 모델 또는 메모리 네트워크(예를 들어, 장단기 메모리(LSTM) 모델)일 수 있다. 일부 구현에서, 기계 학습 모델은 언어 모델(LM)일 수 있다.
일부 구현에서, 후속 컨텐츠 출력은 다음 단어(들)를 나타내며 이러한 예측된 다음 단어(들)는 연속 컨텐츠로서 사용될 수 있다. 일부 다른 구현에서, 예측된 다음 단어(들)는 연속 컨텐츠를 식별하는데 사용될 수 있지만 연속 컨텐츠는 예측된 다음 단어와 다를 것이다. 예를 들어, 예측된 다음 단어(들)의 엔티티(개체) 유형이 (예를 들어 엔티티 검출기를 사용하여) 결정될 수 있으며 해당 엔티티 유형과 음성 인식 가설의 용어(들)가 검색을 수행하는데 사용될 수 있다. 또한, 연속 컨텐츠는 검색에 응답하는 리소스로부터 결정될 수 있다. 예측된 엔티티 유형과 하나 이상의 예측된 용어를 사용하여 검색을 수행하는 단계는 (예를 들어 공공 또는 개인 지식 그래프로부터의) 데이터베이스 항목 리소스가 예측된 엔티티 및 하나 이상의 가설 용어 모두로 색인화되어 있는지 결정하는 단계 및 데이터베이스 항목으로부터 연속 컨텐츠를 결정하는 단계를 포함한다. 예측된 엔티티 유형과 하나 이상의 예측된 용어를 사용하여 검색을 수행하는 단계는 대안적으로는 하나 이상의 가설 용어를 사용하여 리소스를 식별하는 단계 및 리소스의 텍스트 수퍼세트(superset)로부터 상기 예측된 엔티티 유형인 추가 텍스트에 기초하여 추가 텍스트를 추출하는 단계를 포함할 수 있다.
특정 예로서, "켄터키주의 수도는"이라는 부분 음성 발언을 가정한다. "루이빌"이라는 예측된 연속 컨텐츠를 생성하기 위해 언어 모델을 사용하여 ""켄터키주의 수도는"이라는 음성 인식 가설이 처리될 수 있다. 특히, "루이빌"은 부정확하지만(루이빌은 켄터키주의 수도가 아님) 기계 학습 모델에서 이러한 부정확성이 발생할 수 있다. 그럼에도 불구하고, 가설의 용어(들)와 "루이빌"의 예측된 연속 컨텐츠에 기초하여 결정된 엔티티 유형(예를 들어, "도시(city)")을 사용하여 검색이 수행될 수 있다. 예를 들어, 지식 그래프의 검색은 "도시" 유형이고 또한 "수도" 및 "켄터키"에 의해 색인화된(예를 들어 해당 노드에 대한 에지를 가진) 노드를 식별하기 위해 수행될 수 있다. 식별된 노드에는 렌더링될 연속 컨텐츠로서 사용될 수 있는 "프랭크퍼트(Frankfort)"라는 별칭이 포함된다. 다른 예로서, "켄터키주의 수도는"에 응답하는 리소스(예를 들어, 웹페이지)를 식별하기 위해 검색이 수행될 수 있다. 또한, "Frankfort"라는 텍스트 조각이 리소스로부터 추출되어 "도시" 엔터티 유형에 응답하는 연속 컨텐츠로서 활용될 수 있다. 이러한 방식 및 다른 방식으로, 언어 모델을 활용하면 정확한 연속 컨텐츠를 보다 효율적으로 해결할 수 있으므로 부정확한 컨텐츠의 계산적으로 낭비되는 렌더링 발생을 완화할 수 있다.
연속 컨텐츠를 생성하는데 추가적인 및/또는 대안적인 기술이 활용될 수 있다. 예를 들어, 임베딩 기반 조회가 수행될 수 있다. 예를 들어, 임베딩은 인식 가설에 기초하여 생성될 수 있으며 해당 임베딩은 각각 다른 사실에 대해 사전 계산된 임베딩과 비교된다. 또한, 사실 중 하나가 임베딩과 인식 임베딩 사이의 거리를 나타내는 비교에 응답하는 연속 컨텐츠가 임계값(들)을 만족하는 것으로서 선택될 수 있다. 예를 들어, 이는 인식 임베딩과 사전 계산된 모든 임베딩 중 최소인 거리에 기초하여 선택ㄹ될 수 있으며 절대 임계값을 만족하는 거리에 기초하여 선택될 수 있다.
일부 구현에서, 본 명세서에 설명된 하나 이상의 양태는 보조 디바이스, 또는 보조 디바이스와 통신하는 다른 클라이언트 디바이스(예를 들어, 블루투스를 통해 보조 디바이스와 페어링된 스마트폰)에서 로컬로 수행될 수 있다. 예를 들어, 연속 컨텐츠 생성은 로컬에서 수행될 수 있다. 연속 컨텐츠 생성이 로컬에서 수행되는 일부 구현에서는, 연속 컨텐츠 생성 시 검색이 수행되는 리소스(들)는 활용되기 전에 보조 디바이스나 클라이언트 디바이스에서 사전에 다운로드될 수 있다. 이러한 구현의 일부 버전에서, 현재 환경 컨텍스트(예를 들어, 현재 위치와 관련된 리소스) 또는 현재 대화 컨텍스트(예를 들어, 대화의 이전 발언(들)에서 추론된 토픽(들)과 관련된 리소스)에 기초하여 사전에 다운로드될 수 있다. 이러한 리소스의 사전 다운로드 및/또는 연속 컨텐츠의 로컬 생성은 연속 컨텐츠 렌더링 시 대기 시간을 더욱 줄일 수 있다.
위의 설명은 본 개시의 일부 구현의 개요로서 제공된다. 이러한 구현 및 다른 구현에 대한 추가 설명은 아래에서 더 자세히 설명된다.
다른 구현은 위에서 설명한 방법 및/또는 본 문서의 다른 곳에서 설명한 방법 중 하나 이상과 같은 방법을 수행하기 위해 하나 이상의 프로세서(예를 들어, 중앙 처리 장치(CPU)(들), 그래픽 처리 장치(GPU)(들)), 및또는 텐서 처리 장치(TPU)(들)에 의해 실행 가능한 명령들을 저장한 비-일시적 컴퓨터 판독 가능 저장 매체를 포함할 수 있다. 또 다른 구현은 위에서 및/또는 본 문서의 다른 곳에서 설명한 방법 중 하나 이상과 같은 방법을 수행하기 위해 저장된 명령들을 실행하도록 작동 가능한 하나 이상의 프로세서를 포함하는 하나 이상의 컴퓨터로 구성된 시스템을 포함할 수 있다.
전술한 개념과 본 명세서에 더 자세히 설명된 추가 개념의 모든 조합은 본 명세서에 개시된 주제의 일부인 것으로 고려된다는 것이 이해되어야 한다. 예를 들어, 본 개시의 마지막 부분에 나타나는 청구된 주제의 모든 조합은 본 명세서에 개시된 주제의 일부인 것으로 고려된다.
도 1a 및 도 1b는 사용자가 특정 상황에서 사용자로부터의 명시적인 요청 없이 제시된 방식으로 제안 정보를 수신할 수 있게 하는 제안 모듈의 뷰를 도시한다.
도 2a 및 도 2b는 한 쌍의 이어버드를 착용하고 있고 사용자가 제안을 명시적으로 요청하지 않고도 사용자에게 제시간에 제안을 제공할 수 있는 제안 모듈의 지원을 받는 사용자의 뷰를 도시한다.
도 3은 사용자가 개인적인 도움 및/또는 다른 사람을 돕는데 도움을 원할 것으로 예측될 때 보조 컴퓨팅 디바이스가 사용자를 위해 컨텐츠를 적시에 렌더링할 수 있게 하는 시스템을 도시한다.
도 4는 사용자가 자신의 웨어러블 디바이스로부터 이러한 정보를 명시적으로 요청할 수도 있고 그렇지 않을 수도 있는 특정 컨텍스트(상황)에서 웨어러블 디바이스를 통해 보충 정보를 적시에 제공하기 위한 방법을 도시한다.
도 5는 예시적인 컴퓨터 시스템의 블록도이다.
본 명세서에 설명된 구현은 제안 모듈이 반드시 사용자에 의해 직접 호출될 필요 없이 웨어러블 디바이스 및/또는 다른 컴퓨팅 디바이스의 인터페이스를 통해 데이터를 적시에 렌더링하기 위한 제안 모듈을 제공하는 것에 관한 것이다. 제안 모듈은 이어버드, 안경, 시계, 휴대폰 및/또는 기타 컴퓨터 디바이스를 포함하는 하나 이상의 다른 디바이스에서 작동할 수 있지만 이에 한정되지 않는다. 일부 구현에서, 제안 모듈은 주 컴퓨팅 디바이스(예를 들어, 휴대폰)에서 작동하고 보조 컴퓨팅 디바이스(예를 들어, 이어버드 및/또는 안경)와 인터페이스할 수 있다. 제안 모듈은 특정 컨텍스트(상황)에서 그리고 선택적으로 사용자에 의해 초기에 호출되지 않고도 제안 컨텐츠를 사용자에게 제공하도록 작동할 수 있다. 이러한 방식으로, 사용자는 자신의 디바이스와의 상호 작용을 덜 포함하고 및/또는사용자가 유용한 컨텐츠를 식별하려고 시도할 때 발생할 수 있는 중단을 완화하는 프로세스를 통해 자신의 웨어러블 디바이스를 경유하여 특정한 유용한 정보를 받을 수 있다.
예를 들어, 항공편을 체크인하는 사용자는 승무원에 의해 자신의 항공편에 대한 세부 정보를 질문받을 수 있다. 예를 들어, 승무원은 사용자에게 "항공편 번호가 무엇입니까?"라고 물을 수 있다. 사용자가 승무원의 질문에 확인 응답(acknowledge)할 때, 사용자는 컴퓨터화되거나 컴퓨팅 디바이스와 통신하는 이어버드 및/또는 안경을 착용하고 있을 수 있다. 제안 모듈은 웨어러블 디바이스 및/또는 웨어러블 디바이스를 지원하는 다른 컴퓨터화된 디바이스에서 작동할 수 있으며, 이에 따라 (사용자의 사전 허가를 받아) 승무원의 질문 내용이 제안 모듈에 의해 처리될 수 있다. 예를 들어, 승무원의 음성 발언에 해당하는 오디오 데이터가 처리되어 승무원이 사용자에게 특정 데이터 인스턴스(예를 들어, 비행편 번호에 해당하는 문자열)를 제공하도록 요청하고 있는지 결정할 수 있다. 제안 모듈이 이 데이터 인스턴스가 요청되고 있는 것으로 결정하는 경우, 제안 모듈은 승무원의 질문을 만족시킬 수 있는 데이터를 식별할 수 있다.
일부 구현에서, 사용자의 사전 허가를 받아, 제안 모듈은 하나 이상의 상이한 데이터 소스에 액세스하여 승무원의 질문에 대한 적절한 및/또는 정확한 답변을 결정할 수 있다. 예를 들어, 제안 모듈은 현재 컨텍스트에서 유용할 수 있는 데이터 말뭉치를 식별하기 위해 (사용자의 사전 허가를 받아) 위치 데이터, 애플리케이션 데이터 및/또는 기타 데이터에 액세스할 수 있다. 예를 들어, 위치 데이터는 사용자가 공항에 있음을 나타낼 수 있고, 사용자의 셀룰러 디바이스의 메모리에 저장된 여행 데이터는 공항과 연관될 수 있다. 여행 데이터는 사용자가 공항에 도착할 때 제안 모듈에 의해 처리될 수 있으며, 이에 따라 제안 모듈은 사용자가 공항에 있는 동안 사용자에게 유용할 수 있는 특정 출력을 버퍼링할 수 있다. 일부 구현에서, 제안 모듈이 최종적으로 오디오 데이터를 렌더링하지 않더라도 제안 모듈은 공항에서 사용자가 접할 수 있는 문의에 응답할 수 있는 오디오 데이터를 버퍼링할 수 있다. 대안적으로 또는 추가적으로, 제안 모듈 및/또는 다른 애플리케이션은 사용자의 이익을 위해 오디오 데이터가 렌더링되어야 하거나렌더링되어서는 안 되는 상황에 사용자가 처해 있는지 여부를 나타내는 데이터를 처리할 수 있다.
예를 들어, 승무원이 제공한 음성 발언은 제안 모듈에 대한 액세스를 제공하는 컴퓨팅 디바이스에 의해 처리될 수 있다. 제안 모듈이 제안 모듈에 사용 가능한 데이터(예를 들어, 여행 데이터 및/또는 버퍼링된 오디오 데이터)가 승무원의 음성 발언에 응답하기에 적합하다고 결정하는 경우, 제안 모듈 및/또는 다른 애플리케이션은 제안 모듈이 오디오 데이터를 렌더링해야 하는지 또는 렌더링하지 말아야 하는지에 대한 임의의 표시가 있는지 여부를 결정할 수 있다. 예를 들어, 제안 모듈이 버퍼링된 오디오 데이터를 렌더링해야 하는지 또는 렌더링하지 말아야 하는지 여부를 결정하기 위해 휴리스틱(경험적) 프로세스 및/또는 기계 학습 모델이 활용될 수 있다. 이러한 결정은 사용자가 마지막으로 말한 이후의 시간, 사용자가 만든 소음 또는 디스플루언시(예를 들어, "흠…"), 사용자에 의해 수행된 제스처(예를 들어, 사용자가 위를 바라보거나 고개를 끄덕이는 등), 관성 측정, 승무원이 마지막으로 말한 이후의 시간, 사용자가 말하는 속도, 승무원이 말하는 속도, 제안 모듈로부터 제안을 직접 요청하는 명시적 입력, 제안 모듈로부터의 제안을 억제하기 위한 다른 명시적 입력, 및/또는 승무원이 음성 발언을 사용자에게 전달하는 컨텍스트의 다른 검출 가능한 특징과 같은 같은 다양한 데이터에 기초할 수 있지만 이에 한정되지 않는다.
일부 경우, 사용자는 "확인해 보겠습니다..."와 같은 다른 음성 발언을 제공한 후 잠시 멈춤(brief pause)(예를 들어, 적어도 0.5초)을 제공함으로써 승무원에게 응답할 수 있다. 이 잠시 멈춤은 데이터(예를 들어, 마이크로폰으로부터의 입력 데이터)로 특징지어질 수 있으며 사용자에게 제안을 렌더링할지 여부를 결정하기 위해 하나 이상의 휴리스틱 프로세스 및/또는 트레이닝된 기계 학습 모델에 따라 처리될 수 있다. 예를 들어, 사용자가 나타내는 잠시 멈춤이 임계 시간 동안 지속되고 및/또는 사용자가 특정 언어적 제스처(예를 들어, 짧은 콧노래)를 내는 경우, 제안 모듈은 오디오 데이터가 사용자에게 렌더링되도록 할 수 있다. 예를 들어, 승무원이 "항공편 번호는 무엇입니까?”라는 음성 발언을 제공한 후 사용자가 "확인해 보겠습니다..."와 같은 다른 음성 발언을 제공하고 잠시 멈추면, 제안 모듈은 "K2134"와 같은 가청 출력을 렌더링할 수 있다. 가청 출력은 승무원과 상호 작용하는 동안 사용자가 착용한 한 쌍의 이어버드를 통해 렌더링될 수 있으므로 사용자는 휴대폰의 디스플레이 인터페이스를 초기화하지 않고도 제안 모듈로부터 "항공편 번호"를 수신할 수 있다. 이를 통해 사용자가 제3자의 중요한 문의에 응답하는 시간을 절약할 수 있으며, 이러한 상황에서 사용자가 일반적으로 의존하는 모든 디바이스의 계산 리소스를 절약하는데도 도움이 될 수 있다.
일부 구현에서, 제안 모듈에 의해 활용되는 하나 이상의 모델의 추가 트레이닝은 사용자가 제안에 의해 도움을 받았는지 여부 및/또는 사용자가 제안을 원하는 것으로 결정되었는지 여부에 기초하여 수행될 수 있다. 예를 들어, 사용자가 승무원에게 제안(예를 들어, "K-2-1-3-4…")을 암송할 때, 사용자가 제안 모델로부터의 제안을 활용한 것에 기초하여 하나 이상의 모델이 업데이트될 수 있다. 대안적으로 또는 추가적으로, 제안의 기초를 형성한 하나 이상의 데이터 소스에 대한 스코어 또는 기타 순위는 사용자가 제안 모델로부터의 제안을 활용한 것에 따라 수정될 수 있다. 사용자가 제안을 활용했는지 여부에 대한 결정은 ASR을 기반으로 할 수 있으며 제안과 사용자의 음성 발언 사이에 매칭 또는 상관 관계가 있는지 여부를 결정하는 것을 기반으로 할 수 있다. 일부 경우, 사용자가 제안 모듈로부터의 제안을 활용하지 않는 경우, 제안의 기초를 형성한 하나 이상의 데이터 소스에 대한 스코어 또는 기타 순위가 이에 따라 수정될 수 있다. 이러한 방식으로, 제안 모듈이 후속 제안을 제공하기 위해 계속 작동하므로 사용자에게 도움이 되지 않는 것으로 결정된 데이터 소스에 덜 의존할 수 있다.
일부 구현에서, 특정 상황에서 제안을 렌더링할지 여부를 결정하는데 사용되는 하나 이상의 모델 및/또는 프로세스는 또한 사용자가 제안 모듈로부터의 제안을 이력적으로 활용한 방식을 반영하도록 업데이트될 수도 있다. 예를 들어, 사용자는 사적 공간(예를 들어, 집이나 직장)에서 렌더링되는 다른 제안에 비해 가까운 지인이 있을 때 공공 장소에서 렌더링되는 제안에 긍정적으로 응답할 수 있다. 결과적으로, 제안 모듈은 사적 공간에서는 제안을 덜 자주 렌더링하고 공용 공간에서는 제안을 더 자주 렌더링하도록 적응할 수 있다. 일부 구현에서, 제안이 렌더링되는 방식의 속성은 사용자가 제안 모듈의 제안에 응답하는 방식 및/또는 사용자가 자신의 디바이스(들)와 직접 및/또는 간접적으로 상호작용하는 방식에 따라 시간이 지남에 따라 적응될 수 있다. 예를 들어, 사용자가 말하는 속도 및/또는 사용자의 억양은 제안 모듈의 기능을 용이하게 하는 디바이스에 의해 검출될 수 있으며, 사용자의 사전 허가를 받아 유사한 속도 및/또는 유사한 억양으로 제안을 렌더링하는데 활용될 수 있다.
예를 들어, 빠른 속도로 말하는 사용자는 비슷한 속도(예를 들어, 동일한 속도에 임계값 허용값을 더하거나 뺀 값)로 제안을 렌더링받을 수도 있다. 일부 구현에서, 렌더링된 제안의 속성은 사용자의 컨텍스트 및/또는 제안의 컨텐츠(내용)에 따라 동적으로 적응될 수 있다. 예를 들어, 제안 모듈은 제안이 전달될 수 있는 제3자와 다른 속도로 사용자가 말한다고 결정할 수 있다. 이 결정에 기초하여, 제안 모듈은 제안이 제3자(예를 들어, 승무원)에게 적합한 속도로 렌더링되도록 할 수 있으며, 이는 사용자가 제안된 컨텐츠를 제3자에게 다시 암송해야 하는 방식에 대한 제안으로 해석될 수 있다. 예를 들어, 사용자가 제3자보다 더 높은 속도로 말할 수 있더라도, 제안 모듈이 제안을 더 낮은 속도로 렌더링하게 하였기 때문에 사용자는 더 낮은 속도로 제안을 암송할 수 있다.
도 1a 및 도 1b는 특정 상황에서 사용자(102)가 사용자(102)로부터 직접적인 명시적 요청 없이 제안(된) 정보를 적시에 수신할 수 있게 하는 컴퓨팅 디바이스(104) 및/또는 컴퓨팅 디바이스(112)의 제안 모듈의 뷰(100) 및 뷰(120)를 도시한다. 일부 구현에서, 사용자가 애플리케이션에 보내는 직접적인 명시적 요청에는 사용자가 애플리케이션을 식별하는 것, 애플리케이션을 호출하기 위해 하나 이상의 미리 정의된 호출 용어를 말하는 것(예를 들어, "Hey Assistant…"), 애플리케이션을 호출하기 위한 터치 입력을 탭하는 것(예를 들어, 휴대폰의 "홈" 버튼 탭하기), 또는 기타 직접적인 명시적 요청을 수행하는 것이 포함될 수 있다. 일부 구현에서, 컴퓨팅 디바이스(104)는 주(primary) 디바이스일 수 있고, 컴퓨팅 디바이스(112)는 컴퓨팅 디바이스(104)와 통신하는 보조(auxiliary) 컴퓨팅 디바이스일 수 있다. 컴퓨팅 디바이스(112)는 사용자(102)의 사전 허가를 받아, 사용자(102)가 현재 및/또는 이전에 있었을 수 있는 컨텍스트와 관련된 컨텍스트 데이터를 처리할 수 있다. 예를 들어, 컴퓨팅 디바이스(112)는 사용자(102)의 컨텍스트를 특징짓는 데이터를 캡처하기 위한 하나 이상의 인터페이스를 포함할 수 있다. 일부 구현에서, 컴퓨팅 디바이스(112)는 디스플레이 인터페이스, 카메라, 스피커 및/또는 마이크로폰을 포함하는 한 쌍의 컴퓨터화된 안경일 수 있다. 마이크로폰 및/또는 카메라는 특정한 사전 승인된 상황에서 사용자(102)의 주변 환경에 기반한 오디오 데이터 및/또는 이미지 데이터를 캡처할 수 있다.
예를 들어, 마이크로폰은 사용자(102) 및/또는 한 명 이상의 다른 사람에게 공개적으로 쿼리(query, 질의)를 말하는 근처 사람의 오디오를 특징짓는 오디오 데이터를 캡처할 수 있다. 쿼리는 예를 들어 사용자(102)가 쿼리에 대한 답변을 제공하도록 요청하는 "오늘 기차가 운행되는지 다들 아시나요?"일 수 있다. 쿼리를 특징짓는 오디오 데이터는 쿼리에 응답하는 정보를 식별하기 위해 컴퓨팅 디바이스(112) 및/또는 컴퓨팅 디바이스(104)에서 처리(108)를 거칠 수 있다. 예를 들어, 오디오 데이터는 쿼리의 자연어 컨텐츠를 식별하고 응답 데이터의 서브세트를 선택하기 위한 하나 이상의 정보 소스를 선택하기 위해 음성 처리를 거칠 수 있다. 동작(110)에서 응답 정보가 식별되면, 컴퓨팅 디바이스(112) 및/또는 컴퓨팅 디바이스(104)의 제안 모듈은 컨텍스트의 하나 이상의 특징이 사용자(102)에게 제안 정보를 렌더링하기 위한 하나 이상의 조건을 만족하는지 여부를 결정할 수 있다.
예를 들어, 컴퓨팅 디바이스(112)는 사용자(102)가 제안 정보를 렌더링하기 위한 하나 이상의 조건을 만족할 수 있는 제스처(122)를 수행했다고 결정할 수 있다. 일부 구현에서, 검출된 제스처는 사용자(102)가 제안 정보를 수신할 의향이 있음을 암시하는 단어 또는 문구에 해당할 수도 있고 그렇지 않을 수도 있는 가청 사운드일 수 있다. 대안적으로 또는 추가적으로, 검출된 제스처(122)는 사용자(102)가 제안 정보를 수신할 의향이 있음을 암시하는 것으로 결정되는 사용자(102)의 물리적 모션(예를 들어, 비언어적 제스처)일 수 있다. 예를 들어, 사용자(102)는 사용자(102)가 다른 사람으로부터의 쿼리에 대한 응답을 고려하고 있음을 나타내는 "흠…"과 같은 소리를 낼 수 있다. 이 소리 또는 디스플루언시는 사용자(102)가 다른 사람을 위한 적절한 응답을 생각하려고 노력하고 있음을 제안 모듈에 나타낼 수 있다.
제안 모듈은 제안 정보를 제공하기 위한 하나 이상의 조건이 만족되었다고 결정(124)하고 이에 응답하여 제안 정보를 구현하는 출력(126)을 렌더링할 수 있다. 예를 들어, 컴퓨팅 디바이스(112)는 사용자(102)의 귀에 가청 출력을 렌더링할 수 있고, 가청 출력은 사용자(102)가 컴퓨팅 디바이스(112)를 착용하고 있기 때문에 사용자(102)에게만 들릴 수 있다. 가청 출력은 예를 들어 "시(city) 웹사이트에 따르면, 열차는 현재 진행 중인 공사로 인해 운행되지 않습니다."일 수 있다. 사용자(102)가 이 제안 정보를 수신하는 경우, 사용자는 "오늘은 공사로 인해 열차가 없습니다."와 같은 응답(128)을 다른 사람에게 제공할 수 있다. 일부 구현예에서, 제안 모듈은 사용자(102)가 제안 정보를 활용했는지 여부를 결정할 수 있고 이에 따라 하나 이상의 제안 프로세스를 수정할 수 있다. 예를 들어, 하나 이상의 트레이닝된 기계 학습 모델은 도 1a 및 도 1b의 컨텍스트에서 사용자가 제안 정보를 활용한 것에 기초하여 트레이닝될 수 있다. 이후, 사용자(102)가 유사한 컨텍스트에 있을 때, 제안 모듈은 사용자(102)가 유사한 컨텍스트에서 상기 제안 정보를 활용한 이전 인스턴스에 기초하여 제안 정보를 생성할 수 있다.
도 2a 및 도 2b는 한 쌍의 이어버드를 착용하고 있고 사용자가 제안을 명시적으로 요청할 필요 없이도 사용자(202)에게 제안을 적시에 제공할 수 있는 제안 모듈의 지원을 받는 사용자(202)의 뷰(200) 및 뷰(220)를 도시한다. 예를 들어, 사용자(202)는 렌터카 시설에 대응하는 지리적 위치에 있을 수 있다. 렌트카 시설에 도착하기 전에, 사용자(202)는 차량(206)에 탑승하기 위한 특정 키코드를 갖는 차량(206)을 예약하기 위해 렌트카 애플리케이션과 대응했을 수 있다. 일부 구현에서, 컴퓨팅 디바이스(214) 및/또는 보조 컴퓨팅 디바이스(204)는 사용자(202)에 의해 이루어진 예약과 관련된 정보를 저장하고 및/또는 이에 대한 액세스를 제공할 수 있다. 컴퓨팅 디바이스의 제안 모듈은 사용자(202)의 사전 허가를 받아 사용자(202)가 렌트카 시설에 있을 때 사용자(202)를 지원하기 위해 예약 및/또는 기타 컨텍스트 데이터를 처리할 수 있다.
예를 들어, 사용자(202)는 구두 제스처(208)를 수행하거나 무언가를 기억하려고 노력하고 있음을 나타내는 소리(예를 들어, 디스플루언시)를 낼 수 있다. 구두 제스처(208)는 "내 트럭의 탑승 코드는...어..."일 수 있고 보조 컴퓨팅 디바이스(204)의 마이크로폰을 통해 보조 컴퓨팅 디바이스(204)에 의해 검출될 수 있다. 대안적으로 또는 추가적으로, 오디오 데이터를 포함할 수 있는 컨텍스트 데이터는 보조 컴퓨팅 디바이스(204)와 주 컴퓨팅 디바이스(214)에 의해 캡처되어 사용자(202)의 컨텍스트의 특징을 식별할 수 있다. 컨텍스트 데이터는 사용자(202)가 렌트카 시설의 위치에 있는지 그리고 사용자(202)가 일시중지(pause) 또는 다른 반성(reflection)의 순간을 보이고 있는지를 결정하기 위해 프로세스(210)를 거칠 수 있다. 이러한 결정에 기초하여, 제안 모듈은 현재 컨텍스트에서 사용자(202)에게 도움이 될 수 있는 정보를 식별하는 동작(212)을 수행할 수 있다.
예를 들어, 제안 모듈은 사용자(202)의 사전 허가를 받아 사용자(202)의 위치와 관련된 예약 데이터에 액세스할 수 있다. 대안적으로 또는 추가적으로, 제안 모듈은 하나 이상의 다른 사용자가 사용자(202)의 위치 및/또는 유사한 위치에 있을 때 액세스했을 수 있는 하나 이상의 유형의 데이터를 식별할 수 있다. 예를 들어, 컨텍스트 데이터는 이력적 상호작용 데이터에 따라 트레이닝된 하나 이상의 트레이닝된 기계 학습 모델을 사용하여 처리될 수 있다. 이력적 상호작용 데이터는 사용자(및/또는 하나 이상의 다른 사용자)와 하나 이상의 컴퓨팅 디바이스 사이의 하나 이상의 이전 상호작용을 특징짓는다. 이러한 이전 상호작용에는 사용자(202) 및/또는 하나 이상의 다른 사용자가 렌트카 시설에 있을 때 예약 데이터 및/또는 키코드 데이터에 액세스한 이전 인스턴스를 포함할 수 있다. 따라서, 컨텍스트 데이터가 하나 이상의 트레이닝된 기계 학습 모델을 사용하여 처리될 때, 사용자(202)가 키코드 데이터를 렌더링함으로써 이익을 얻을 가능성이 높다는 결정이 내려질 수 있다.
제안 모듈이 키코드 데이터가 사용자(202)에게 제안하기에 적합하다고 결정하는 경우, 제안 모듈은 보조 컴퓨팅 디바이스(204)(예를 들어 이어버드, 스마트 위치 및/또는 기타 웨어러블 디바이스)가 키코드를 후속 컨텐츠(예를 들어 "8339" 또는 "트럭의 코드는 8339입니다")로서 청각적으로 렌더링하게 할 수 있다. 대안적으로 또는 추가적으로, 제안 모듈은 보조 컴퓨팅 디바이스(204)가 제안 출력(222)을 렌더링하게 하기 전에 하나 이상의 조건이 충족되었는지 여부를 결정할 수 있다. 예를 들어, 컴퓨팅 디바이스(214) 및/또는 보조 컴퓨팅 디바이스(204)는 사용자(202)의 컨텍스트의 하나 이상의 특징이 제안 정보를 렌더링하기 위한 하나 이상의 조건을 만족하는지 여부를 결정할 수 있다. 일부 구현예에서, 하나 이상의 조건은 사용자(202)가 다른 음성 발언을 제공하지 않고 디스플루언시(예를 들어, "어...")을 제공한 이후의 지속기간을 포함할 수 있다. 디스플루언시 이후의 지속기간이 임계 지속기간을 만족할 때, 제안 모듈은 보조 컴퓨팅 디바이스(204)가 제안 출력(222)을 렌더링하게 할 수 있다.
도 3은 사용자가 개인적인 도움 및/또는 다른 사람을 돕는데 도움을 원할 것으로 예측될 때 보조 컴퓨팅 디바이스가 사용자를 위해 컨텐츠를 적시에 렌더링할 수 있게 하는 시스템(300)을 도시한다. 자동화 어시스턴트(304)는 컴퓨팅 디바이스(302) 및/또는 서버 디바이스와 같은 하나 이상의 컴퓨팅 디바이스에 제공되는 어시스턴트 애플리케이션의 일부로서 동작할 수 있다. 사용자는 마이크로폰, 카메라, 터치 스크린 디스플레이, 사용자 인터페이스, 및/또는 사용자와 애플리케이션 사이의 인터페이스를 제공할 수 있는 임의의 다른 장치일 수 있는 어시스턴트 인터페이스(들)(320)을 통해 자동화 어시스턴트(304)와 상호작용할 수 있다. 예를 들어, 자동화 어시스턴트(304)가 하나 이상의 액션(예를 들어, 데이터 제공, 주변 디바이스 제어, 에이전트 액세스, 입력 및/또는 출력 생성 등)을 초기화하게 하기 위해 어시스턴트 인터페이스(320)에 구두, 텍스트 및/또는 그래픽 입력을 제공함으로써 자동화 어시스턴트(304)를 초기화할 수 있다. 대안적으로, 자동화 어시스턴트(304)는 하나 이상의 트레이닝된 기계 학습 모델을 사용하여 컨텍스트 데이터(336)를 처리하는 것에 기초하여 초기화될 수 있다. 컨텍스트 데이터(336)는 자동화 어시스턴트(304)가 액세스 가능한 환경의 하나 이상의 특징, 및/또는 자동화 어시스턴트(304)와 상호작용할 의도가 있는 것으로 예측되는 사용자의 하나 이상의 특징을 특징지을 수 있다. 컴퓨팅 디바이스(302)는 디스플레이 디바이스를 포함할 수 있으며, 이는 사용자가 터치 인터페이스를 통해 컴퓨팅 디바이스(302)의 애플리케이션(334)을 제어할 수 있게 하는 터치 입력 및/또는 제스처를 수신하기 위한 터치 인터페이스를 포함하는 디스플레이 패널일 수 있다. 일부 구현에서, 컴퓨팅 디바이스(302)에는 디스플레이 디바이스가 없으며 이에 따라 그래픽 사용자 인터페이스 출력을 제공하지 않고 청각적 사용자 인터페이스 출력을 제공할 수 있다. 더욱이, 컴퓨팅 디바이스(302)는 사용자로부터 음성 자연어 입력을 수신하기 위한 사용자 인터페이스(예를 들어, 마이크로폰)를 제공할 수 있다. 일부 구현에서, 컴퓨팅 디바이스(302)는 터치 인터페이스를 포함할 수 있으며 카메라가 없을 수 있지만 선택적으로 하나 이상의 다른 센서를 포함할 수 있다.
컴퓨팅 디바이스(302) 및/또는 다른 제3자 클라이언트 디바이스는 인터넷과 같은 네트워크를 통해 서버 디바이스와 통신할 수 있다. 추가적으로, 컴퓨팅 디바이스(302)와 임의의 다른 컴퓨팅 디바이스는 Wi-Fi 네트워크와 같은 근거리 통신망(LAN)을 통해 서로 통신할 수 있다. 컴퓨팅 디바이스(302)는 컴퓨팅 디바이스(302)의 계산 리소스를 보존하기 위해 계산 작업을 서버 디바이스로 오프로드할 수 있다. 예를 들어, 서버 디바이스는 자동화 어시스턴트(304)를 호스팅할 수 있고 및/또는 컴퓨팅 디바이스(302)는 하나 이상의 어시스턴트 인터페이스(320)에서 수신된 입력을 서버 디바이스로 전송할 수 있다. 그러나, 일부 구현예에서, 자동화 어시스턴트(304)는 컴퓨팅 디바이스(302)에서 호스팅될 수 있고, 자동화 어시스턴트 동작과 연관될 수 있는 다양한 프로세스가 컴퓨팅 디바이스(302)에서 수행될 수 있다.
다양한 구현에서, 자동화 어시스턴트(304)의 모든 양태 또는 그 미만의 양태가 컴퓨팅 디바이스(302)에서 구현될 수 있다. 이러한 구현 중 일부에서, 자동화 어시스턴트(304)의 양태는 컴퓨팅 디바이스(302)를 통해 구현되고, 자동화 어시스턴트(304)의 다른 양태를 구현할 수 있는 서버 디바이스와 인터페이싱할 수 있다. 서버 디바이스는 선택적으로 다중 스레드를 통해 복수의 사용자 및 관련 어시스턴트(보조) 애플리케이션을 제공할 수 있다. 자동화 어시스턴트(304)의 모든 양태 또는 그 미만의 양태가 컴퓨팅 디바이스(302)를 통해 구현되는 구현에서, 자동화 어시스턴트(304)는 컴퓨팅 디바이스(302)의 운영 체제와 별개인(예를 들어, 운영 체제의 "상단"에 설치되는) 애플리케이션일 수 있거나, 대안적으로 컴퓨팅 디바이스(302)의 운영 체제에 의해 직접 구현될 수 있다(예를 들어, 운영 체제의 애플리케이션이지만 운영 체제와 통합된 것으로 간주됨).
일부 구현에서, 자동화 어시스턴트(304)는 컴퓨팅 디바이스(302) 및/또는 서버 디바이스에 대한 입력 및/또는 출력을 처리하기 위해 다수의 서로 다른 모듈을 채용할 수 있는 입력 처리 엔진(306)을 포함할 수 있다. 예를 들어, 입력 처리 엔진(306)은 오디오 데이터에 포함된 텍스트를 식별하기 위해 어시스턴트 인터페이스(320)에서 수신된 오디오 데이터를 처리할 수 있는 음성 처리 엔진(308)을 포함할 수 있다. 컴퓨팅 디바이스(302)의 계산 리소스를 보존하기 위해 오디오 데이터는 예를 들어 컴퓨팅 디바이스(302)로부터 서버 디바이스로 전송될 수 있다. 추가적으로 또는 대안적으로, 오디오 데이터는 컴퓨팅 디바이스(302)에서만 독점적으로 처리될 수 있다.
오디오 데이터를 텍스트로 변환하는 프로세스에는 단어나 구문에 해당하는 오디오 데이터 그룹을 식별하기 위한 신경망 및/또는 통계 모델을 사용할 수 있는 음성 인식 알고리즘이 포함될 수 있다. 오디오 데이터로부터 변환된 텍스트는 데이터 분석(parsing) 엔진(310)에 의해 분석될 수 있으며, 명령 문구(들), 의도(들), 액션(들), 슬롯값(들), 및/또는 사용자에 의해 지정된 임의의 다른 컨텐츠를 생성 및/또는 식별하는데 사용될 수 있는 텍스트 데이터로서 자동화 어시스턴트(304)에 제공될 수 있다. 일부 구현에서, 데이터 분석 엔진(310)에 의해 제공되는 출력 데이터는 사용자가 자동화 어시스턴트(304) 및/또는 자동화 어시스턴트(304)를 통해 액세스될 수 있는 애플리케이션 또는 에이전트에 의해 수행될 수 있는 특정 의도, 액션 및/또는 루틴에 대응하는 입력을 제공했는지 여부를 결정하기 위해 파라미터 엔진(312)에 제공될 수 있다. 예를 들어, 어시스턴트 데이터(338)는 서버 디바이스 및/또는 컴퓨팅 디바이스(302)에 저장될 수 있고, 자동화 어시스턴트(304)에 의해 수행될 수 있는 하나 이상의 액션뿐만 아니라 그 액션들을 수행하는데 필요한 파라미터를 정의하는 데이터를 포함할 수 있다. 파라미터 엔진(312)은 의도, 액션 및/또는 슬롯값에 대한 하나 이상의 파라미터를 생성하고 출력 생성 엔진(314)에 하나 이상의 파라미터를 제공할 수 있다. 출력 생성 엔진(314)은 하나 이상의 파라미터를 사용하여, 사용자에게 출력을 제공하기 위한 보조 인터페이스(320)와 통신하고 및/또는 하나 이상의 애플리케이션(334)에 출력을 제공하기 위한 하나 이상의 애플리케이션(334)과 통신할 수 있다.
일부 구현에서, 자동화 어시스턴트(304)는 컴퓨팅 디바이스(302)의 운영 체제의 "상단" 설치될 수 있고 및/또는 그 자체로 컴퓨팅 디바이스(302)의 운영 체제의 일부(또는 전체)를 형성할 수 있는 애플리케이션일 수 있다. 자동화 어시스턴트 애플리케이션은 온-디바이스 음성 인식, 온-디바이스 자연어 이해 및 온-디바이스 이행을 포함하거나 이에 액세스할 수 있다. 예를 들어, 온-디바이스 음성 인식은 컴퓨팅 디바이스(302)에 로컬로 저장된 종단 간 음성 인식 기계 학습 모델을 사용하여 (마이크로폰(들)에 의해 검출된) 오디오 데이터를 처리하는 온-디바이스 음성 인식 모듈을 사용하여 수행될 수 있다. 온-디바이스 음성 인식은 오디오 데이터에 있는 음성 발언(있는 경우)에 대해 인식된 텍스트를 생성한다. 또한, 예를 들어, 온-디바이스 자연어 이해(NLU)는 온-디바이스 음성 인식을 사용하여 생성된 인식된 텍스트 및 선택적으로 컨텍스트 데이터를 처리하여 NLU 데이터를 생성하는 온-디바이스 NLU 모듈을 사용하여 수행될 수 있다.
NLU 데이터는 음성 발언에 대응하는 의도(들) 및 선택적으로 의도(들)에 대한 파라미터(들)(예를 들어, 슬롯값)을 포함할 수 있다. 온디바이스 이행은 (온-디바이스 NLU의) NLU 데이터와 선택적으로 다른 로컬 데이터를 활용하여 음성 발언의 의도(들)(및 선택적으로 의도에 대한 파라미터)를 해결하기 위해 취해야 할 액션(들)을 결정하는 온-디바이스 이행 모듈을 사용하여 수행될 수 있다. 여기에는 음성 발언에 대한 로컬 및/또는 원격 응답(예를 들어, 답변) 결정, 음성 발언에 기초하여 수행하기 위해 로컬로 설치된 애플리케이션(들)과의 상호 작용(들), 음성 발언에 기초하여 (직접 또는 해당 원격 시스템을 통해) 사물 인터넷(IoT) 디바이스로 전송할 명령, 및/또는 음성 발언에 기초하여 수행할 기타 해결 액션(들)을 결정하는 것이 포함될 수 있다. 그런 다음 온-디바이스 이행은 음성 발언을 해결하기 위해 상기 결정된 액션의 로컬 및/또는 원격 수행/실행을 시작할 수 있다.
다양한 구현에서, 원격 음성 처리, 원격 NLU 및/또는 원격 이행이 적어도 선택적으로 이용될 수 있다. 예를 들어, 인식된 텍스트는 원격 NLU 및/또는 원격 이행을 위해 원격 자동화 어시스턴트 컴포넌트(들)로 적어도 선택적으로 전송될 수 있다. 예를 들어, 인식된 텍스트는 선택적으로 온-디바이스 수행과 병행하여 원격 성능을 위해 전송되거나 온-디바이스 NLU 실패 및/또는 온-디바이스 이행에 응답하여 전송될 수 있다. 그러나, 온-디바이스 음성 처리, 온-디바이스 NLU, 온-디바이스 이행 및/또는 온-디바이스 실행은 적어도 음성 발언을 해결할 때 제공하는 대기 시간 감소로 인해 우선 순위를 지정할 수 있다(음성 발언을 해결하는데 클라이언트-서버 왕복이 필요하지 않기 때문에). 또한, 온-디바이스 기능은 네트워크 연결이 없거나 제한적인 상황에서 사용할 수 있는 유일한 기능일 수 있다.
일부 구현에서, 컴퓨팅 디바이스(302)는 컴퓨팅 디바이스(302) 및/또는 자동화 어시스턴트(304)를 제공한 엔티티와는 다른 제3자 엔티티에 의해 제공될 수 있는 하나 이상의 애플리케이션(334)을 포함할 수 있다. 자동화 어시스턴트(304) 및/또는 컴퓨팅 디바이스(302)의 애플리케이션 상태 엔진은 애플리케이션 데이터(330)에 액세스하여, 하나 이상의 애플리케이션(334)에 의해 수행될 수 있는 하나 이상의 액션뿐만 아니라 하나 이상의 애플리케이션(334)의 각 애플리케이션의 상태 및/또는 컴퓨팅 디바이스(302)와 관련된 각각의 디바이스의 상태를 결정할 수 있다. 자동화 어시스턴트(304) 및/또는 컴퓨팅 디바이스(302)의 디바이스 상태 엔진은 디바이스 데이터(332)에 액세스하여 컴퓨팅 디바이스(302) 및/또는 컴퓨팅 디바이스와 관련된 하나 이상의 디바이스에 의해 수행될 수 있는 하나 이상의 액션을 결정할 수 있다. 게다가, 애플리케이션 데이터(330) 및/또는 임의의 다른 데이터(예를 들어, 디바이스 데이터(332))는 자동화 어시스턴트(304)에 의해 액세스되어 컨텍스트 데이터(336)를 생성할 수 있으며, 이는 특정 애플리케이션(334) 및/또는 디바이스가 실행되고 있는 컨텍스트 및/또는 특정 사용자가 컴퓨팅 디바이스(302)에 액세스하고, 애플리케이션(334) 및/또는 임의의 다른 디바이스 또는 모듈에 액세스하고 있는 컨텍스트를 특징지을 수 있다.
하나 이상의 애플리케이션(334)이 컴퓨팅 디바이스(302)에서 실행되는 동안, 디바이스 데이터(332)는 컴퓨팅 디바이스(302)에서 실행되는 각 애플리케이션(334)의 현재 동작 상태를 특징지을 수 있다. 더욱이, 애플리케이션 데이터(330)는 하나 이상의 애플리케이션(334)의 방향으로 렌더링되는 하나 이상의 그래픽 사용자 인터페이스의 컨텐츠와 같은 실행 중인 애플리케이션(334)의 하나 이상의 특징을 특징지을 수 있다. 대안적으로 또는 추가적으로, 애플리케이션 데이터(330)는 개별 애플리케이션의 현재 동작 상태에 기초하여 각각의 애플리케이션에 의해 및/또는 자동화 어시스턴트(304)에 의해 업데이트될 수 있는 액션 스키마(action schema)를 특징지을 수 있다. 대안적으로 또는 추가적으로, 하나 이상의 애플리케이션(334)에 대한 하나 이상의 액션 스키마는 정적으로 유지될 수 있지만, 애플리케이션 상태 엔진에 의해 액세스되어 자동화 어시스턴트(304)를 통해 초기화하기에 적합한 액션을 결정할 수 있다.
컴퓨팅 디바이스(302)는 애플리케이션 데이터(330), 디바이스 데이터(332), 컨텍스트 데이터(336) 및/또는 컴퓨팅 디바이스(302)에 액세스할 수 있는 임의의 다른 데이터를 처리하기 위해 하나 이상의 트레이닝된 기계 학습 모델을 사용할 수 있는 어시스턴트 호출 엔진을 더 포함할 수 있다. 어시스턴트 호출 엔진은 사용자가 자동화 어시스턴트(304)를 호출하기 위해 호출 문구를 명시적으로 말할 때까지 기다릴지, 또는 사용자에게 호출 문구를 명시적으로 말하도록 요구하는 대신 데이터가 자동화 어시스턴트(304)를 호출하려는 사용자의 의도를 나타내는 것으로 간주할지 여부를 결정하기 위해 이 데이터를 처리할 수 있다. 예를 들어, 하나 이상의 트레이닝된 기계 학습 모델은 사용자가 다수의 디바이스 및/또는 애플리케이션이 다양한 작동 상태를 나타내는 환경에 있는 시나리오에 기초한 트레이닝 데이터의 인스턴스를 사용하여 트레이닝될 수 있다. 트레이닝 데이터의 인스턴스는 사용자가 자동화 어시스턴트를 호출하는 컨텍스트와 사용자가 자동화 어시스턴트를 호출하지 않는 다른 컨텍스트를 특징짓는 트레이닝 데이터를 캡처하기 위해 생성될 수 있다. 하나 이상의 기계 학습 모델이 이러한 트레이닝 데이터의 인스턴스에 따라 트레이닝되는 경우, 어시스턴트 호출 엔진은 자동화 어시스턴트(304)가 컨텍스트 및/또는 환경의 특징에 기초하여 사용자로부터 음성 호출 문구를 검출하거나 검출을 제한하게 할 수 있다.
일부 구현에서, 컴퓨팅 디바이스(302)는 한 쌍의 이어버드, 시계 및/또는 한 쌍의 안경 및/또는 임의의 다른 웨어러블 컴퓨팅 디바이스와 같은 웨어러블 디바이스일 수 있다. 컴퓨팅 디바이스(302)는 트랜스포머 신경망 모델, 순환 신경망 및/또는 다른 언어 모델(LM)에 대한 액세스를 용이하게 하는 언어 모델 엔진(322)을 포함할 수 있다. 예를 들어, 컴퓨팅 디바이스(302)는 하나 이상의 인터페이스를 통해 가청 사운드를 캡처하고 언어 모델 엔진(322)을 사용하여 가청 사운드에 대응하는 오디오 데이터를 처리할 수 있다. 일부 구현에서, 언어 모델 엔진(322)은 트랜스포머 신경망 모델을 사용하여 음성 발언이 완전한지 불완전한지, 및/또는 음성 발언을 완료하기 위해 활용될 수 있는 엔티티의 유형을 결정할 수 있다. 예를 들어, 컴퓨팅 디바이스(302)의 사용자 및/또는 다른 사람이 "오후 7시 30분에 나는 ...에 있어야 해"와 같은 음성 발언을 낭송할 때, 이 미완료된 음성 발언을 완료하기 위해 "이벤트" 엔터티 유형이 활용될 수 있는지 결정하기 위해 언어 모델 엔진(322)이 활용될 수 있다. 그 후, 음성 발언이 처리되어 그 음성 발언을 완료하기 위한 엔터티 유형(예를 들어, "카디널 스타디움"과 같은 위치)에 대응하는 적합한 컨텐츠를 식별할 수 있다. 일부 구현예에서, 컨텐츠는 하나 이상의 다른 사람과 하나 이상의 다른 애플리케이션 사이의 이전 상호작용에 기초하여 생성된 공용 지식 그래프를 사용하여 식별될 수 있다. 대안적으로 또는 추가적으로, 컨텐츠는 사용자와 하나 이상의 애플리케이션 사이의 이전 상호작용에 기초하여 생성된 개인 지식 그래프를 사용하여 식별될 수 있다.
일부 구현예에서, 컴퓨팅 디바이스(302)는 구두/디스플루언시 제스처 엔진(324)을 포함할 수 있다. 구두/디스플루언시 제스처 엔진(324)은 사용자가 제안 정보 및/또는 컨텐츠를 수신하려는 의지를 표시했는지 여부를 결정하기 위한 하나 이상의 센서로부터의 입력 데이터를 처리하는데 활용될 수 있다. 예를 들어, 오디오 데이터에 구현된 디스플루언시(예를 들어, "흠…)는 구두/디스플루언시 제스처 엔진(324)에 의해 식별될 수 있으며, 주어진 시간에 제안 정보를 정시에 제공할지 여부를 결정하는 요소(factor)로서 활용될 수 있다. 다른 요소에는 사용자의 컨텍스트 및/또는 사용자에 의해 명시적으로 요청되지 않았을 수 있는 정보를 이후에 사용자가 사용했던 이전 상호작용이 포함될 수 있다. 대안적으로 또는 추가적으로, 구두/디스플루언시 제스처 엔진(324)은 사용자의 모션 및/또는 사용자의 하나 이상의 사지를 특징지을 수 있는 모션 센서와 같은 다른 센서로부터의 입력을 처리할 수 있다. 가속도계나 관성 센서에 영향을 미칠 수 있는 특정 움직임(motion)은 사용자가 비요청된 정보로부터 이익을 얻을 수 있는지 여부를 결정할 때 요소로서 검출되고 고려될 수 있다. 예를 들어, 공항의 노선을 따라 이동 중인 사용자가 자신의 신분증을 찾기 위해 가방을 뒤질 때 움직임이 급격하게 멈출 수 있다. 이에 응답하여, 컴퓨팅 디바이스(302)는 사용자가 특정 유형의 정보를 검색하고 있다고 결정하고 출력 인터페이스가 (예를 들어, 사용자가 착용하고 있는 이어버드 세트를 통해) 사용자에게 정보를 적시에 렌더링하게 할 수 있다. 일부 구현에서, 구두/디스플루언시 제스처 엔진(324)은 다수의 소스로부터의 데이터를 처리하여 구두 제스처 및/또는 비-구두 제스처의 특성을 결정할 수 있다. 예를 들어, 비요청된 제안 정보의 렌더링으로부터 사용자가 이익을 얻을 수 있는지 여부를 결정하기 위한 음성의 리듬(cadence) 및/또는 말하는 속도가 구두/디스플루언시 제스처 엔진(324)에 의해 검출될 수 있다. 이러한 방식으로, 일반적으로 빠르게 말하는 사용자가 현재 느리게 말하고 있는 경우(예를 들어, 기억력 부족으로 인해 천천히 말하는 경우), 컴퓨팅 디바이스(302)는 이 사용자가 특정 정보를 회상하는데 도움이 필요할 수 있다고 결정할 수 있다. 대안적으로 또는 추가적으로, 일반적으로 낮은 음조(pitch)로 말하는 사용자가 현재 더 높은 음조로 말하고 있는 경우, 컴퓨팅 디바이스(302)는 이 사용자가 특정 정보를 회상하는데 도움이 필요할 수 있다고 결정할 수 있다.
일부 구현에서, 컴퓨팅 디바이스(302)는 오디오 데이터를 처리할 때 활용될 수 있는 음성 필터링 엔진(316)을 포함할 수 있다. 음성 필터링 엔진(316)은 특정 사람의 특정 음성을 분리하기 위해 오디오 데이터의 일부로부터 하나 이상의 사람의 음성을 제거하는데 사용될 수 있다. 예를 들어, 사람이 붐비는 방에서 질문을 암송하는 경우, 음성 필터링 엔진(316)은 해당 사람의 음성을 검출하는 것에 응답하여 무리에서 나오는 소리를 필터링함으로써 해당 사람의 질문을 정확하게 처리할 수 있다. 그런 다음, 언어 모델 엔진(322)은 사용자가 그 개인의 질문에 대답하기 위해 암송할 수 있는 제안 정보를 생성하기 위해 질문을 처리할 수 있다(적어도 사용자가 그러한 정보를 수신하겠다는 의지를 표현하는 경우). 일부 구현에서, 컴퓨팅 디바이스(302)는 제안 정보를 사용자에게 렌더링하기 위한 하나 이상의 조건이 만족되었는지 여부를 결정하기 위한 조건 처리 엔진(318)을 포함할 수 있다. 일부 구현에서, 하나 이상의 조건은 특정 컨텍스트 및/또는 특정 사용자에 따라 달라질 수 있고 및/또는 휴리스틱 프로세스 및/또는 하나 이상의 트레이닝된 기계 학습 모델을 사용하여 결정될 수 있다. 예를 들어, 특정 위치에서 비요청된 제안 정보 수신을 거부하는 사용자는 조건 처리 엔진(318)이 제안 정보를 렌더링하기 위한 위치 기반 조건을 생성하게 할 수 있다. 일부 구현예에서, 제안 정보를 사용자에게 렌더링하기 전에 하나 이상의 조건이 만족되었는지 여부를 결정하기 위해 구두 및/또는 디스플루언시 제스처 엔진(324)의 출력이 처리될 수 있다.
일부 구현에서, 컴퓨팅 디바이스(302)는 사용자에게 렌더링할 적절한 컨텐츠를 식별하고 및/또는 사용자가 명시적인 요청 없이 컨텐츠를 수신할 의향이 있는지 여부를 결정하기 위한 컨텍스트 데이터(336)를 처리할 수 있는 컨텍스트 처리 엔진(326)을 포함할 수 있다. 예를 들어, 사용자의 위치는 사용자가 자신의 웨어러블 디바이스를 통해 사전(proactive) 정보를 수신할 의향이 있는지 여부를 나타낼 수 있다. 예를 들어, 사용자는 자신의 집으로부터 반경 밖의 비요청된 정보를 수신하는 것을 선호할 수 있다. 따라서, 사용자의 사전 허가를 받아 사용자의 지리적 위치를 결정하는 것은 특정 비요청된 정보를 사용자에게 제공할지 여부를 결정하는데 도움이 될 수 있다. 일부 구현에서, 컴퓨팅 디바이스(302)는 렌더링될 출력의 특성을 결정할 수 있는 출력 생성 엔진(314)을 포함할 수 있다. 예를 들어, 출력 생성 엔진(314)은 제안 정보가 사용자가 말하는 속도에 기초한 속도로 오디오 출력 인터페이스를 통해 렌더링되도록 할 수 있다. 일부 구현예에서, 제안 정보의 렌더링은 사용자의 컨텍스트 변화 및/또는 사용자가 제안 정보의 렌더링에 반응하는 방식에 기초하여 일시적으로 중지 및/또는 영구적으로 중지될 수 있다. 예를 들어, 사용자가 음성을 통해 제안 정보를 큰 소리로 암송하는 경우, 그 제안 정보의 렌더링은 사용자가 지금까지 렌더링되었던 제안 정보의 일부를 완전히 암송할 때까지 일시적으로 중지될 수 있다. 대안적으로 또는 추가적으로, 사용자가 렌더링되는 제안 정보에 관심이 없음을 나타내는 구두 제스처 및/또는 비-구두 제스처를 수행하는 경우, 출력 생성 엔진(314)은 제안 정보의 렌더링을 중지할 수 있다.
도 4는 사용자가 자신의 웨어러블 디바이스로부터 이러한 정보를 명시적으로 요청할 수도 있고 그렇지 않을 수도 있는 특정 컨텍스트에서 웨어러블 디바이스를 통해 보충 정보를 적시에 제공하기 위한 방법(400)을 도시한다. 방법(400)은 하나 이상의 컴퓨팅 디바이스, 애플리케이션, 및/또는 자동화 어시스턴트와 연관될 수 있는 임의의 다른 장치 또는 모듈에 의해 수행될 수 있다. 방법(400)은 보충 정보가 이용 가능한 컨텍스트에서 사용자가 디바이스를 착용하고 있는지 여부를 결정하는 동작(402)을 포함할 수 있다. 보충 정보는 사용자의 컨텍스트와 연관될 수 있고 및/또는 사용자가 착용하고 있는 디바이스(즉, 보조 컴퓨팅 디바이스)와 통신하는 주 컴퓨팅 디바이스를 통해 검색될 수 있다. 예를 들어, 사용자는 자신이 임대한 보관 시설을 방문할 수 있으며, 보관 시설에는 보관 시설의 칸막이에 접근할 수 있는 패스코드를 삽입하기 위한 키패드가 있을 수 있다. 사용자는 키패드에 접근할 때 컴퓨터화된 이어버드 및/또는 안경 및/또는 스마트 시계를 착용하고 있을 수 있다. 이러한 컨텍스트에서, 주 컴퓨팅 디바이스는 주 컴퓨팅 디바이스에 이용 가능한 데이터에 기초하여, 보충 정보(예를 들어, 패스코드)가 이용 가능한 상황에서 사용자가 컴퓨터화된 디바이스를 착용하고 있음을 결정할 수 있다. 패스코드는 주 컴퓨팅 디바이스, 보조 컴퓨팅 디바이스, 및/또는 네트워크 연결을 통해 이용 가능한 다른 컴퓨팅 디바이스의 메모리에서 이용 가능한다.
이러한 컨텍스트에서 사용자가 컴퓨터화된 디바이스를 착용하고 있다고 결정되는 경우, 방법(400)은 동작(402)으로부터 응답 정보에 기초하여 출력 데이터를 생성하는 동작(404)으로 진행할 수 있다. 예를 들어, 응답 정보는 주 컴퓨팅 디바이스 및/또는 보조 컴퓨팅 디바이스를 통해 액세스할 수 있는 하나 이상의 애플리케이션 및/또는 디바이스와 같은 하나 이상의 상이한 데이터 소스에 기초할 수 있다. 일부 구현예에서, 사용자의 컨텍스트에 따라 각 데이터 소스의 순위가 지정되는 방식에 기초하여 정보를 제공하기 위한 하나 이상의 데이터 소스가 선택될 수 있다. 예를 들어, 특정 애플리케이션은 사용자의 위치, 보조 컴퓨팅 디바이스에 의해 캡처된 오디오 컨텐츠, 보조 컴퓨팅 디바이스에 의해 캡처된 이미지 컨텐츠, 및/또는 컴퓨팅 디바이스에 이용 가능한 기타 데이터에 기초한 정보 소스로서 다른 애플리케이션보다 우선순위가 높을 수 있다. 예를 들어, 키패드와 관련된 보안 애플리케이션은 다른 애플리케이션보다 우선순위가 높을 수 있으므로 보안 애플리케이션은 사용자가 키패드에 접근하는 상황에서 정보 소스로서 선택될 수 있다.
방법(400)은 동작(404)으로부터 컨텍스트의 하나 이상의 특징이 사용자에게 비요청된 정보를 렌더링하기 위한 하나 이상의 조건을 만족하는지 여부를 결정하는 동작(406)으로 진행할 수 있다. 정보를 렌더링하기 위한 하나 이상의 조건은 특정 사용자, 특정 컨텍스트, 및/또는 보조 컴퓨팅 디바이스 및/또는 주 컴퓨팅 디바이스에 대한 특정 입력에 대해 선택될 수 있다. 예를 들어, 사용자가 자신의 말하기 및/또는 움직임에서 일종의 일시 중지(pause)을 나타내는 경우, 하나 이상의 조건이 만족되는 것으로 결정될 수 있다. 일부 구현에서, 하나 이상의 조건은 움직임 중 일시 중지(예를 들어, 검출 가능한 양의 관성을 생성하는 일시 중지) 및/또는 임계 지속기간 동안 지속되고 및/또는 다른 입력 데이터(예를 들어, 주변 소음, 다른 사람의 음성, 객체 및/또는 위치로부터 검출된 거리 등)가 수반되는 음성에 대해 충족될 수 있다. 이러한 컨텍스트 특징은 음성 입력 및/또는 사용자의 손 움직임과 같은 의도적인 제스처와는 다른 것으로 간주될 수 있지만 그럼에도 불구하고 방법(400)이 동작(408)을 수행하게 할 수 있다.
일부 구현에서, 정보를 렌더링하기 위한 하나 이상의 조건은 하나 이상의 기계 학습 모델을 트레이닝한 결과로서 시간 경과에 따라 확립될 수 있다. 예를 들어, 사용자는 특정 정보가 렌더링된 후, 특정 정보가 사용자에게 유용했는지 및/또는 적시에 제공되었는지 여부를 나타내는 확인(affirmation)을 제공할 수 있다. 확인은 예를 들어 정보 제공이 사용자에게 유용했다는 표시(indication)로서 주 컴퓨팅 디바이스 및/또는 보조 컴퓨팅 디바이스에 의해 해석되는 제스처일 수 있다. 일부 구현에서, 제스처에는 보조 컴퓨팅 디바이스를 통해 제공된 정보의 적어도 일부의 암송 및/또는 보조 컴퓨팅 디바이스를 통해 정보를 수신한 것에 응답하는 사용자의 물리적 움직임(예를 들어 머리를 끄덕이는 것)이 포함될 수 있다. 그런 다음 이러한 사용자 피드백은 보조 컴퓨팅 디바이스를 통해 적시에 정보를 제공하기 위한 하나 이상의 기계 학습 모델을 추가로 트레이닝하는데 활용될 수 있다.
컨텍스트의 특징(들)이 사용자에게 비요청된 정보를 렌더링하기 위한 하나 이상의 조건을 만족하는 경우, 방법(400)은 동작(406)에서 동작(408)으로 진행될 수 있다. 그렇지 않은 경우, 방법(400)은 동작(406)에서 동작(410)으로 진행될 수 있다. 동작(408)은 보조 컴퓨팅 디바이스가 사용자를 위해, 출력 데이터에 기초하여 출력을 렌더링하게 하는 단계를 포함할 수 있다. 예를 들어, 보조 컴퓨팅 디바이스는 컨텐츠를 렌더링하기 위한 하나 이상의 인터페이스를 포함할 수 있으며 출력은 하나 이상의 인터페이스를 통해 렌더링될 수 있다. 보조 컴퓨팅 디바이스가 한 쌍의 이어버드인 경우, 출력은 한 쌍의 이어버드의 하나 이상의 스피커를 통해 렌더링되는 가청 컨텐츠(예를 들어, 키패드용 패스코드)일 수 있다. 대안적으로 또는 추가적으로, 사용자가 컴퓨터화된 안경을 착용하고 있는 경우, 출력은 안경의 하나 이상의 인터페이스를 통해 시각적으로 렌더링 및/또는 청각적으로 렌더링될 수 있다.
컨텍스트의 특징(들)이 하나 이상의 조건을 만족하지 않는 경우, 방법(400)은 사용자가 정보를 수신하려는 의지를 나타내기 위한 의도적인 제스처를 수행했는지 여부를 결정하는 단계를 포함할 수 있는 동작(410)으로 진행할 수 있다. 예를 들어, 의도적인 제스처는 사용자로부터 보조 컴퓨팅 디바이스 및/또는 주 컴퓨팅 디바이스로의 임의의 의도적이고 직접적인 입력일 수 있다. 전술한 예에 따르면, 사용자가 보조 컴퓨팅 디바이스가 출력을 렌더링할 준비가 되면, 사용자는 "이게 뭐지?"라는 문구를 말하면서 및/또는 보조 컴퓨팅 디바이스의 카메라가 제스처를 캡처하도록 키패드를 가리키는 것과 같은 제스처를 수행할 수 있다. 사용자가 의도적인 제스처를 제공한 것으로 결정되는 경우, 방법(400)은 동작(408)으로 진행될 수 있다. 그렇지 않은 경우, 방법(400)은 동작(402)으로 돌아갈 수 있다.
일부 구현에서, 방법(400)은 사용자와 주 컴퓨팅 디바이스 및/또는 보조 컴퓨팅 디바이스 사이의 상호 작용에 따라 하나 이상의 기계 학습 모델이 트레이닝되도록 하는 선택적인 동작(412)을 포함할 수 있다. 예를 들어, 주 컴퓨팅 디바이스 및/또는 보조 컴퓨팅 디바이스의 제안 모듈은 직접 요청받지 않고도 특정 컨텍스트에서 사용자에게 정보를 제공할 수 있다. 사용자가 정보 제공에 확정적으로(affirmatively) 또는 긍정적(positively)으로 응답하면, 하나 이상의 모델이 해당 컨텍스트에서 특정 유형의 정보에 우선순위를 부여하도록 트레이닝될 수 있다. 그러나, 사용자가 정보 제공에 확정적으로 또는 긍정적으로 응답하지 않는 경우, 하나 이상의 모델은 해당 컨텍스트에서 특정 유형의 정보를 제공하지 않도록 트레이닝될 수 있다.
도 5는 예시적인 컴퓨터 시스템(510)의 블록도(500)이다. 컴퓨터 시스템(510)은 일반적으로 버스 서브시스템(512)을 통해 다수의 주변 디바이스와 통신하는 적어도 하나의 프로세서(514)를 포함한다. 이러한 주변 디바이스는 예를 들어 메모리(525) 및 파일 저장 서브시스템(526)을 포함하는 저장 서브시스템(524), 사용자 인터페이스 출력 디바이스(520), 사용자 인터페이스 입력 디바이스(522) 및 네트워크 인터페이스 서브시스템(516)을 포함할 수 있다. 입력 및 출력 디바이스는 사용자가 컴퓨터 시스템(510)과 상호 작용할 수 있도록 한다. 네트워크 인터페이스 서브시스템(516)은 외부 네트워크에 대한 인터페이스를 제공하고 다른 컴퓨터 시스템의 해당 인터페이스 디바이스에 연결된다.
사용자 인터페이스 입력 디바이스 522에는 키보드, 포인팅 디바이스(예를 들어, 마우스, 트랙볼, 터치패드 또는 그래픽 태블릿), 스캐너, 디스플레이에 통합된 터치스크린, 음성 인식 시스템과 같은 오디오 입력 디바이스, 마이크로폰, 및/또는 기타 유형의 입력 디바이스가 포함될 수 있다. 일반적으로, "입력 디바이스"라는 용어의 사용은 컴퓨터 시스템(510) 또는 통신 네트워크에 정보를 입력하는 가능한 모든 유형의 디바이스 및 방법을 포함하도록 의도된다.
사용자 인터페이스 출력 디바이스(520)는 디스플레이 서브시스템, 프린터, 팩스 머신, 또는 오디오 출력 디바이스와 같은 비시각적 디스플레이를 포함할 수 있다. 디스플레이 서브시스템은 음극선관(CRT), 액정 디스플레이(LCD)와 같은 평면 패널 디바이스, 프로젝션 디바이스, 또는 시각적 이미지를 생성하기 위한 일부 다른 메커니즘을 포함할 수 있다. 디스플레이 서브시스템은 또한 오디오 출력 디바이스 등을 통해 비시각적 디스플레이를 제공할 수 있다. 일반적으로, "출력 디바이스"라는 용어의 사용은 컴퓨터 시스템(510)에서 사용자 또는 다른 기계 또는 컴퓨터 시스템으로 정보를 출력하는 가능한 모든 유형의 디바이스 및 방법을 포함하도록 의도된다.
저장 서브시스템(524)은 본 명세서에 설명된 모듈 중 일부 또는 전부의 기능을 제공하는 프로그래밍 및 데이터 구성을 저장한다. 예를 들어, 저장 서브시스템(524)은 방법(400)의 선택된 양태를 수행하고 및/또는 시스템(300), 컴퓨팅 디바이스(104), 보조 컴퓨팅 디바이스(112), 컴퓨팅 디바이스(214), 보조 컴퓨팅 디바이스(204), 및/또는 본 명세서에 논의된 임의의 다른 애플리케이션, 디바이스, 장치 및/또는 모듈 중 하나 이상을 구현하기 위한 로직을 포함할 수 있다.
이들 소프트웨어 모듈은 일반적으로 프로세서(514)에 의해 단독으로 또는 다른 프로세서와 결합하여 실행된다. 저장 서브시스템(524)에 사용되는 메모리(525)는 프로그램 실행 동안 명령 및 데이터를 저장하기 위한 메인 랜덤 액세스 메모리(RAM)(530) 및 고정된 명령이 저장되는 판독 전용 메모리(ROM)(532)를 포함하는 다수의 메모리를 포함할 수 있다. 파일 저장 서브시스템(526)은 프로그램 및 데이터 파일에 대한 영구 저장소(storage)를 제공할 수 있으며, 하드 디스크 드라이브, 관련 이동식 미디어와 함께 플로피 디스크 드라이브, CD-ROM 드라이브, 광학 드라이브 또는 이동식 미디어 카트리지를 포함할 수 있다. 특정 구현의 기능을 구현하는 모듈은 저장 서브시스템(524)의 파일 저장 서브시스템(526)에 의해 저장되거나 프로세서(들)(514)에 의해 액세스 가능한 다른 기계에 저장될 수 있다.
버스 서브시스템(512)은 컴퓨터 시스템(510)의 다양한 구성요소와 서브시스템이 의도한 대로 서로 통신할 수 있도록 하는 메커니즘을 제공한다. 버스 서브시스템(512)은 단일 버스로 개략적으로 도시되어 있지만, 버스 서브시스템의 대안적인 구현에서는 다수의 버스가 사용될 수 있다.
컴퓨터 시스템(510)은 워크스테이션, 서버, 컴퓨팅 클러스터, 블레이드 서버, 서버 팜, 또는 임의의 다른 데이터 처리 시스템 또는 컴퓨팅 디바이스를 포함하는 다양한 유형일 수 있다. 컴퓨터와 네트워크의 끊임없이 변화하는 특성으로 인해, 도 5에 도시된 컴퓨터 시스템(510)에 대한 설명은 단지 일부 구현을 설명하기 위한 특정 예로서만 의도된 것이다. 컴퓨터 시스템(510)의 많은 다른 구성은 도 5에 도시된 컴퓨터 시스템보다 더 많거나 더 적은 구성요소를 갖는 것이 가능하다.
본 문서에 설명된 시스템이 사용자(또는 본 문서에서 종종 "참가자"라고 함)에 광한 개인 정보를 수집하거나 개인 정보를 사용할 수 있는 상황에서, 사용자에게는 프로그램이나 특징이 사용자 정보(예를 들어, 사용자의 소셜 네트워크, 소셜 액션이나 활동, 직업, 사용자의 선호도, 사용자의 현재 지리적 위치에 관한 정보)를 수집하는지 여부를 제어하거나 사용자에게 더 관련성이 있을 수 있는 컨텐츠 서버로부터 콘텐츠를 수신할지 여부 및/또는 수신 방법을 제어할 수 있는 기회가 제공될 수 있다. 또한, 특정 데이터는 개인 식별 정보가 제거될 수 있도록 저장 또는 사용되기 전에 하나 이상의 방법으로 처리될 수 있다. 예를 들어, 사용자의 신원은 사용자에 대해 개인 식별 정보가 확인될 수 없도록 처리될 수 있거나, 사용자의 지리적 위치는 사용자의 특정 지리적 위치가 확인될 수 없도록 지리적 위치 정보가 획득되는 곳으로 일반화될 수 있다.(예를 들어, 도시, 우편번호 또는 주 수준). 따라서, 사용자는 사용자에 관한 정보가 수집 및/또는 사용되는 방법을 제어할 수 있다.
본 명세서에서는 여러 구현예가 설명되고 예시되었지만, 본 명세서에 설명된 기능을 수행하고 및/또는 결과 및/또는 하나 이상의 이점을 얻기 위한 다양한 다른 수단 및/또는 구조가 활용될 수 있으며, 이러한 변형 및/또는 수정 각각은 본 명세서에 설명된 구현의 범위 내에 있는 것으로 간주된다. 보다 일반적으로, 본 명세서에 기술된 모든 파라미터, 치수, 재료 및 구성은 예시적인 것으로 의도되었으며 실제 파라미터, 치수, 재료 및/또는 구성은 해당 교시가 사용되는 특정 응용(들)에 따라 달라질 것이다. 당업자는 일상적인 실험만을 사용하여 본 명세서에 설명된 특정 구현에 대한 많은 등가물을 인식하거나 확인할 수 있을 것이다. 그러므로, 전술한 구현은 단지 예로서 제시된 것이며, 첨부된 청구범위 및 그 등가물의 범위 내에서 구체적으로 설명되고 청구된 것과 다르게 구현이 실행될 수 있다는 것이 이해되어야 한다. 본 개시의 구현은 본 명세서에 기술된 각각의 개별 특징, 시스템, 물품, 재료, 키트 및/또는 방법에 관한 것이다. 게다가, 이러한 특징, 시스템, 물품, 재료, 키트 및/또는 방법이 상호 모순되지 않는 경우, 둘 이상의 이러한 특징, 시스템, 물품, 재료, 키트 및/또는 방법의 조합이 본 개시의 범위 내에 포함된다.
일부 구현에서, 하나 이상의 프로세서에 의해 구현되는 방법은 부분 음성 발언에 대한 인식된 텍스트 가설을 생성하기 위해 사용자에 의해 착용된 웨어러블 디바이스의 하나 이상의 마이크로폰을 통해 캡처된 스트리밍 오디오 데이터에 대해 자동 음성 인식을 수행하는 단계와 같은 동작을 포함하는 것으로 설명된다. 부분 음성 발언은 스트리밍 오디오 데이터에 캡처되며 적어도 하나의 추가 사람과의 대화의 일부로서 사용자에 의해 제공된다. 방법은 부분 음성 발언을 뒤따를 것으로 예측되는 추가 컨텐츠의 하나 이상의 특징을 나타내는 후속 컨텐츠 출력을 생성하기 위해 하나 이상의 기계 학습 모델을 사용하여 상기 인식된 텍스트 가설을 처리하는 단계를 더 포함한다. 방법은 후속 컨텐츠 출력에 기초하여, 부분 음성 발언을 뒤따를 것으로 예측되는 추가 텍스트를 결정하는 단계를 더 포함한다. 방법은 보조 디바이스의 적어도 하나의 인터페이스를 통해 추가 텍스트를 렌더링할지 여부를 결정하는 단계를 더 포함한다. 추가 텍스트를 렌더링할지 여부를 결정하는 단계는 렌더링을 직접 요청하는 명시적인 사용자 인터페이스 입력과 무관하며, 후속 컨텐츠 출력 및/또는 부분 음성 발언 후에 디스플루언시(disfluency, 말더듬)가 검출되는지 여부에 기초한다. 방법은 추가 텍스트를 렌더링하기로 결정하는 것에 응답하여, 보조 디바이스의 적어도 하나의 인터페이스를 통해 추가 텍스트가 렌더링되도록 하는 단계를 더 포함한다.
본 명세서에 개시된 기술의 이러한 구현 및 다른 구현은 다음 특징 중 하나 이상을 포함할 수 있다.
일부 구현에서, 추가 텍스트를 렌더링할지 여부를 결정하는 단계는 부분 음성 발언 후에 디스플루언시가 검출되는지 여부에 기초한다. 이러한 구현 중 일부에서, 추가 텍스트를 렌더링할지 여부를 결정하는 단계는 측정된 디스플루언시의 지속기간(duration)에 더 기초한다. 이러한 구현의 일부 버전에서, 추가 텍스트를 렌더링할지 여부를 결정하는 단계는 임계 지속기간을 만족하는 측정된 지속기간에 기초하여 추가 텍스트를 렌더링하기로 결정하는 단계를 포함한다. 이러한 버전 중 일부에서, 추가 텍스트를 결정하는 단계는 임계 지속기간이 만족되기 전에 발생한다. 디스플루언시에 기초하여 추가 텍스트를 렌더링할지 여부를 결정하는 일부 구현에서, 방법은 디스플루언시를 모니터링하는 단계를 더 포함한다. 디스플루언시를 모니터링하는 단계는 부분 음성 발언을 뒤따르는 오디오 데이터 스트림을 처리하는 단계 및/또는 보조 디바이스의 하나 이상의 모션 센서로부터의 모션 센서 데이터를 처리하는 단계를 포함한다.
일부 구현에서, 추가 텍스트가 렌더링되도록 하는 단계는 추가 텍스트가 보조 디바이스의 오디오 인터페이스를 통해 음성 합성 출력으로서 렌더링되게 하는 단계를 포함한다. 이러한 구현들 중 일부에서, 방법은 음성 합성 출력의 렌더링 동안, 사용자의 음성 활동을 검출하는 단계, 및 사용자의 음성 활동을 검출하는 것에 응답하여, 음성 합성 출력의 렌더링을 중단하는 단계를 더 포함한다.
일부 구현에서, 추가 텍스트가 렌더링되도록 하는 단계는 추가 텍스트의 하나 이상의 속성에 기초하여, 추가 텍스트가 다수의 개별 청크로 렌더링되도록 하는 단계를 포함한다. 이러한 구현 중 일부에서, 추가 텍스트가 다수의 개별 청크로 렌더링되도록 하는 단계는 다수의 개별 청크 중 제1 청크만 렌더링되도록 하는 단계, 제1 청크만 렌더링한 후 음성 활동의 발생과 중단을 검출하는 단계, 및 음성 활동의 중단을 검출하는 것에 응답하여, 다수의 개별 청크 중 제2 청크만 렌더링되도록 하는 단계를 포함한다.
일부 구현에서, 추가 텍스트를 렌더링할지 여부를 결정하는 단계는 후속 컨텐츠 출력에 기초한다. 이러한 구현들 중 일부에서, 후속 컨텐츠 출력에 기초하여 추가 텍스트를 렌더링할지 여부를 결정하는 단계는 후속 컨텐츠 출력에 기초하여 결정된 추가 텍스트에 대한 엔트로피 메트릭을 결정하는 단계 및 엔트로피 메트릭의 함수로서 추가 텍스트를 렌더링할지 여부를 결정하는 단계를 포함한다. 이러한 구현의 일부 버전에서, 엔트로피 메트릭은 추가 텍스트의 하나 이상의 용어의 역 문서(inverse document) 빈도(IDF) 측정값에 기초한다. 이러한 버전 중 일부에서, IDF 측정값는 사용자에 대한 음성 인식 가설에서, 추가 텍스트의 하나 이상의 용어에 대한 발생 빈도에 기초한 개인화된 사용자 메트릭이다.
일부 구현에서, 추가 텍스트를 렌더링할지 여부를 결정하는 단계는 디스플루언시가 검출되었는지 여부에 기초하고 또한 후속 컨텐츠 출력에 기초한다.
일부 구현에서, 후속 컨텐츠 출력에 기초하여, 부분 음성 발언을 뒤따를 것으로 예측되는 추가 텍스트를 결정하는 단계는 후속 컨텐츠 출력에 기초하여, 부분 음성 발언을 뒤따를 것으로 예측되는 추가 컨텐츠의 예측 엔티티 유형을 결정하는 단계; 예측 엔티티 유형 및 인식된 텍스트 가설의 하나 이상의 가설 용어를 이용하여 검색을 수행하는 단계; 및 검색에 응답하는 리소스로부터 추가 텍스트를 결정하는 단계를 포함한다. 이러한 구현의 일부 버전에서, 검색에 응답하는 리소스는 특정 데이터베이스 항목이고, 예측된 엔티티 유형 및 하나 이상의 예측 용어를 사용하여 검색을 수행하는 단계는 데이터베이스 항목이 예측 엔티티 유형과 하나 이상의 가설 용어 모두로 색인화되어 있는지 결정하는 단계를 포함한다. 이러한 버전 중 일부에서, 예측 엔티티 유형 및 하나 이상의 가설 용어를 사용하여 검색을 수행하는 단계는 하나 이상의 가설 용어를 사용하여 리소스를 식별하는 단계; 및 리소스의 텍스트 수퍼세트(superset)로부터, 예측 엔터티 유형인 추가 텍스트에 기초하여 추가 텍스트를 추출하는 단계를 포함한다. 이러한 구현의 일부 추가적인 또는 대체 버전에서, 검색을 수행하는 단계는 보조 디바이스와 통신하는 클라이언트 디바이스에서 발생하고, 검색을 수행하는 단계는 클라이언트 디바이스에 로컬로 캐시된 리소스를 검색하는 단계를 포함한다. 이들 버전 중 일부에서, 방법은 부분 음성 발언에 앞서는 이전 음성 발언의 처리에 기초하여, 대화의 주제를 결정하는 단계; 및 클라이언트 디바이스에서 부분 음성 발언 이전에, 주제와 정의된 관계가 있는 리소스의 적어도 일부를 다운로드하는 단계를 포함한다. 이러한 구현의 일부 추가 또는 대체 버전에서, 후속 컨텐츠 출력은 추가 텍스트와 상이한 초기 추가 텍스트를 나타내고, 후속 컨텐츠 출력에 기초하여, 추가 컨텐츠의 예측 엔티티 유형을 결정하는 단계는 추가 텍스트의 엔티티 유형을 식별하는 단계를 포함한다. 이러한 구현의 일부 추가 또는 대체 버전에서, 검색을 수행하는 단계는 사용자에게 개인적인 하나 이상의 개인 리소스를 검색하는 단계를 포함한다. 이러한 추가 또는 대체 버전의 일부 버전에서, 사용자에게 개인적인 하나 이상의 개인 리소스를 검색하는 단계는 부분 음성 발언이 사용자로부터 나온 것인지 검증하는 단계를 포함하고, 하나 이상의 개인 리소스를 검색하는 단계는 부분 음성 발언이 사용자로부터 나온 것이라고 검증하는 단계를 조건부로 한다.
일부 구현예에서, 부분 음성 발언을 뒤따르는 것으로 예측되는 추가 텍스트를 결정하는 단계는 부분 음성 발언이 사용자로부터 나온 것이라고 검증하는 단계를 조건부로 한다. 이러한 구현 중 일부에서, 부분 음성 발언이 사용자로부터 나온 것이라고 검증하는 단계는 텍스트와 무관한 화자 검증을 수행하는 단계, 및/또는 오디오 데이터가 사용자로부터 나온 경우에만 예측 가설 생성을 용이하게 하는 화자 종속 자동 음성 인식을 수행하는 단계를 포함한다.
일부 구현에서, 하나 이상의 프로세서에 의한 구현 방법은 컴퓨팅 디바이스에 의해, 사용자와 하나 이상의 사람 사이의 상호 작용 동안 보조 컴퓨팅 디바이스에 의해 캡처된 음성 발언의 오디오 데이터를 처리하는 단계와 같은 동작을 포함하는 것으로 기술된다. 사용자는 상호 작용 동안 보조 컴퓨팅 디바이스를 착용하고 있으며, 보조 컴퓨팅 디바이스는 통신 채널을 통해 컴퓨팅 디바이스로 오디오 데이터를 전달한다. 방법은 컴퓨팅 디바이스에 의해 오디오 데이터 처리에 기초하여, 음성 발언이 미완료이고 컴퓨팅 디바이스를 통해 액세스 가능한 정보가 음성 발언의 컨텐츠를 보완한다고 결정하는 단계를 더 포함한다. 방법은 컴퓨팅 디바이스에 의해, 상호 작용이 발생하고 있는 컨텍스트의 하나 이상의 특징이 보조 컴퓨팅 디바이스를 통해 사용자에게 정보를 렌더링하기 위한 하나 이상의 조건을 만족하는지 여부를 결정하는 단계를 더 포함한다. 방법은 컨텍스트의 하나 이상의 특징이 보조 컴퓨팅 디바이스를 통해 사용자에게 정보를 렌더링하기 위한 하나 이상의 조건을 만족하는 것으로 결정되는 경우, 컴퓨팅 디바이스에 의해, 보조 컴퓨팅 디바이스의 인터페이스가 사용자를 위한 정보를 특징짓는 출력을 렌더링하게 하는 단계를 더 포함한다.
본 명세서에 개시된 기술의 이러한 구현 및 다른 구현은 다음 특징 중 하나 이상을 포함할 수 있다.
일부 구현예에서, 컨텍스트의 하나 이상의 특징이 정보를 렌더링하기 위한 하나 이상의 조건을 만족하는지 결정하는 단계는 오디오 데이터 처리에 기초하여, 디스플루언시가 음성 발언에 구현되어 있는지 결정하는 단계를 포함한다. 일부 구현예에서, 컨텍스트의 하나 이상의 특징이 정보를 렌더링하기 위한 하나 이상의 조건을 만족하는지 결정하는 단계는 디스플루언시가 적어도 임계 지속기간 동안 지속되는지 결정하는 단계를 포함한다.
일부 구현예에서, 컨텍스트의 하나 이상의 특징이 정보를 렌더링하기 위한 하나 이상의 조건을 만족하는지 결정하는 단계는 사용자가 컴퓨팅 디바이스를 통해 액세스 가능한 제안 모듈을 통해 제안 컨텐츠를 수신하는데 사용할 수 있음을 나타내는 구두(verbal) 제스처를 수행했는지 결정하는 단계를 포함한다.
일부 구현에서, 컨텍스트의 하나 이상의 특징이 정보를 렌더링하기 위한 하나 이상의 조건을 만족하는지 결정하는 단계는 사용자가 컴퓨팅 디바이스를 통해 액세스 가능한 제안 모듈을 통해 제안 컨텐츠를 수신하는데 사용할 수 있음을 나타내는 비-구두 제스처를 수행했는지 결정하는 단계를 포함한다.
일부 구현에서, 보조 컴퓨팅 디바이스는 한 쌍의 이어버드이고, 오디오 데이터는 한 쌍의 이어버드 중 적어도 하나의 이어버드의 오디오 입력 인터페이스를 통해 캡처된다.
일부 구현에서, 보조 컴퓨팅 디바이스는 컴퓨터화된 안경이고, 오디오 데이터는 컴퓨터화된 안경의 오디오 입력 인터페이스를 통해 캡처되며, 출력은 컴퓨터화된 안경의 디스플레이 인터페이스를 통해 렌더링된다.
일부 구현에서, 컴퓨팅 디바이스를 통해 액세스 가능한 정보가 오디오 데이터에 의해 특징지어진 컨텐츠의 일부에 응답한다고 결정하는 단계는 하나 이상의 트레이닝된 기계 학습 모델을 사용하여 오디오 데이터를 처리하는 것에 기초하여, 컨텐츠의 일부에 해당하는 질의 유형에 응답할 때 상기 정보가 하나 이상의 다른 사용자가 이전에 활용한 정보의 엔티티 유형에 해당하는지 결정하는 단계를 포함한다.
일부 구현에서, 방법은 컨텍스트의 하나 이상의 특징이 보조 컴퓨팅 디바이스를 통해 사용자에게 정보를 렌더링하기 위한 하나 이상의 조건을 만족하지 않는 것으로 결정된 경우, 컴퓨팅 디바이스에 의해, 보조 컴퓨팅 디바이스의 인터페이스가 사용자를 위한 정보를 특징짓는 출력 렌더링을 바이패스하게 하는 단계를 더 포함한다.
일부 구현에서, 보조 컴퓨팅 디바이스에 의해 캡처된 음성 발언의 오디오 데이터를 처리하는 단계는 자연어 컨텐츠 데이터를 사용하여 트레이닝된 트랜스포머 신경망 모델을 사용하여 오디오 데이터를 처리하는 단계를 포함한다.
일부 구현에서, 하나 이상의 프로세서에 의한 구현 방법은 사용자의 컨텍스트의 하나 이상의 특징이 사용자로부터의 직접적인 요청 없이 보조 컴퓨팅 디바이스를 통해 사용자에게 정보를 렌더링하기 위한 하나 이상의 조건을 만족하는지 결정하는 단계와 같은 동작을 포함하는 것으로 기술된다. 보조 컴퓨팅 디바이스는 컨텍스트에서 사용자가 착용하고 있는 웨어러블 디바이스이고, 컨텍스트의 하나 이상의 특징은 사용자 또는 다른 사람이 기억력 부족을 보이고 있음을 나타낸다.
방법은 하나 이상의 조건을 만족하는 컨텍스트의 하나 이상의 특징에 기초하여, 보조 컴퓨팅 디바이스의 하나 이상의 입력 인터페이스를 통해 보조 컴퓨팅 디바이스에 의해 캡처된 하나 이상의 입력을 특징짓는 입력 데이터를 처리하는 단계를 더 포함한다. 여기에는 입력 데이터의 처리에 기초하여, 보조 컴퓨팅 디바이스를 통해 액세스 가능한 특정 정보가 입력 데이터에 의해 특징지어진 컨텐츠의 일부에 응답하는지 결정하는 단계가 더 포함된다. 방법은 보조 컴퓨팅 디바이스의 출력 인터페이스가 특정 정보를 특징짓는 출력을 사용자를 위해 렌더링하게 하는 단계를 를 더 포함한다.
본 명세서에 개시된 기술의 이러한 구현 및 다른 구현은 다음 특징 중 하나 이상을 포함할 수 있다.
일부 구현에서, 보조 컴퓨팅 디바이스는 컴퓨터화된 안경을 포함하고, 출력은 컴퓨터화된 안경의 그래픽 사용자 인터페이스(GUI)를 통해 렌더링된다. 일부 구현에서, 하나 이상의 입력은 보조 컴퓨팅 디바이스의 카메라를 통해 캡처된 컨텍스트의 이미지를 포함한다.
일부 구현에서, 보조 컴퓨팅 디바이스는 한 쌍의 이어버드를 포함하고, 출력은 한 쌍의 이어버드 중 하나 이상의 이어버드의 오디오 인터페이스를 통해 렌더링된다.
일부 구현에서, 컨텍스트의 하나 이상의 특징은 보조 컴퓨팅 디바이스의 오디오 인터페이스에 의해 캡처된 가청 디스플루언시를 포함한다.
일부 구현에서, 하나 이상의 프로세서에 의한 구현 방법은 보조 컴퓨팅 디바이스에 의해, 보조 컴퓨팅 디바이스의 출력 인터페이스가 사용자의 현재 컨텍스트에서 사용자에 의해 활용될 수 있는 정보를 특징짓는 출력을 렌더링하도록 하는 단계와 같은 동작을 포함하는 것으로 기술된다. 방법은 보조 컴퓨팅 디바이스가 출력을 렌더링하는 동안, 사용자가 보조 컴퓨팅 디바이스로부터의 출력에 포함된 정보의 일부를 구현하는 음성 발언을 제공했는지 여부를 결정하는 단계를 더 포함한다. 방법은 사용자가 정보의 적어도 일부를 구현하는 음성 발언을 제공한 것으로 결정되는 경우: 보조 컴퓨팅 디바이스의 출력 인터페이스가 정보를 특징짓는 출력의 렌더링을 일시 중지하도록 하는 단계, 및 사용자가 더 이상 음성 발언을 제공하지 않는 경우, 보조 컴퓨팅 디바이스의 출력 인터페이스가 정보의 다른 부분을 구현하는 추가 출력의 렌더링을 재개하도록 하는 단계를 더 포함한다. 방법은 사용자가 정보의 적어도 일부를 구현하지 않는 다른 음성 발언을 제공한 것으로 결정되는 경우, 보조 컴퓨팅 디바이스의 출력 인터페이스가 정보를 특징짓는 출력의 렌더링을 중지하도록 하는 단계를 더 포함한다.
본 명세서에 개시된 기술의 이러한 구현 및 다른 구현은 다음 특징 중 하나 이상을 포함할 수 있다.
일부 구현에서, 방법은 출력 인터페이스가 출력을 렌더링하기 전에, 사용자의 현재 컨텍스트에서 가청 사운드에 해당하는 오디오 데이터를 처리하는 단계를 더 포함하고, 상기 오디오 데이터를 처리하는 단계는 사용자의 음성에 해당하지 않는 특정 가청 사운드를 필터링하는 단계를 포함한다.
일부 구현에서, 방법은 사용자의 현재 컨텍스트에 기초하여 임베딩 데이터를 생성하는 단계를 더 포함하고, 상기 출력 인터페이스가 출력을 렌더링하게 하는 단계는 임베딩 데이터가 잠재 공간의 특정 임베딩으로부터의 임계 거리인 임베딩에 대응할 때 수행된다. 이러한 구현 중 일부에서, 잠재 공간의 특정 임베딩은 사용자와 하나 이상의 애플리케이션 사이의 이전 상호작용과 연관된 개인 지식 그래프에 기초한다. 이러한 구현의 일부 다른 버전에서, 잠재 공간의 특정 임베딩은 하나 이상의 다른 사용자와 하나 이상의 다른 애플리케이션 사이의 이전 상호작용과 연관된 공공 지식 그래프에 기초한다.
일부 구현에서, 방법은 출력 인터페이스가 출력을 렌더링하기 전에, 자연어 컨텐츠를 사용하여 트레이닝된 트랜스포머 신경망 모델을 사용하여 컨텐츠 데이터를 처리하는 단계를 더 포함한다. 컨텐츠 데이터는 사용자의 현재 컨텍스트에서 가청 사운드를 특징짓고, 출력은 컨텐츠 데이터의 처리에 기초한다.

Claims (47)

  1. 하나 이상의 프로세서에 의한 구현 방법으로서, 상기 방법은,
    부분 음성 발언에 대한 인식된 텍스트 가설을 생성하기 위해 사용자가 착용한 웨어러블 디바이스의 하나 이상의 마이크로폰을 통해 캡처된 스트리밍 오디오 데이터에 대해 자동 음성 인식을 수행하는 단계 - 부분 음성 발언은 스트리밍 오디오 데이터에서 캡처되고 적어도 하나의 추가 사람과의 대화의 일부로서 사용자에 의해 제공됨 - 와;
    부분 음성 발언을 뒤따를 것으로 예측되는 추가 컨텐츠의 하나 이상의 특징을 나타내는 후속 컨텐츠 출력을 생성하기 위해, 하나 이상의 기계 학습 모델을 사용하여 상기 인식된 텍스트 가설을 처리하는 단계와;
    후속 컨텐츠 출력에 기초하여, 부분 음성 발언을 뒤따를 것으로 예측되는 추가 텍스트를 결정하는 단계와;
    보조 디바이스의 적어도 하나의 인터페이스를 통해 추가 텍스트를 렌더링할지 여부를 결정하는 단계와,
    상기 추가 텍스트를 렌더링할지 여부를 결정하는 단계는 렌더링을 직접 요청하는 명시적인 사용자 인터페이스 입력과 무관하며,
    후속 컨텐츠 출력, 또는
    부분 음성 발언 후에 디스플루언시(disfluency)가 검출되는지 여부, 중 하나 또는 둘 모두에 기초하고;
    추가 텍스트를 렌더링하기로 결정하는 것에 응답하여, 보조 디바이스의 적어도 하나의 인터페이스를 통해 추가 텍스트가 렌더링되도록 하는 단계를 포함하는, 하나 이상의 프로세서에 의한 구현 방법.
  2. 제1항에 있어서,
    상기 추가 텍스트를 렌더링할지 여부를 결정하는 단계는,
    부분 음성 발언 후에 디스플루언시가 검출되는지 여부에 기초하는, 하나 이상의 프로세서에 의한 구현 방법.
  3. 제2항에 있어서,
    상기 추가 텍스트를 렌더링할지 여부를 결정하는 단계는,
    측정된 디스플루언시의 지속기간(duration)에 더 기초하는, 하나 이상의 프로세서에 의한 구현 방법.
  4. 제3항에 있어서,
    상기 추가 텍스트를 렌더링할지 여부를 결정하는 단계는 임계 지속기간을 만족하는 측정된 지속기간에 기초하여 추가 텍스트를 렌더링하기로 결정하는 단계를 포함하고, 그리고
    상기 추가 텍스트를 결정하는 단계는 임계 지속기간이 만족되기 전에 발생하는, 하나 이상의 프로세서에 의한 구현 방법.
  5. 임의의 선행하는 항에 있어서,
    디스플루언시를 모니터링하는 단계를 더 포함하고,
    상기 디스플루언시를 모니터링하는 단계는,
    부분 음성 발언을 뒤따르는 오디오 데이터 스트림을 처리하는 단계, 또는
    보조 디바이스의 하나 이상의 모션 센서로부터의 모션 센서 데이터를 처리하는 단계 중 하나 또는 모두를 포함하는, 하나 이상의 프로세서에 의한 구현 방법.
  6. 임의의 선행하는 항에 있어서,
    상기 추가 텍스트가 렌더링되도록 하는 단계는,
    추가 텍스트가 보조 디바이스의 오디오 인터페이스를 통해 음성 합성 출력으로서 렌더링되게 하는 단계를 포함하고, 그리고
    음성 합성 출력의 렌더링 동안, 사용자의 음성 활동을 검출하는 단계; 및
    사용자의 음성 활동을 검출하는 것에 응답하여, 음성 합성 출력의 렌더링을 중단하는 단계를 더 포함하는, 하나 이상의 프로세서에 의한 구현 방법.
  7. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 추가 텍스트가 렌더링되도록 하는 단계는,
    추가 텍스트의 하나 이상의 속성에 기초하여, 추가 텍스트가 다수의 개별 청크로 렌더링되도록 하는 단계를 포함하는, 하나 이상의 프로세서에 의한 구현 방법.
  8. 제7항에 있어서,
    상기 추가 텍스트가 다수의 개별 청크로 렌더링되도록 하는 단계는,
    다수의 개별 청크 중 제1 청크만 렌더링되도록 하는 단계;
    제1 청크만 렌더링한 후 음성 활동의 발생과 중단을 검출하는 단계; 및
    음성 활동의 중단을 검출하는 것에 응답하여, 다수의 개별 청크 중 제2 청크만 렌더링되도록 하는 단계를 포함하는, 하나 이상의 프로세서에 의한 구현 방법.
  9. 임의의 선행하는 항에 있어서,
    상기 추가 텍스트를 렌더링할지 여부를 결정하는 단계는 후속 컨텐츠 출력에 기초하고, 그리고
    상기 후속 컨텐츠 출력에 기초하여 추가 텍스트를 렌더링할지 여부를 결정하는 단계는,
    후속 컨텐츠 출력에 기초하여 결정된 추가 텍스트에 대한 엔트로피 메트릭을 결정하는 단계; 및
    엔트로피 메트릭의 함수로서 추가 텍스트를 렌더링할지 여부를 결정하는 단계를 포함하는, 하나 이상의 프로세서에 의한 구현 방법.
  10. 제9항에 있어서,
    상기 엔트로피 메트릭은 추가 텍스트의 하나 이상의 용어의 역 문서 빈도(IDF) 측정값에 기초하는, 하나 이상의 프로세서에 의한 구현 방법.
  11. 제10항에 있어서,
    상기 IDF 측정값는 사용자에 대한 음성 인식 가설에서, 추가 텍스트의 하나 이상의 용어에 대한 발생 빈도에 기초한 개인화된 사용자 메트릭인, 하나 이상의 프로세서에 의한 구현 방법.
  12. 임의의 선행하는 항에 있어서,
    상기 추가 텍스트를 렌더링할지 여부를 결정하는 단계는,
    디스플루언시가 검출되었는지 여부에 기초하고 또한 후속 컨텐츠 출력에 기초하는, 하나 이상의 프로세서에 의한 구현 방법.
  13. 임의의 선행하는 항에 있어서,
    후속 컨텐츠 출력에 기초하여, 부분 음성 발언을 뒤따를 것으로 예측되는 추가 텍스트를 결정하는 단계는,
    후속 컨텐츠 출력에 기초하여, 부분 음성 발언을 뒤따를 것으로 예측되는 추가 컨텐츠의 예측 엔티티 유형을 결정하는 단계;
    예측 엔티티 유형 및 인식된 텍스트 가설의 하나 이상의 가설 용어를 이용하여 검색을 수행하는 단계; 및
    검색에 응답하는 리소스로부터 추가 텍스트를 결정하는 단계를 포함하는, 하나 이상의 프로세서에 의한 구현 방법.
  14. 제13항에 있어서,
    상기 검색에 응답하는 리소스는 특정 데이터베이스 항목이고, 그리고
    상기 예측된 엔티티 유형 및 하나 이상의 예측 용어를 사용하여 검색을 수행하는 단계는,
    데이터베이스 항목이 예측 엔티티 유형과 하나 이상의 가설 용어 모두로 색인화되어 있는지 결정하는 단계를 포함하는, 하나 이상의 프로세서에 의한 구현 방법.
  15. 제14항에 있어서,
    상기 예측 엔티티 유형 및 하나 이상의 가설 용어를 사용하여 검색을 수행하는 단계는,
    하나 이상의 가설 용어를 사용하여 리소스를 식별하는 단계;
    리소스의 텍스트 수퍼세트(superset)로부터, 예측 엔터티 유형인 추가 텍스트에 기초하여 추가 텍스트를 추출하는 단계를 포함하는, 하나 이상의 프로세서에 의한 구현 방법.
  16. 제13항 내지 제15항 중 어느 한 항에 있어서,
    상기 검색을 수행하는 단계는 보조 디바이스와 통신하는 클라이언트 디바이스에서 발생하고, 그리고
    상기 검색을 수행하는 단계는 클라이언트 디바이스에 로컬로 캐시된 리소스를 검색하는 단계를 포함하는, 하나 이상의 프로세서에 의한 구현 방법.
  17. 제16항에 있어서,
    부분 음성 발언에 앞서는 이전 음성 발언의 처리에 기초하여, 대화의 주제를 결정하는 단계; 및
    클라이언트 디바이스에서 부분 음성 발언 이전에, 주제와 정의된 관계가 있는 리소스의 적어도 일부를 다운로드하는 단계를 포함하는, 하나 이상의 프로세서에 의한 구현 방법.
  18. 제13항 내지 제17항 중 어느 한 항에 있어서,
    상기 후속 컨텐츠 출력은 추가 텍스트와 상이한 초기 추가 텍스트를 나타내고, 그리고
    상기 후속 컨텐츠 출력에 기초하여, 추가 컨텐츠의 예측 엔티티 유형을 결정하는 단계는 추가 텍스트의 엔티티 유형을 식별하는 단계를 포함하는, 하나 이상의 프로세서에 의한 구현 방법.
  19. 제13항 내지 제17항 중 어느 한 항에 있어서,
    상기 검색을 수행하는 단계는,
    사용자에게 개인적인 하나 이상의 개인 리소스를 검색하는 단계를 포함하는, 하나 이상의 프로세서에 의한 구현 방법.
  20. 제19항에 있어서,
    상기 사용자에게 개인적인 하나 이상의 개인 리소스를 검색하는 단계는,
    부분 음성 발언이 사용자로부터 나온 것인지 검증하는 단계를 포함하고,
    상기 하나 이상의 개인 리소스를 검색하는 단계는 부분 음성 발언이 사용자로부터 나온 것이라고 검증하는 단계를 조건부로 하는, 하나 이상의 프로세서에 의한 구현 방법.
  21. 제1항 내지 제19항 중 어느 한 항에 있어서,
    상기 부분 음성 발언을 뒤따르는 것으로 예측되는 추가 텍스트를 결정하는 단계는 부분 음성 발언이 사용자로부터 나온 것이라고 검증하는 단계를 조건부로 하는, 하나 이상의 프로세서에 의한 구현 방법.
  22. 제18항 또는 제19항에 있어서,
    상기 부분 음성 발언이 사용자로부터 나온 것이라고 검증하는 단계는,
    텍스트와 무관한 화자 검증을 수행하는 단계, 및/또는
    오디오 데이터가 사용자로부터 나온 경우에만 예측 가설 생성을 용이하게 하는 화자 종속 자동 음성 인식을 수행하는 단계를 포함하는, 하나 이상의 프로세서에 의한 구현 방법.
  23. 하나 이상의 프로세서에 의한 구현 방법으로서, 상기 방법은,
    컴퓨팅 디바이스에 의해, 사용자와 하나 이상의 사람 사이의 상호 작용 동안 보조 컴퓨팅 디바이스에 의해 캡처된 음성 발언의 오디오 데이터를 처리하는 단계 - 사용자는 상호 작용 동안 보조 컴퓨팅 디바이스를 착용하고 있고, 보조 컴퓨팅 디바이스는 통신 채널을 통해 컴퓨팅 디바이스로 오디오 데이터를 전달함 - 와;
    컴퓨팅 디바이스에 의해 오디오 데이터 처리에 기초하여, 음성 발언이 미완료이고 컴퓨팅 디바이스를 통해 액세스 가능한 정보가 음성 발언의 컨텐츠를 보완한다고 결정하는 단계와;
    컴퓨팅 디바이스에 의해, 상호 작용이 발생하고 있는 컨텍스트의 하나 이상의 특징이 보조 컴퓨팅 디바이스를 통해 사용자에게 정보를 렌더링하기 위한 하나 이상의 조건을 만족하는지 여부를 결정하는 단계와; 그리고
    컨텍스트의 하나 이상의 특징이 보조 컴퓨팅 디바이스를 통해 사용자에게 정보를 렌더링하기 위한 하나 이상의 조건을 만족하는 것으로 결정되는 경우, 컴퓨팅 디바이스에 의해, 보조 컴퓨팅 디바이스의 인터페이스가 사용자를 위한 정보를 특징짓는 출력을 렌더링하게 하는 단계를 포함하는, 하나 이상의 프로세서에 의한 구현 방법.
  24. 제23항에 있어서,
    상기 컨텍스트의 하나 이상의 특징이 정보를 렌더링하기 위한 하나 이상의 조건을 만족하는지 결정하는 단계는,
    오디오 데이터 처리에 기초하여, 디스플루언시가 음성 발언에 구현되어 있는지 결정하는 단계를 포함하는, 하나 이상의 프로세서에 의한 구현 방법.
  25. 제24항에 있어서,
    상기 컨텍스트의 하나 이상의 특징이 정보를 렌더링하기 위한 하나 이상의 조건을 만족하는지 결정하는 단계는,
    디스플루언시가 적어도 임계 지속기간 동안 지속되는지 결정하는 단계를 포함하는, 하나 이상의 프로세서에 의한 구현 방법.
  26. 제23항에 있어서,
    상기 컨텍스트의 하나 이상의 특징이 정보를 렌더링하기 위한 하나 이상의 조건을 만족하는지 결정하는 단계는,
    사용자가 컴퓨팅 디바이스를 통해 액세스 가능한 제안 모듈을 통해 제안 컨텐츠를 수신하는데 사용할 수 있음을 나타내는 구두(verbal) 제스처를 수행했는지 결정하는 단계를 포함하는, 하나 이상의 프로세서에 의한 구현 방법.
  27. 제23항에 있어서,
    상기 컨텍스트의 하나 이상의 특징이 정보를 렌더링하기 위한 하나 이상의 조건을 만족하는지 결정하는 단계는,
    사용자가 컴퓨팅 디바이스를 통해 액세스 가능한 제안 모듈을 통해 제안 컨텐츠를 수신하는데 사용할 수 있음을 나타내는 비-구두 제스처를 수행했는지 결정하는 단계를 포함하는, 하나 이상의 프로세서에 의한 구현 방법.
  28. 제23항에 있어서,
    상기 보조 컴퓨팅 디바이스는 한 쌍의 이어버드이고,
    상기 오디오 데이터는 한 쌍의 이어버드 중 적어도 하나의 이어버드의 오디오 입력 인터페이스를 통해 캡처되는, 하나 이상의 프로세서에 의한 구현 방법.
  29. 제23항에 있어서,
    상기 보조 컴퓨팅 디바이스는 컴퓨터화된 안경이고, 상기 오디오 데이터는 컴퓨터화된 안경의 오디오 입력 인터페이스를 통해 캡처되며, 그리고
    상기 출력은 컴퓨터화된 안경의 디스플레이 인터페이스를 통해 렌더링되는, 하나 이상의 프로세서에 의한 구현 방법.
  30. 제23항에 있어서,
    컴퓨팅 디바이스를 통해 액세스 가능한 정보가 오디오 데이터에 의해 특징지어진 컨텐츠의 일부에 응답한다고 결정하는 단계는,
    하나 이상의 트레이닝된 기계 학습 모델을 사용하여 오디오 데이터를 처리하는 것에 기초하여, 컨텐츠의 일부에 해당하는 질의 유형에 응답할 때 상기 정보가 하나 이상의 다른 사용자가 이전에 활용한 정보의 엔티티 유형에 해당하는지 결정하는 단계를 포함하는, 하나 이상의 프로세서에 의한 구현 방법.
  31. 제23항에 있어서,
    컨텍스트의 하나 이상의 특징이 보조 컴퓨팅 디바이스를 통해 사용자에게 정보를 렌더링하기 위한 하나 이상의 조건을 만족하지 않는 것으로 결정된 경우:
    컴퓨팅 디바이스에 의해, 보조 컴퓨팅 디바이스의 인터페이스가 사용자를 위한 정보를 특징짓는 출력 렌더링을 바이패스하게 하는 단계를 더 포함하는, 하나 이상의 프로세서에 의한 구현 방법.
  32. 제23항에 있어서,
    상기 보조 컴퓨팅 디바이스에 의해 캡처된 음성 발언의 오디오 데이터를 처리하는 단계는,
    자연어 컨텐츠 데이터를 사용하여 트레이닝된 트랜스포머 신경망 모델을 사용하여 오디오 데이터를 처리하는 단계를 포함하는, 하나 이상의 프로세서에 의한 구현 방법.
  33. 하나 이상의 프로세서에 의한 구현 방법으로서, 상기 방법은,
    사용자의 컨텍스트의 하나 이상의 특징이 사용자로부터의 직접적인 요청 없이 보조 컴퓨팅 디바이스를 통해 사용자에게 정보를 렌더링하기 위한 하나 이상의 조건을 만족하는지 결정하는 단계 - 보조 컴퓨팅 디바이스는 컨텍스트에서 사용자가 착용하고 있는 웨어러블 디바이스이고, 컨텍스트의 하나 이상의 특징은 사용자 또는 다른 사람이 기억력 부족을 보이고 있음을 나타냄 - 와;
    하나 이상의 조건을 만족하는 컨텍스트의 하나 이상의 특징에 기초하여, 보조 컴퓨팅 디바이스의 하나 이상의 입력 인터페이스를 통해 보조 컴퓨팅 디바이스에 의해 캡처된 하나 이상의 입력을 특징짓는 입력 데이터를 처리하는 단계와;
    입력 데이터의 처리에 기초하여, 보조 컴퓨팅 디바이스를 통해 액세스 가능한 특정 정보가 입력 데이터에 의해 특징지어진 컨텐츠의 일부에 응답하는지 결정하는 단계와; 그리고
    보조 컴퓨팅 디바이스의 출력 인터페이스가 특정 정보를 특징짓는 출력을 사용자를 위해 렌더링하게 하는 단계를 포함하는, 하나 이상의 프로세서에 의한 구현 방법.
  34. 제33항에 있어서,
    상기 보조 컴퓨팅 디바이스는 컴퓨터화된 안경을 포함하고, 그리고
    상기 출력은 컴퓨터화된 안경의 그래픽 사용자 인터페이스(GUI)를 통해 렌더링되는, 하나 이상의 프로세서에 의한 구현 방법.
  35. 제34항에 있어서,
    상기 하나 이상의 입력은 보조 컴퓨팅 디바이스의 카메라를 통해 캡처된 컨텍스트의 이미지를 포함하는, 하나 이상의 프로세서에 의한 구현 방법.
  36. 제33항에 있어서,
    상기 보조 컴퓨팅 디바이스는 한 쌍의 이어버드를 포함하고, 그리고
    상기 출력은 한 쌍의 이어버드 중 하나 이상의 이어버드의 오디오 인터페이스를 통해 렌더링되는, 하나 이상의 프로세서에 의한 구현 방법.
  37. 제33항에 있어서,
    상기 컨텍스트의 하나 이상의 특징은 보조 컴퓨팅 디바이스의 오디오 인터페이스에 의해 캡처된 가청 디스플루언시를 포함하는, 하나 이상의 프로세서에 의한 구현 방법.
  38. 하나 이상의 프로세서에 의한 구현 방법으로서, 상기 방법은,
    보조 컴퓨팅 디바이스에 의해, 보조 컴퓨팅 디바이스의 출력 인터페이스가 사용자의 현재 컨텍스트에서 사용자에 의해 활용될 수 있는 정보를 특징짓는 출력을 렌더링하도록 하는 단계와;
    보조 컴퓨팅 디바이스가 출력을 렌더링하는 동안, 사용자가 보조 컴퓨팅 디바이스로부터의 출력에 포함된 정보의 일부를 구현하는 음성 발언을 제공했는지 여부를 결정하는 단계와;
    사용자가 정보의 적어도 일부를 구현하는 음성 발언을 제공한 것으로 결정되는 경우:
    보조 컴퓨팅 디바이스의 출력 인터페이스가 정보를 특징짓는 출력의 렌더링을 일시 중지하도록 하는 단계, 및
    사용자가 더 이상 음성 발언을 제공하지 않는 경우, 보조 컴퓨팅 디바이스의 출력 인터페이스가 정보의 다른 부분을 구현하는 추가 출력의 렌더링을 재개하도록 하는 단계와; 그리고
    사용자가 정보의 적어도 일부를 구현하지 않는 다른 음성 발언을 제공한 것으로 결정되는 경우, 보조 컴퓨팅 디바이스의 출력 인터페이스가 상기 정보를 특징짓는 출력의 렌더링을 중지하도록 하는 단계를 포함하는, 하나 이상의 프로세서에 의한 구현 방법.
  39. 제38항에 있어서,
    출력 인터페이스가 출력을 렌더링하기 전에, 사용자의 현재 컨텍스트에서 가청 사운드에 해당하는 오디오 데이터를 처리하는 단계를 더 포함하고,
    상기 오디오 데이터를 처리하는 단계는 사용자의 음성에 해당하지 않는 특정 가청 사운드를 필터링하는 단계를 포함하는, 하나 이상의 프로세서에 의한 구현 방법.
  40. 제38항에 있어서,
    사용자의 현재 컨텍스트에 기초하여 임베딩 데이터를 생성하는 단계를 더 포함하고,
    상기 출력 인터페이스가 출력을 렌더링하게 하는 단계는 임베딩 데이터가 잠재 공간의 특정 임베딩으로부터의 임계 거리인 임베딩에 대응할 때 수행되는, 하나 이상의 프로세서에 의한 구현 방법.
  41. 제40항에 있어서,
    상기 잠재 공간의 특정 임베딩은,
    사용자와 하나 이상의 애플리케이션 사이의 이전 상호작용과 연관된 개인 지식 그래프에 기초하는, 하나 이상의 프로세서에 의한 구현 방법.
  42. 제40항에 있어서,
    상기 잠재 공간의 특정 임베딩은,
    하나 이상의 다른 사용자와 하나 이상의 다른 애플리케이션 사이의 이전 상호작용과 연관된 공공 지식 그래프에 기초하는, 하나 이상의 프로세서에 의한 구현 방법.
  43. 제38항에 있어서,
    출력 인터페이스가 출력을 렌더링하기 전에, 자연어 컨텐츠를 사용하여 트레이닝된 트랜스포머 신경망 모델을 사용하여 컨텐츠 데이터를 처리하는 단계를 더 포함하고,
    상기 컨텐츠 데이터는 사용자의 현재 컨텍스트에서 가청 사운드를 특징짓고, 그리고
    상기 출력은 컨텐츠 데이터의 처리에 기초하는, 하나 이상의 프로세서에 의한 구현 방법..
  44. 컴퓨팅 시스템의 하나 이상의 프로세서에 의해 실행될 때 컴퓨팅 시스템으로 하여금 임의의 선행하는 항의 방법을 수행하게 하는 명령들을 포함하는 컴퓨터 프로그램.
  45. 제1항 내지 제43항 중 어느 한 항의 방법을 수행하도록 구성된 컴퓨팅 시스템.
  46. 제45항에 있어서,
    상기 컴퓨팅 시스템은 보조 디바이스 및/또는 그 보조 디바이스와 별개이지만 이와 통신하는 클라이언트 디바이스를 포함하는 컴퓨팅 시스템.
  47. 제46항에 있어서,
    상기 클라이언트 디바이스는 스마트폰인, 컴퓨팅 시스템.
KR1020247015710A 2021-11-09 음성 발언 완료를 위한 연속 컨텐츠의 선택적 생성 및/또는 선택적 렌더링 KR20240089626A (ko)

Publications (1)

Publication Number Publication Date
KR20240089626A true KR20240089626A (ko) 2024-06-20

Family

ID=

Similar Documents

Publication Publication Date Title
US11817080B2 (en) Using corrections, of predicted textual segments of spoken utterances, for training of on-device speech recognition model
US11017766B2 (en) Automatically determining language for speech recognition of spoken utterance received via an automated assistant interface
KR102523982B1 (ko) 자동화된 어시스턴트를 호출하기 위한 다이내믹 및/또는 컨텍스트-특정 핫 워드
US20230074406A1 (en) Using large language model(s) in generating automated assistant response(s
US11289085B2 (en) Automatic turn delineation in multi-turn dialogue
KR102438671B1 (ko) 텍스트 독립 화자 인식
US11568878B2 (en) Voice shortcut detection with speaker verification
EP4169015A1 (en) Using large language model(s) in generating automated assistant response(s)
WO2019026617A1 (ja) 情報処理装置、及び情報処理方法
US11756538B1 (en) Lower latency speech processing
US20240055003A1 (en) Automated assistant interaction prediction using fusion of visual and audio input
US11557293B2 (en) Contextual suppression of assistant command(s)
KR20240089626A (ko) 음성 발언 완료를 위한 연속 컨텐츠의 선택적 생성 및/또는 선택적 렌더링
KR20230005966A (ko) 거의 일치하는 핫워드 또는 구문 검출
CN118235197A (zh) 选择性生成和/或选择性渲染用于所说出话语完成的延续内容
WO2023086075A1 (en) Selectively generating and/or selectively rendering continuing content for spoken utterance completion
US11756533B2 (en) Hot-word free pre-emption of automated assistant response presentation
US11924150B2 (en) System(s) and method(s) for enabling a representative associated with an entity to modify a trained voice bot associated with the entity
US20230230578A1 (en) Personalized speech query endpointing based on prior interaction(s)
KR20230153450A (ko) 자동 스피치 인식의 로컬 실행을 위한 디바이스 중재