KR20230023832A - 자동화된 어시스턴트를 호출하기 위한 다이내믹 및/또는 컨텍스트 특정 핫워드 - Google Patents

자동화된 어시스턴트를 호출하기 위한 다이내믹 및/또는 컨텍스트 특정 핫워드 Download PDF

Info

Publication number
KR20230023832A
KR20230023832A KR1020237004456A KR20237004456A KR20230023832A KR 20230023832 A KR20230023832 A KR 20230023832A KR 1020237004456 A KR1020237004456 A KR 1020237004456A KR 20237004456 A KR20237004456 A KR 20237004456A KR 20230023832 A KR20230023832 A KR 20230023832A
Authority
KR
South Korea
Prior art keywords
user
automated assistant
listening state
attributes
hot words
Prior art date
Application number
KR1020237004456A
Other languages
English (en)
Other versions
KR102599607B1 (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 KR20230023832A publication Critical patent/KR20230023832A/ko
Application granted granted Critical
Publication of KR102599607B1 publication Critical patent/KR102599607B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • 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/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/24Speech recognition using non-acoustical features
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Abstract

자동화된 어시스턴트를 호출하기 위해 "다이내믹" 또는 "컨텍스트-특정" 핫워드의 사용을 가능하게 하는 기술이 설명된다. 다양한 구현예에서, 자동화된 어시스턴트는 사용자의 컴퓨팅 장치(들)의 적어도 일부에서 기본 리스닝 상태로 실행될 수 있다. 기본 리스닝 상태인 동안, 마이크로폰을 통해 캡처된 오디오 데이터가 기본 핫워드에 대해 모니터링될 수 있다. 기본 핫워드의 검출은 자동화된 어시스턴트를 음성 인식 상태로 전환시킨다. 사용자의 속성을 결정하기 위하여, 컴퓨팅 장치(들)에 통합된 하드웨어 센서(들)에 의하여 생성된 센서 신호(들)가 검출 및 분석될 수 있다. 그 분석에 기초하여, 자동화된 어시스턴트는 향상된 핫워드(들)에 대해 오디오 데이터가 모니터링 될 수 있도록 향상된 리스닝 상태로 전환될 수 있다. 향상된 핫워드의 검출은, 자동화된 어시스턴트로 하여금 기본 핫워드를 검출할 필요 없이 응답 동작을 수행하도록 트리거한다.

Description

자동화된 어시스턴트를 호출하기 위한 다이내믹 및/또는 컨텍스트 특정 핫워드{DYNAMIC AND/OR CONTEXT-SPECIFIC HOT WORDS TO INVOKE AUTOMATED ASSISTANT}
본 발명은 자동화된 어시스턴트를 호출하기 위한 다이내믹 및/또는 컨텍스트 특정 핫워드의 사용을 가능하게 하는 방법 및 시스템에 관한 것이다.
본 명세서에서 사람은 "자동화된 어시스턴트"(또, "챗봇", "인터랙티브 퍼스널 어시스턴트", "지능형 퍼스널 어시스턴트", " 퍼스널 보이스 어시스턴트", "대화형 에이전트들", “가상 어시스턴트들”로도 지칭됨)로 지칭되는 인터랙티브 소프트웨어 어플리케이션과 사람 컴퓨터 간 다이어로그(대화, dialogs)에 참여할 수 있다. 예를 들어, 사람(자동화된 어시스턴트와 인터랙션할 때는 "사용자"로 지칭될 수 있음)은 일부는 텍스트로 변환되고 프로세싱되는 음성 발화들을 포함할 수 있는 자유 형식 자연어 입력을 사용하거나 그리고/또는 타이핑된 자유 형식 자연어 입력을 제공함으로써, 자동화된 어시스턴트에 커맨드, 질의, 및/또는 요청(본 명세서에서는 통칭하여 “쿼리(queries)”로 지칭될 수 있음)을 제공할 수 있다.
많은 예들에서, 자동화된 어시스턴트가 사용자의 요청을 해석하여 응답하려면 먼저 예를 들어 종종 “핫워드” 또는 “웨이크 워드”로 지칭되는 미리정의된 구두 호출 문구(oral invocation phrases)를 사용하여 "호출(invoked)"되어야 한다. 따라서, 다수의 자동화된 어시스턴트는 본 명세서에서 지칭되는 "제한된 핫워드 리스닝 상태" 또는 "기본 리스닝 상태"에서, 마이크로폰을 통해 샘플링된 오디오 데이터가 제한된(또는 유한의, 또는 “디폴트”) 세트에 대해 항상 “리스닝”하도록 동작한다. 그 외에 오디오 데이터에서 캡처된 모든 발화는 무시된다. 일단 자동화된 어시스턴트가 핫워드의 기본 세트 중 하나 이상을 통해 호출되면, 본 명세서에서 지칭되는 "음성 인식 상태"로 동작할 수 있고, 자동화된 어시스턴트는 호출 후 적어도 일정 시간 간격 동안 사용자의 의도를 결정하기 위해(또 해당 의도를 만족시키기 위해) 의미론적으로 처리되도록, 마이크로폰에 의해 샘플링된 오디오 데이터에 대한 음성-텍스트(“STT”) 처리를 수행하여 텍스트 입력을 생성하게 한다.
기본 리스닝 상태에서 자동화된 어시스턴트를 작동하는 것은 다양한 장점을 제공한다. "리스닝"되는 핫워드의 개수를 제한하면 전력 및/또는 컴퓨팅 리소스를 절약할 수 있다. 예를 들어, 온-디바이스 머신 러닝 모델은 하나 이상의 핫워드가 검출되는 시점을 가리키는 출력을 생성하도록 훈련될 수 있다. 이러한 모델을 구현하는 것은 최소한의 컴퓨팅 리소스 및/또는 전력만 요구할 수 있으므로, 특히 리소스가 제한된 어시스턴트 디바이스들에 유용하다. 또 이와 같이 학습된 모델을 클라이언트 장치에 로컬로 저장하는 것은 개인 정보 보호와 관련된 장점도 제공한다. 예를 들어, 대부분의 사용자는 자동화된 어시스턴트를 작동하는 컴퓨팅 장치가 이어샷(earthot) 범위 내에서 사용자가 발화한 모든 내용에 대해 STT 처리가 수행되기를 원하지는 않는다. 추가적으로, 온-디바이스 모델은 자동화된 어시스턴트를 통해 처리할 의도가 없는 사용자 발화을 나타내는 데이터가 시맨틱 프로세서(semantic processor)에 제공되어 종종 클라우드에서 부분적으로 작동하는 것도 방지한다.
이러한 장점과 함께, 제한된 핫워드 리스닝 상태에서 자동화된 어시스턴트를 작동하는 것은 다양한 문제를 야기하기도 한다. 자동화된 어시스턴트의 비의도적인 호출을 방지하기 위해, 핫워드는 일반적으로 일상 대화에서 자주 사용되지 않는 단어나 구문(예를 들어, "롱테일(long tail)" 단어 또는 구문)으로 선택된다. 하지만, 많은 시나리오들에서 몇몇 동작을 수행하기 위해 자동화된 어시스턴트를 호출하기 전 사용자가 롱테일 핫워드를 발화하도록 요구하는 것이 번거롭고 복잡할 수 있다. 일부 자동화된 어시스턴트는 사용자가 명령을 내린 후 "계속 리스닝(continued listening)" 모드의 옵션을 제공 할 수 있고, 그러한 경우 후속 명령을 수행하기 전에 자동화된 어시스턴트를 핫워드로 "다시깨우기(reawaken)"할 필요가 없다. 그러나, 자동화된 어시스턴트를 계속 리스닝 모드로 전환하는 것은 자동화된 어시스턴트가 훨씬 더 많은 발화들에 대해 훨씬 더 많은 STT 처리를 수행하게 하고 잠재적으로는 전력 및/또는 컴퓨팅 리소스를 낭비할 수 있음을 의미한다. 또한 위에서 언급한 바와 같이, 대부분의 사용자는 자동화된 어시스턴트가 지정된 발화만 STT 처리하기를 선호한다.
본 명세서에서는 자동화된 어시스턴트를 위해 “다이내믹" 핫워드의 사용을 가능하게 하는 기술을 설명한다. 다양한 상황에서, 본 명세서에서 선택된 양상들로 구성된 자동화된 어시스턴트는 때로는 "향상된" 핫워드 세트로 지칭되며, 이는 특정 컨텍스트 특정 핫워드 보다 지능적일 수 있다. 다양한 구현예에서, 자동화된 어시스턴트는 자동화된 어시스턴트를 호출하는데 사용되는 기본 핫워드에 추가하여 또는 대신하여 이러한 컨텍스트 특정 핫워드를 리스닝할 수 있다. 다시 말해, 다양한 구현예에서, 본 명세서에 개시된 선택된 양상들로 구성된 자동화된 어시스턴트는 특정 상황에서 적어도 일시적으로 핫워드의 어휘를 확장하거나 변경할 수 있다.
다양한 구현예에서, 다이내믹 핫워드는 예를 들어 사용자가 어시스턴트 디바이스에 충분히 근접해 있거나 또는 사용자가 외모, 음성, 및/또는 기타 식별가능한 특징을 기반으로 인식되는 것과 같이 다양한 상황에서 선택적으로 활성화될 수 있다. 여기서 기타 식별가능한 특징으로 예를 들어 RFID 배지, 시각적 표시(visual indicia), 유니폼, 재능, 사용자의 크기(사용자가 성인임을 나타낼 수 있는 사이즈), 사용자가 구두 및/또는 통상의 사용자 입력들(예를 들어, 마우스, 터치스크린 등) 등에 의한 의사소통능력에 영향을 미치는 신체적 결함이 포함될 수 있다.
예로서, 몇몇 구현예에서, 예를 들어 자동화된 어시스턴트를 사용할 수 있는 컴퓨팅 장치의 정해진 근접거리 내의 근접 센서에 의해 사용자가 감지되면, 하나 이상의 추가 핫워드가 활성화되어 근접한 사용자가 자동화된 어시스턴트를 더 쉽게 호출할 수 있다. 몇몇 구현예에서는, 사용자가 어시스턴트 디바이스에 가까울수록 더 많은 다이내믹 핫워드가 활성화될 수 있다. 예를 들어, 어시스턴트 디바이스로부터 3 미터 이내에서 감지된 사용자는 다이내믹 핫워드의 제 1 세트를 활성화할 수 있다. 예를 들어, 사용자가 1 미터 이내와 같이 더 가까운 거리에서 감지되면 추가 또는 대체 핫워드가 활성화될 수 있다.
또 다른 예로, 몇몇 구현예에서는, 사용자가 수동으로 선택 또는 입력한 핫워드와 같이 사용자와 연관된(예를 들어, 커스텀(custom)) 하나 이상의 다이내믹 핫워드가 다운로드 및/또는 "활성화” 될 수 있다. 사용자는 자동화된 어시스턴트를 호출하기 위해 일반적으로 사람들이 사용하는 기본 핫워드 세트 중 하나 이상을 발화하지 않고, 커스텀 핫워드 중에서 하나 이상을 발화할 수 있다.
몇몇 구현예에서는, 근접과 인지의 몇몇 조합에 기초하여 다이내믹 핫워드가 활성화 될 수 있다. 이는 소음이 많거나 혼잡한 환경에서 특히 유용할 수 있다. 예를 들어, 그러한 환경에 있는 임의의 다른 사람이 비교적 표준화될 수 있는 기본 핫워드를 사용하여 자동화된 어시스턴트와 상호 작용하려 할 수 있다. 자동화된 어시스턴트가 다른 사람에 의해 비의도적으로 활성화되는 것을 방지하기 위해, 사용자가 어시스턴트 디바이스에 충분히 가까이 있고(예를 들어, 스마트 폰을 들고 있거나 스마트 워치를 착용한 경우, 예를 들어 스냅 또는 파스너가 맞물린 것을 감지하여 향상된 핫워드 세트의 활성화가 트리거될 수 있음) 인식된 경우, 자동화된 어시스턴트는 표준 또는 기본 핫워드의 리스닝을 중단하고 대신 특정 사용자에게 맞춤화된 커스텀 핫워드를 리스닝할 수 있다. 대안적으로, 자동화된 어시스턴트는 기본 핫워드를 계속 리스닝할 수도 있지만, 커스텀 핫워드와 관련된 임계값을 활성화하거나 낮추어서 기본 핫워드 기반의 호출시 요구되는 임계값의 신뢰를 높일 수 있다.
다른 예로서, 몇몇 구현예에서, 다이내믹 핫워드는 사람들의 그룹(예를 들어, 직원, 성별, 연령 범위, 시각적 특성을 공유하는 것 등)과 연관될 수 있으며, 이들 중 하나 이상의 사람이 감지되거나 그리고/또는 인식되면 활성화 될 수 있다. 예를 들어, 한 그룹의 사람들은 시각적 특성을 공유할 수 있다. 몇몇 구현예에서, 이러한 시각적 특성 중 하나 이상이 어시스턴트 디바이스의 하나 이상의 하드웨어 센서에 의해 검출된 경우, 해당 그룹의 구성원이 아닌 사람은 사용할 수 없는 하나 이상의 다이내믹 핫워드가 활성화될 수 있다.
핫워드는, 자동화된 어시스턴트에 의해 또는 그를 대신하여 다양한 방식으로 검출될 수 있다. 몇몇 구현예에서, 신경망과 같은 머신 러닝 모델은 오디오 데이터 스트림에서 하나 이상의 핫워드에 대해 정렬된 또는 정렬되지 않은 시퀀스를 검출하도록 학습될 수 있습니다. 그러한 몇몇 구현예에서는, 각각의 적용가능한 핫워드(또는 다수의 핫워드를 포함하는 "핫 문구(hot phrase)")에 대해 개별 머신 러닝 모델이 학습될 수 있다.
몇몇 구현예에서, 이러한 다이내믹 핫워드를 검출하기 위해 필요에 따라 학습된 머신 러닝 모델이 다운로드 될 수 있다. 예를 들어, 특정 사용자는 예를 들어 사용자가 캡처한 하나 이상의 이미지에 대해 수행된 얼굴 인식 처리나 사용자의 음성으로부터 생성된 오디오 데이터에 대해 수행된 음성 인식 처리에 기초하여 식별된다고 가정하자. 이러한 모델이 아직 장치에서 사용할 수 없다면 예를 들어 사용자의 온라인 프로필에 기초하여 클라우드로부터 다운로드될 수 있다.
몇몇 구현예에서, 사용자 경험을 개선하고 대기시간을 감소시키기 위해, 컨텍스트 특정 핫워드의 검출시 자동화된 어시스턴트에 의해 수행되는 응답 동작이 자동화된 어시스턴트를 사용하는 장치에 프리 캐시(pre-cached)될 수 있다. 이렇게 하면, 컨텍스트 특정 핫워드가 감지되는 즉시 자동화된 어시스턴트가 즉각 동작할 수 있다. 이는 자동화된 어시스턴트가 사용자 요청을 만족시키기 위해 하나 이상의 컴퓨팅 시스템(예를 들어, 클라우드)과 왕복 네트워크 통신을 수행해야하는 것과 대조적이다.
본 명세서에 설명된 기술은 다양한 기술적 장점들이 있다. 특정 상황에서 자동화된 어시스턴트를 호출하는데 사용할 수 있는 어휘를 적어도 일시적으로 확장하거나 변경하면, 자동화된 어시스턴트가 예를 들어 타이머 정지, 음악재생 중지 등과 같은 몇몇 컨텍스트 관련 동작을 수행하기 전 먼저 자동화된 어시스턴트를 호출해야하는 필요를 줄여줄 수 있다. 몇몇 기존의 어시스턴트 디바이스들은, 사용자가 자동화된 어시스턴트를 먼저 호출할 필요 없이 디바이스 표면의 활성부(예를 들어, 정전식 터치패드 또는 디스플레이)을 누르기만하면 쉽게 미디어 재생을 일시 중지하거나 타이머를 중지할 수 있다. 그러나, 사용자가 신체 장애가 있거나 그리고/또는 다른 작업을 수행하는 경우(예를 들어, 요리, 운전 등), 디바이스를 쉽게 터치하지 못할 수 있다. 따라서, 본 명세서에 설명된 기술은 이러한 사용자가 먼저 자동화된 어시스턴트를 호출하지 않고, 타이머 중지와 같은 몇몇 응답 동작을 쉽고 빠르게 수행할 수 있게 한다.
추가적으로, 본 명세서에 설명된 바와 같이, 몇몇 구현예에서, 자동화된 어시스턴트는 컨텍스트 특정 핫워드에 응답하는 컨텐츠를 사전에 다운로드할 수 있다. 예를 들어, 사용자가 "오늘 일기 예보는 어떻습니까? ", "일정이 무엇입니까?" 등과 같은 특정 요청들을 반복하는 경향이 있다고 가정하자. 이러한 요청들에 응답하는 정보가 사전에 다운로드되어 메모리에 캐시될 수 있고, 그 명령어(또는 그 일부)는 특정 다이내믹 핫워드를 활성화하는 데 사용될 수 있다.
결과적으로, 하나 이상의 핫워드가 발화되는 경우, 자동화된 어시스턴트는 자동화된 어시스턴트가 응답 정보를 획득하기 위해 먼저 하나 이상의 네트워크를 통해 하나 이상의 원격 리소스에 도달해야 하는 경우 보다, 응답 정보를 더 빠르게 제공할 수 있다. 이는, 데이터 네트워크(들)를 사용할 수 있는 영역의 내/외로 움직이는 차량 내에 어시스턴트 디바이스가 존재하는 경우에도 유용할 수 있다. 예를 들어 차량이 데이터 커버리지 영역에 있는 동안 특정(certain) 컨텍스트 특정 핫워드에 응답하는 콘텐츠를 사전에 다운로드하고 캐싱함으로써, 데이터 커버리지 영역을 벗어나서 움직이는 동안에도 사용자 요청시 데이터를 사용할 수 있다.
또 다른 예로, 본 명세서에 개시된 기술은 포괄적인 음성-텍스트("STT") 처리를 요구하지 않고 사용자가 응답 동작을 트리거할 수 있게 한다. 예를 들어, 특정 컨텍스트 호출 모델이 활성화되어 컨텍스트 특정 핫워드의 검출시, 사용자의 발화을 STT 처리하여 텍스트로 변환할 필요없이 이 모델의 출력에 기초하여 응답 동작(들)이 트리거될 수 있다. 이는 클라이언트 장치의 컴퓨팅 리소스를 보존할 수 있고 그리고/또는 사용자 발화의 STT 및/또는 시맨틱 처리(semantic processing)를 위한 클라우드 인프라와의 왕복 통신을 피함으로써 네트워크 리소스를 보존할 수 있다. 또한, 왕복 전송을 피하는 것은 시간 지연을 개선하며 사용자 프라이버시 관점에서 유리하거나 바람직할 수 있는 적어도 몇몇 데이터가 클라우드 인프라로 전송되는 것을 방지할 수 있다..
몇몇 구현예에서, 하나 이상의 프로세서에 의해 수행되는 방법은: 기본 리스닝 상태에서 자동화된 어시스턴트를 실행하는 단계 -여기서 자동화된 어시스턴트는 사용자에 의해 작동되는 하나 이상의 컴퓨팅 장치에서 적어도 부분적으로 실행됨; 기본 리스닝 상태인 동안, 하나 이상의 핫워드의 기본 세트 중 하나 이상에 대하여 하나 이상의 마이크로폰에 의해 캡처된 오디오 데이터를 모니터링하는 단계 -여기서 기본 세트의 핫워드 중 하나 이상의 검출은 자동화된 어시스턴트를 기본 리스닝 상태에서 음성 인식 상태로 전환하도록 트리거함- ; 하나 이상의 컴퓨팅 장치에 통합된 하나 이상의 하드웨어 센서에 의해 생성된 하나 이상의 센서 신호를 검출하는 단계; 사용자의 속성을 결정하기 위해 하나 이상의 센서 신호를 분석하는 단계; 분석에 기초하여, 자동화된 어시스턴트를 기본 리스닝 상태에서 향상된 리스닝 상태로 전환하는 단계; 및 향상된 리스닝 상태인 동안, 하나 이상의 핫워드의 향상된 세트 중 하나 이상에 대해 하나 이상의 마이크로폰에 의해 캡처된 오디오 데이터를 모니터링하는 단계를 포함하고, 여기서 향상된 세트의 핫워드 중 하나 이상의 검출은 자동화된 어시스턴트로 하여금 기본 세트의 핫워드 중 하나 이상을 검출할 필요 없이 응답 동작을 수행하게 하고, 향상된 세트의 핫워드 중 하나 이상은 기본 세트에는 존재하지 않는 것으로 제공된다.
본 명세서에 개시된 기술의 구현들 및 다른 구현들은 다음 특징 중 하나 이상을 선택적으로 포함할 수 있다.
다양한 구현예에서, 하나 이상의 하드웨어 센서는 근접 센서를 포함할 수 있고, 사용자의 속성은: 근접 센서에 의해 감지되는 사용자, 또는 하나 이상의 컴퓨팅 장치의 미리결정된 거리내의 근접 센서를 통해 감지되는 사용자의 속성을 포함할 수 있다.
다양한 구현예에서, 하나 이상의 하드웨어 센서는 카메라를 포함할 수 있다. 다양한 구현예에서, 사용자의 속성은: 카메라에 의해 검출되는 사용자, 또는 하나 이상의 컴퓨팅 장치의 미리결정된 거리내의 카메라를 통해 검출되는 사용자의 속성을 포함할 수 있다. 다양한 구현예에서, 분석하는 단계는 얼굴 인식 처리를 포함 할 수 있다. 다양한 구현예에서, 사용자의 속성은 사용자의 신원(identity)을 포함 할 수 있다. 다양한 구현예에서, 사용자의 속성은 그룹에서 사용자의 멤버쉽(membership)을 포함할 수 있다.
다양한 구현예에서, 하나 이상의 하드웨어 센서는 하나 이상의 마이크로폰을 포함할 수 있다. 다양한 구현예에서, 하나 이상의 속성은 하나 이상의 마이크로폰에 의해 생성된 오디오 데이터에 기초하여 청각적으로 검출되는 사용자를 포함할 수 있다. 다양한 구현예에서, 분석하는 단계는 음성 인식 처리를 포함할 수 있다. 다양한 구현예에서, 사용자의 속성은 사용자의 신원을 포함할 수있다. 다양한 구현예에서, 사용자의 속성은 그룹에서 사용자의 멤버쉽을 포함할 수 있다.
다양한 구현예에서, 응답 동작은 자동화된 어시스턴트를 음성 인식 상태로 전환하는 단계를 포함할 수 있다. 다양한 구현예에서, 응답 동작은 자동화된 어시스턴트가 향상된 세트의 핫워드 중 하나 이상을 사용하여 사용자가 요청한 작업을 수행하는 단계를 포함할 수 있다.
또한, 몇몇 구현예는 하나 이상의 컴퓨팅 장치의 하나 이상의 프로세서를 포함하며, 여기서 하나 이상의 프로세서는 연관된 메모리에 저장된 명령어를 실행하도록 동작할 수 있고, 명령어는 전술한 방법들 중 어느 하나를 수행하도록 구성된다. 또한, 몇몇 구현은 전술한 방법들 중 어느 하나를 수행하기 위해 하나 이상의 프로세서에 의하여 실행가능한 컴퓨터 명령어를 저장한 하나 이상의 비-일시적 컴퓨터 판독 가능 저장 매체를 포함한다.
전술한 개념 및 본 명세서에 더 상세히 설명된 추가 개념의 모든 조합은 본 명세서에 개시된 주제의 일부인 것으로 고려된다는 것을 이해해야한다. 예를 들어, 본 개시의 끝에 나타나는 청구된 주제의 모든 조합은 여기에 개시된 주제의 일부인 것으로 고려될 수 있다.
도 1은 본 명세서에 개시된 구현예들에서 구현될 수 있는 예시적 환경 블록도이다.
도 2는 본 명세서의 다양한 구현예들에 따라, 선택된 양상들로 구성된 자동화된 어시스턴트에 의하여 구현될 수 있는 상태 머신의 예시를 도시한다.
도 3A, 도 3B, 도 4A, 도 4B 및 도 5는 본 명세서에 개시된 기술이 사용될 수 있는 추가적인 예시 시나리오들을 도시한다.
도 6은 본 명세서에 개시된 구현예들에 따른 예시적 방법을 보여주는 흐름도를 도시한다.
도 7은 본 명세서에 개시된 구현예들에 따른 예시적 방법을 보여주는 흐름도를 도시한다.
도 8은 예시적 컴퓨터 시스템의 블록도이다.
이제 1을 참조하면, 도 1은 본 명세서에 개시된 기술이 구현될 수 있는 예시적 환경을 개시한다. 예시적 환경은 하나 이상의 클라이언트 컴퓨팅 장치(106)를 포함한다. 각 클라이언트 장치(106)는 여기서 자동화된 어시스턴트의 "클라이언트부"으로도 지칭될 수 있는 자동화된 어시스턴트 클라이언트(108)의 각각의 인스턴스를 실행할 수 있다. 또한, 여기서 총칭하여 자동화된 어시스턴트의 "서버부" 으로도 지칭되는 하나 이상의 클라우드 기반의 자동화된 어시스턴트 컴포넌트(119)는 하나 이상의 컴퓨팅 시스템(총칭하여 "클라우드" 컴퓨팅 시스템으로 지칭됨)에서 구현될 수 있는데, 일반적으로 114로 표시된 하나 이상의 로컬 및/또는 광역 네트워크(예를 들어, 인터넷)를 통해 클라이언트 장치(106)와 통신적으로 결합된다.
다양한 구현에서, 자동화된 어시스턴트 클라이언트(108)의 인스턴스는 하나 이상의 클라우드 기반의 자동화된 어시스턴트 컴포넌트(119)와의 상호 작용을 통해, 사용자의 관점에서, 사용자가 사람-컴퓨터 대화에 참여할 수 있는 자동화된 어시스턴트(120)의 논리적 인스턴스를 형성할 수 있다.
그러한 자동화된 어시스턴트(120)의 한 예가, 도 1에 점선으로 도시되어 있다. 따라서 클라이언트 장치(106)에서 실행되는 자동화된 어시스턴트 클라이언트(108)와 소통하는 각 사용자는, 사실상 자신의 자동화된 어시스턴트(120)의 논리적 인스턴스를 상대하고 있음을 이해해야 한다.
간결함과 단순함을 위해, 본 명세서에서 특정 사용자를 "서비스하는"것으로 사용되는 자동화된 어시스턴트라는 용어는 사용자에 의해 작동되는 클라이언트 장치(106)에서 실행되는 자동화된 어시스턴트 클라이언트(108)와 하나 이상의 클라우드 기반의 자동화된 어시스턴트 컴포넌트(119)의 조합을 지칭할 것이다. 또한 일부의 구현 예에서, 자동화된 어시스턴트(120)는 사용자가 자동화된 어시스턴트(120)의 특정 인스턴스에 의해 실제로 "서비스"를 받는지 여부에 관계없이 임의의 사용자로부터의 요청에 응답할 수 있다는 것임을 이해해야 한다.
하나 이상의 클라이언트 장치(106), 예를 들어 데스크톱 컴퓨팅 장치, 랩톱 컴퓨팅 장치, 태블릿 컴퓨팅 장치, 모바일 전화 컴퓨팅 장치, 사용자 차량의 컴퓨팅 장치(예: 차량용 통신 시스템, 차량용 엔터테인먼트 시스템, 차량용 내비게이션 시스템), 독립형 인터랙티브 스피커(일부 경우 비전(vision) 센서를 포함할 수 있음), 스마트 TV(또는 자동화된 어시스턴트 기능이 있는 네트워크 동글이 장착된 표준 텔레비전) 및/또는 컴퓨팅 장치를 포함하는 사용자의 웨어러블 장치(예: 컴퓨팅 장치가 있는 사용자의 워치, 컴퓨팅 장치가 있는 사용자의 글래스, 가상 또는 증강 현실 컴퓨팅 장치)를 포함할 수 있다.
추가 및/또는 대체되는 클라이언트 컴퓨팅 장치가 제공될 수 있다. 독립형 인터랙티브 스피커(또는 "스마트 스피커")와 같은 일부 클라이언트 장치(106)는 주로 사용자와 자동화된 어시스턴트(120) 간의 대화를 용이하게 하도록 설계된 어시스턴트 장치의 형태를 취할 수 있다.
몇몇 구현예에서, 클라이언트 장치(106)는 하나 이상의 시야를 갖는 하나 이상의 비전 센서(107)를 구비할 수 있지만, 이것이 필수는 아니다. 비전 센서(들)(107)는 디지털 카메라, 수동 적외선 ("PIR") 센서, 입체 카메라, RGBd 카메라와 같이 다양하게 형성될 수 있다. 예를 들어 하나 이상의 비전 센서(107)는 이미지 캡처 모듈(111)에 사용되어 클라이언트 장치(106)가 배치된 환경의 이미지 프레임(정지 이미지 또는 비디오)을 캡처하기 위해 사용될 수 있다. 이러한 이미지 프레임은 이미지 프레임에 포함된 사용자 제공 시각적 큐(User-provided visual cue)를 검출하기 위해, 예를 들어 시각적 큐(visual cue) 모듈(1121)에 의해 분석 될 수 있다. 이러한 시각적 큐는 손 제스처, 특정 기준점을 향한 시선, 얼굴 표정, 사용자에 의해 미리정의된 움직임 등을 포함할 수 있지만 이에 제한되지 않는다. 감지된 시각적 큐는 자동화된 어시스턴트(120) 호출 및/또는 자동화된 어시스턴트(120)가 다양한 동작들을 유발하게 하는 등 다양한 목적으로 사용될 수 있다.
추가적으로 또는 대안적으로, 몇몇 구현예에서, 클라이언트 장치(106)는 하나 이상의 근접 센서(105)를 포함할 수 있다. 근접 센서(들)는 수동형 적외선( "PIR") 센서, 무선 주파수 인식( "RFID"), 주변의 다른 전자 부품에서 방출되는 신호(예를 들어, 근처의 사용자 클라이언트 장치에서 나오는 Bluetooth 신호, 디바이스에서 방출되는 고주파 또는 저주파 사운드 등)를 수신하는 컴포넌트 등과 같은 형태를 취할 수 있다. 추가적으로 또는 대안적으로, 비전 센서(107) 및/또는 마이크로폰(109)은 예를 들어 사용자가 근접한 것을 시각적 및/또는 청각적으로 감지하는 근접 센서로도 사용될 수 있다.
본 명세서에서 더 상세히 설명되는 바와 같이, 자동화된 어시스턴트(120)는 하나 이상의 클라이언트 장치(106)의 사용자 인터페이스 입력 및 출력 장치를 통해 하나 이상의 사용자와 사람-컴퓨터 대화 세션에 참여한다. 일부의 구현 예에서, 자동화된 어시스턴트(120)는 클라이언트 장치(106) 중 하나 이상의 사용자 인터페이스 입력 장치를 통해 사용자에 의해 제공되는 사용자 인터페이스 입력에 응답하여 사용자와 사람-컴퓨터 대화 세션에 참여할 수 있다. 이러한 구현에서, 사용자 인터페이스 입력은 명시적으로 자동화된 어시스턴트(120)로 연결된다. 예를 들어, 사용자는 자동화된 어시스턴트(120)가 타이핑된 텍스트를 능동적으로 듣거나 모니터링하도록 하기 위해 "OK, Assistant"또는 "Hey, Assistant"와 같은 미리 결정된 호출 문구를 구두로 제공(예를 들어, 타이핑, 말하기)할 수 있다. 추가적으로 또는 대안적으로, 일부 구현예에서, 자동화된 어시스턴트(120)는 하나 이상의 검출된 시각적 큐에 기초하여 단독으로 또는 구두 호출 문구와 조합하여 호출될 수 있다.
몇몇 구현예에서, 자동화된 어시스턴트(120)는 사용자 인터페이스 입력이 자동화된 어시스턴트(120)에 명시적으로 지시되지 않은 경우에도 사용자 인터페이스 입력에 응답하여 사람-컴퓨터 대화 세션에 참여할 수 있다. 예를 들어, 자동화된 어시스턴트(120)는 사용자 인터페이스 입력의 내용을 검사하고 사용자 인터페이스 입력에 존재하는 특정 용어에 응답하거나 그리고/또는 다른 단서에 기초하여 대화 세션에 참여할 수 있다. 다수의 구현 예로서, 자동화된 어시스턴트(120)는 음성 인식을 활용하여 사용자의 발화을 텍스트로 변환하고, 그 텍스트에 반응(예를 들어 검색 결과나 일반 정보의 제공)하거나, 하나 이상의 응답 동작(예를 들어 음악 재생, 게임 실행, 음식 주문 등)을 수행할 수 있다. 일부의 구현 예에서, 자동화된 어시스턴트(120)는 발화을 텍스트로 변환하지 않고 발화에 추가적으로 또는 대안적으로 응답할 수 있다. 예를 들어, 자동화된 어시스턴트(120)는 음성 입력을 임베딩, 엔티티(entity) 표현(음성 입력에 존재하는 엔티티/엔티티들을 나타냄) 및/또는 다른 "비텍스트" 표현으로 변환할 수 있으며, 그러한 비텍스트 표현으로 동작할 수 있다. 따라서 음성 입력으로부터 변환된 텍스트에 기초하여 동작하는 것으로 본 명세서에 설명된 구현은 추가적으로 및/또는 대안적으로 음성 입력에 대해 직접 및/또는 음성 입력의 다른 비텍스트 표현에 대해 동작할 수 있다.
클라우드 기반의 자동화된 어시스턴트 컴포넌트(119)를 운영하는 클라이언트 컴퓨팅 장치(106) 및 컴퓨팅 장치(들) 각각은, 데이터 및 소프트웨어 애플리케이션의 저장을 위한 하나 이상의 메모리, 데이터에 액세스하고 애플리케이션을 실행하기 위한 하나 이상의 프로세서, 및 네트워크를 통한 통신을 용이하게 하는 다른 컴포넌트를 포함할 수 있다. 클라이언트 컴퓨팅 장치(106) 및/또는 자동화된 어시스턴트(120)에 의해 수행되는 동작은 다수의 컴퓨터 시스템에 분산될 수 있다. 자동화된 어시스턴트(120)는 예를 들어 네트워크를 통해 서로 연결된 하나 이상의 위치에 있는 하나 이상의 컴퓨터에서 실행되는 컴퓨터 프로그램으로서 구현될 수 있다.
전술한 바와 같이, 다양한 구현에서, 클라이언트 장치(106)는 자동화된 어시스턴트 클라이언트(108) 또는 자동화된 어시스턴트(120)의 "클라이언트부"를 동작시킬 수 있다. 다양한 구현에서, 자동화된 어시스턴트 클라이언트(108)는 음성 캡처 모듈(110), 전술한 이미지 캡처 모듈(111), 시각적 큐 모듈(1121) 및/또는 호출 모듈(113)을 포함할 수 있다. 다른 구현에서, 음성 캡처 모듈(110), 이미지 캡처 모듈(111), 시각적 큐 모듈(1121), 및/또는 호출 모듈(113)의 하나 이상의 측면은 자동화된 어시스턴트 클라이언트(108)와 별도로, 예를 들어 하나 이상의 클라우드 기반의 자동화된 어시스턴트 컴포넌트(119)에 의해 구현될 수 있다. 예를 들어, 도 1에는 이미지 데이터에서 시각적 큐를 검출할 수 있는 클라우드 기반의 시각적 큐 모듈(1122)도 있다.
다양한 구현 예에서, 하드웨어 및 소프트웨어의 임의의 조합을 사용하여 구현될 수 있는 음성 캡처 모듈(110)은 사용자 발화(들)의 오디오 녹음을 캡처하기 위해, 마이크로폰(109) 또는 다른 압력 센서와 같은 하드웨어와 인터페이싱을 수행할 수 있다. 다양한 목적으로 이 오디오 녹음에 대한 다양한 유형의 처리가 수행될 수 있다. 일부의 구현 예에서, 하드웨어 또는 소프트웨어의 임의의 조합을 사용하여 구현될 수 있는 이미지 캡처 모듈(111)은 카메라(107)와 인터페이스하여 비전 센서(107)의 시야에 해당하는 하나 이상의 이미지 프레임(예 : 디지털 사진)을 캡처하도록 구성될 수 있다.
다양한 구현에서, 시각적 큐 모듈(1121)(및/또는 클라우드 기반의 시각적 큐 모듈 (1122))은 하드웨어 또는 소프트웨어의 임의의 조합을 사용하여 구현 될 수 있으며, 이미지 캡처 모듈(111)에 의해 제공되는 하나 이상의 이미지 프레임을 분석하여 하나 이상의 이미지 프레임에 걸쳐서, 또는 상기 하나 이상의 이미지 프레임 내에서 캡처된 하나 이상의 시각적 큐를 검출하도록 구성 될 수 있다. 시각적 큐 모듈(1121)은 시각적 큐를 검출하기 위해 다양한 기술을 사용할 수 있다. 예를 들어, 도 1에서, 시각적 큐 모듈(1121)은 시각적 큐 모델 데이터베이스(114)(예를 들어 클라우드와 같이, 클라이언트 장치(106)와 통합 및/또는 클라이언트 장치(106)로부터 원격으로 호스팅 될 수 있음)와 통신으로 결합된다. 시각적 큐 모델 데이터베이스(114)는, 예를 들어 이미지 프레임에서 검출된 사용자 제공의 시각적 큐를 나타내는 출력이 생성되도록 훈련된 하나 이상의 인공 지능(또는 기계 학습) 모델을 포함할 수 있다.
음성 캡처 모듈(110)은 앞서 언급 한 바와 같이, 예를 들어 마이크로폰(109)을 통해 사용자의 음성을 캡처하도록 구성 될 수 있다. 추가적으로 또는 대안적으로, 일부의 구현 예에서, 음성 캡처 모듈(110)은 캡처된 오디오를 텍스트 및/또는 다른 표현 또는 임베딩(embeddings)으로, 예를 들어 음성-텍스트("STT") 처리 기술을 사용하여 변환하도록 추가로 구성될 수 있다. 추가적으로 또는 대안적으로, 일부의 구현 예에서, 음성 캡처 모듈(110)은 예를 들어 하나 이상의 음성 합성기를 사용하여 텍스트를 컴퓨터 합성 음성으로 변환하도록 구성될 수 있다. 그러나 클라이언트 장치(106)는 컴퓨팅 리소스(예를 들어, 프로세서 사이클, 메모리, 배터리 등) 측면에서 상대적으로 제한될 수 있기 때문에, 클라이언트 장치(106)에 형성된 음성 캡처 모듈(110)은 한정된 수의 상이한 음성 문구, 특히 자동화된 어시스턴트(120)를 호출하는 문구를 텍스트로(또는 저차원 임베딩과 같은 다른 형태로) 변환하도록 구성될 수 있다. 다른 음성 입력은 클라우드 기반 텍스트 음성 변환("TTS") 모듈(116) 및/또는 클라우드 기반 STT 모듈(117)을 포함할 수 있는 클라우드 기반의 자동화된 어시스턴트 컴포넌트(119)로 전송 될 수 있다.
다양한 구현에서, 호출 모듈(113)은, 예를 들어 음성 캡처 모듈(110) 및/또는 시각적 큐 모듈(1121)에 의해 제공되는 출력에 기초하여 자동화된 어시스턴트(120)를 호출할지 여부를 결정하도록 구성될 수 있다(일부의 구현 예에서 단일 모듈 내의 이미지 캡처 모듈(111)과 결합될 수 있음). 예를 들어, 호출 모듈(113)은 사용자의 발화가, 자동화된 어시스턴트(120)와 사람-컴퓨터 대화 세션을 시작해야하는 호출 문구로서 자격이 있는지 여부를 결정할 수 있다. 일부의 구현 예에서, 호출 모듈(113)은 시각적 큐 모듈(1121)에 의해 검출된 하나 이상의 시각적 큐와 함께 오디오 녹음 또는 오디오 녹음으로부터 추출된 특징의 벡터(예를 들어, 임베딩)와 같은 사용자의 발화를 나타내는 데이터를 분석할 수 있다. 일부의 구현 예에서, 특정 시각적 큐가 검출될 때, 음성 발화에 응답하여 자동화된 어시스턴트(120)를 호출할지 여부를 결정하기 위해 호출 모듈(113)에 의해 사용되는 임계값이 낮아질 수 있다. 결과적으로, 사용자가 적절한 호출 문구 "OK assistant"와는 다르지만 음성학적으로 다소 유사한 음성 발화를 제공하더라도 시각적 큐(예: 화자가 손을 흔드는 경우, 화자가 비전 센서(107)를 직접 응시하는 등)와 함께 감지될 때 발화가 적절한 호출로 받아들여질 수 있다.
몇몇 구현예에서, 온-디바이스 호출 모델은 발화 및/또는 시각적 큐(들)가 호출로 적격한지 여부를 결정하기 위해 호출 모듈(113)에 의해 사용될 수 있다. 이러한 온-디바이스 호출 모델은 호출 문구/제스처의 변형을 감지하도록 훈련될 수 있다. 예를 들어, 일부의 구현 예에서, 온-디바이스 호출 모델(예를 들어 하나 이상의 신경망)은 사용자의 발화과 동시에 발화에 대한 오디오 녹음(또는 추출된 특징 벡터) 뿐만 아니라 캡처된 하나 이상의 이미지 프레임 및/또는 감지된 시각적 큐를 나타내는 데이터를 각각 포함하는 훈련 예제를 사용하여 훈련될 수 있다.
도 1에서, 온-디바이스 모델 데이터베이스(114)는 하나 이상의 온-디바이스 호출 모델(114I-114N)을 저장할 수 있다. 몇몇 구현예에서, 디폴트 온-디바이스 호출 모델(114I)은 오디오 녹음 또는 이를 나타내는 기타 데이터에서 예를 들어 이전에 언급된 것과 같은 하나 이상의 디폴트 호출 문구 또는 핫워드(들)(예를 들어, " OK Assistant", "Hey, Assistant" 등)를 검출하도록 학습될 수 있다. 이러한 몇몇 구현예에서, 이러한 모델은 항시 사용가능하며, 음성 캡처 모듈(110)에 의해(적어도 호출 후 일정 시간 동안) 캡처된 임의의 오디오 녹음을 후술되는 바와 같이 자동화된 어시스턴트(120)의 다른 컴포넌트(예를 들어, 클라이언트 장치(106)에서 또는 하나 이상의 클라우드 기반의 자동화된 어시스턴트 컴포넌트(119)에 의해)를 사용하여 처리할 수 있도록, 자동화된 어시스턴트(120)를 일반 리스닝 상태로 전환하는데 사용될 수 있다.
추가적으로, 몇몇 구현예에서, 온-디바이스 모델 데이터베이스(114)는 적어도 일시적으로 하나 이상의 추가 "컨텍스트 호출 모델"(1142-114N)을 저장할 수 있다. 특정 컨텍스트는 이러한 컨텍스트 호출 모델(1142-114N)이(예를 들어, 활성화된) 호출 모듈(113)에 의해 사용되거나 그리고/또는 호출 모듈(113)에서 사용가능하다. 컨텍스트 호출 모델(1142-114N)은 예를 들어 오디오 녹음 또는 이를 나타내는 기타 데이터에서 하나 이상의 컨텍스트 특정 핫워드를 검출하도록 IB 학습될 수 있다. 몇몇 구현예에서, 컨텍스트 호출 모델(1142-114N)은 이하에서 더 자세히 기술되는 바와 같이 예를 들어 클라우드 기반의 자동화된 어시스턴트 컴포넌트(119)의 일부를 형성하는 다이내믹 핫워드 엔진(128)으로부터 필요에 따라 선택적으로 다운로드될 수 있다.
다양한 구현예에서, 호출 모듈(113)이 컨텍스트 호출 모델(1142-114N)을 사용하여 다양한 다이내믹 핫워드를 검출할 때, 자동화 어시스턴트(120)를 앞서 설명한 일반 리스닝 상태로 전환시킬 수 있다. 추가적으로 또는 대안적으로, 호출 모듈(113)은 자동화된 어시스턴트(120)를 일반 리스닝 상태로 전환하는 것과 함께 또는 전환하지 않고 자동화된 어시스턴트(120)를 하나 이상의 컨텍스트 특정 응답 동작이 수행되는 컨텍스트 특정 상태로 전환할 수 있다. 많은 경우에, 자동화된 어시스턴트(120)를 컨텍스트 특정 상태로 전환하도록 트리거한 오디오 데이터는 클라우드로 전송되지 않을 수 있다. 대신, 하나 이상의 컨텍스트 특정 응답 동작이 클라이언트 장치(106)에서 전적으로 수행될 수 있으며, 이는 응답 시간 및 프라이버시 관점에서 유익하도록 클라우드로 전송되는 정보의 양 모두를 감소시킬 수 있다.
클라우드 기반의 텍스트 음성 변환(TTS) 모듈(116)(이하 TTS 모듈)은 텍스트 데이터(예를 들어, 자동화된 어시스턴트(120)에 의해 공식화된 자연어 응답)를 컴퓨터 생성 음성 출력으로 변환하기 위해 클라우드의 사실상 무한한 자원을 활용하도록 구성될 수 있다. 일부의 구현 예에서, 상기 TTS 모듈(116)은 예를 들어 하나 이상의 스피커를 사용하여 직접 출력되도록 컴퓨터 생성 음성 출력을 클라이언트 장치(106)에 제공할 수 있다. 다른 구현들에서, 자동화된 어시스턴트(120)에 의해 생성된 텍스트 데이터(예를 들어, 자연어 응답)는 음성 캡처 모듈(110)에 제공될 수 있으며, 이는 텍스트 데이터를 로컬로 출력되는 컴퓨터 생성 음성으로 변환될 수 있다.
클라우드-기반의 STT 모듈(117)은 사실상 클라우드의 리소스를 제한없이 활용하여 음성 캡처 모듈(110)에 의해 캡처된 오디오 데이터를 텍스트로 변환하도록 구성될 수 있고, 텍스트는 이후 의도 매칭기(135)에 제공될 수 있다. 몇몇 구현예에서, 클라우드-기반의 STT 모듈(117)은 발화의 오디오 녹음을 하나 이상의 음소로 변환한 다음, 하나 이상의 음소를 텍스트로 변환할 수 있다. 추가적으로 또는 대안적으로 몇몇 구현예에서, STT 모듈(117)은 상태 디코딩 그래프를 사용할 수 있다. 몇몇 구현예에서, STT 모듈(117)은 사용자 발화으로부터 복수의 후보 텍스트 해석을 생성할 수 있다. 몇몇 구현예에서, STT 모듈(117)은 동시에 검출된 시각적 큐가 존재하는지에 따라 특정 후보 텍스트 해석에 다른 것보다 더 높은 가중치를 부여하거나 편중시킬 수 있다.
자동화된 어시스턴트(120)(특히, 클라우드 기반의 자동화된 어시스턴트 컴포넌트(119))는 의도 매칭기(135), 전술한 TTS 모듈(116), 전술한 STT 모듈(117) 및 아래에서 더 상세히 설명되는 다른 컴포넌트를 포함할 수 있다. 일부의 구현 예에서, 자동화된 어시스턴트(120)의 모듈 및/또는 모듈 중 하나 이상이 생략, 결합 및/또는 자동화된 어시스턴트(120)와 별개인 컴포넌트에서 구현될 수 있다. 일부의 구현 예에서, 프라이버시를 보호하기 위해, 자연어 프로세서(122), TTS 모듈(116), STT 모듈(117) 등과 같은 자동화된 어시스턴트(120)의 구성 요소 중 하나 이상은 (예를 들어, 클라우드를 배제하기 위하여) 클라이언트 장치(106)에서 구현될 수 있다.
일부의 구현 예에서, 자동화된 어시스턴트(120)는 자동화된 어시스턴트(120)와의 사람-컴퓨터 대화 세션 동안 클라이언트 장치(106) 중 하나의 사용자에 의해 생성된 다양한 입력에 응답하여 응답 콘텐츠를 생성한다. 자동화된 어시스턴트(120)는 대화 세션의 일부로서 사용자에게 프리젠테이션을 위해(예를 들어, 사용자의 클라이언트 장치로부터 분리될 때 하나 이상의 네트워크를 통해) 응답 콘텐츠를 제공할 수 있다. 예를 들어, 자동화된 어시스턴트(120)는 클라이언트 장치(106)를 통해 제공되는 자유 형식 자연어 입력에 응답하여 응답 콘텐츠를 생성할 수 있다. 본 명세서에서 사용되는 바와 같이, 자유 형식 입력은 사용자에 의해 공식화되고 사용자가 선택하기 위해 제시된 옵션 그룹에 제한되지 않는 입력이다.
본 명세서에서 사용되는 바와 같이, "대화 세션"은 사용자와 자동화된 어시스턴트(120)(그리고 일부의 경우는 다른 참가자) 간에 하나 이상의 메시지를 논리적-독립 교환(logically-self-contained exchange)하는 것을 포함할 수 있다. 자동화된 어시스턴트(120)는 예를 들어 세션 간의 시간 경과, 세션 간의 사용자 컨텍스트(예를 들어, 위치, 예정된 미팅의 이전/수행동안/이후 등)의 변화, 사용자와 자동화된 어시스턴트 간의 대화 외에 사용자와 클라이언트 장치 사이에 하나 이상의 매개 인터랙션(예를 들어, 사용자가 잠시 애플리케이션을 전환한 후 자리를 비운 다음 나중에 독립형 음성 활성화 제품으로 복귀함)의 탐지, 세션 간의 클라이언트 장치의 잠금/슬립, 자동화된 어시스턴트(120)의 하나 이상의 인스턴스와 상호작용하기 위해 사용되는 클라이언트 장치의 변경 등과 같은 다양한 신호를 기반으로 사용자와의 다중 대화 세션을 구별할 수 있다.
의도 매칭기(135)는 사용자에 의해 제공되는 입력(들)(예를 들어, 음성 발화, 시각적 큐 등) 및/또는 센서 신호, 온라인 신호(예: 웹 서비스에서 얻은 데이터) 등에 기초하여 사용자의 의도를 결정하도록 구성될 수 있다. 일부의 구현 예에서, 의도 매칭기(135)는 자연어 프로세서(122) 및 전술한 클라우드 기반의 시각적 큐 모듈(1122)을 포함할 수 있다. 다양한 구현에서, 클라우드 기반의 시각적 큐 모듈(1122)은, 클라우드 기반의 시각적 큐 모듈(1122)이 더 많은 리소스를 가질 수 있다는 점을 제외하고는 시각적 큐 모듈(1121)과 유사하게 동작 할 수 있다. 특히, 클라우드 기반 시각적 큐 모듈(1122)은 사용자의 의도를 결정하기 위해, 의도 매칭기(135)에 의해 시각적 큐를 단독으로 또는 다른 신호와 결합하여 검출할 수 있다.
자연어 프로세서(122)는, 클라이언트 장치(106)를 통해 사용자(들)에 의해 생성된 자연어 입력을 처리하도록 구성될 수 있고, 자동화된 어시스턴트(120)의 하나 이상의 다른 구성 요소에 의해 사용하기 위해 주석이 달린 출력(예를 들어, 텍스트 형태)을 생성할 수 있다. 예를 들어, 자연어 프로세서(122)는 클라이언트 장치(106)의 하나 이상의 사용자 인터페이스 입력 장치를 통해 사용자에 의해 생성되는 자연어 자유 형식 입력을 처리할 수 있다. 생성된 주석이 달린 출력은, 자연어 입력의 하나 이상의 주석과 자연어 입력의 용어 중 하나 이상(예를 들어, 모두)을 포함한다.
몇몇 구현예에서, 자연어 프로세서(122)는 자연어 입력에서 다양한 유형의 문법 정보를 식별하고 주석을 달도록 구성된다. 예를 들어, 자연어 프로세서(122)는 개별 단어를 형태소로 분리하고 그리고/또는 예를 들어 그 클래스에 형태소 주석을 달 수 있는 형태소 모듈을 포함할 수 있다. 자연어 프로세서(122)는 또한 그들의 문법적 역할과 함께 용어에 주석을 달도록 구성된 음성 태거의 일부를 포함할 수 있다. 예를 들어, 품사 태거는 각 용어에 "명사", "동사", "형용사", "대명사"등과 같은 품사로 태그를 지정할 수 있다. 또한, 예를 들어, 일부의 구현 예에서 자연어 프로세서(122)는 자연어 입력에서 용어들 간의 구문 관계를 결정하도록 구성된 종속성 파서(parser)(도시되지 않음)를 추가 및/또는 대안적으로 포함할 수 있다. 예를 들어, 종속성 파서는 어떤 용어가, 다른 용어, 주제 및 문장의 동사 등(예 : 구문 분석 트리)을 수정하는지 결정할 수 있으며, 이러한 종속성에 대한 주석을 만들 수 있다.
몇몇 구현예에서, 자연어 프로세서(122)는 추가적으로 및/또는 대안적으로 사람(예 : 문학 인물, 셀러브리티, 유명인 등 포함), 조직, 위치(실제 및 가상) 등에 대한 참조와 같은 하나 이상의 세그먼트에서 엔티티 참조에 주석을 달도록 구성되는 엔티티 태거(tagger)(도시되지 않음)를 포함할 수 있다. 일부의 구현 예에서, 엔티티에 대한 데이터는 지식 그래프(도시되지 않음)와 같은 하나 이상의 데이터베이스에 저장될 수 있다. 일부의 구현 예에서, 지식 그래프는 노드를 연결하고 엔티티 간의 관계를 나타내는 에지(edge) 뿐만 아니라, 알려진 엔티티(및 일부 경우에 엔티티 속성)를 나타내는 노드를 포함할 수 있다. 예를 들어, "바나나"노드는 "과일" 노드에 (예를 들어, 자식(child)으로) 연결될 수 있으며, "생산" 및/또는 "음식" 노드에 (예를 들어, 차일드로서) 차례로 연결될 수 있다. 또 다른 예로, "Hypothetical Cafe"라는 레스토랑은 주소, 제공되는 음식 유형, 시간, 연락처 정보 등과 같은 속성도 포함하는 노드로 표현될 수 있다. "Hypothetical Cafe"노드는 일부의 구현 예에서 에지(예: 자식-부모 관계를 나타내는)에 의해 하나 이상의 다른 노드, 예를 들어 "레스토랑"노드, "비즈니스"노드, 상기 레스토랑이 위치한 도시 및/또는 주를 나타내는 노드 등에 연결될 수 있다.
자연어 프로세서(122)의 엔티티 태거는 높은 수준의 입도(예 : 사람과 같은 엔티티 클래스에 대한 모든 참조를 식별할 수 있도록 하기 위해) 및/또는 더 낮은 수준의 입도(예 : 특정 사람과 같은 특정 엔티티에 대한 모든 참조를 식별할 수 있도록 하기 위해)에서 개체에 대한 참조에 주석을 달 수 있다. 엔티티 태거는 특정 엔티티를 해결하기 위해 자연어 입력의 내용에 의존할 수 있다. 그리고/또는 특정 엔티티를 해결하기 위해 지식 그래프 또는 다른 엔티티 데이터베이스와 선택적으로 통신할 수 있다.
몇몇 구현예에서, 자연어 프로세서(122)는 추가적으로 및/또는 대안적으로 하나 이상의 컨텍스트 단서에 기초하여 동일한 엔티티에 대한 참조를 그룹화하거나 "클러스터"하도록 구성된 상호 참조 해석기(도시되지 않음)를 포함할 수 있다. 예를 들어, 상호 참조 해석기는 자연어 입력 "지난번에 그곳에서 먹었을 때 나는 Hypothetical Cafe가 좋았습니다"에서 "그곳"이라는 용어를 "Hypothetical Cafe"로 해석하는 데 활용될 수 있다.
몇몇 구현예에서, 자연어 프로세서(122)의 하나 이상의 컴포넌트는 자연어 프로세서(122)의 하나 이상의 다른 컴포넌트로부터의 주석에 의존할 수 있다. 예를 들어, 일부의 구현 예에서 명명된 엔터티 태거는 특정 엔터티에 대한 모든 언급들에 주석을 달 때 상호 참조 해석기 및/또는 종속성 파서의 주석에 의존할 수 있다. 또한, 예를 들어 일부의 구현 예에서 상호 참조 해석기는 동일한 엔티티에 대한 참조를 클러스터링할 때 종속성 파서의 주석에 의존할 수 있다. 일부의 구현 예에서, 특정 자연어 입력을 처리할 때, 자연어 프로세서(122)의 하나 이상의 구성 요소는 관련된 이전 입력 및/또는 하나 이상의 주석을 결정하기 위한 특정 자연어 입력이 아닌 관련된 다른 데이터를 사용할 수 있다.
의도 매칭기(135)는 사용자의 의도를 결정하기 위해 다양한 기술을 사용할 수있다. 예를 들어 자연어 프로세서(122)로부터의 출력(자연어 입력의 주석 및 용어를 포함할 수 있음)에 기초할 수 있다. 그리고/또는 시각적 큐 모듈(예 : 1121 및/또는 1122)로부터의 출력에 기초할 수 있다. 일부의 구현 예에서, 의도 매칭기(135)는, 예를 들어 문법, 시각적 큐 및 응답 동작(또는 보다 일반적 의도들) 사이의 복수의 매핑을 포함하는 하나 이상의 데이터베이스(도시되지 않음)에 액세스할 수 있다. 많은 경우에 이러한 문법은 시간이 지남에 따라 선택 및/또는 학습될 수 있으며 사용자의 가장 일반적인 의도를 나타낼 수 있다. 예를 들어, 하나의 문법, "play <artist>"는 <artist> 에 의해 사용자에 의해 작동되는 클라이언트 장치(106)에서 음악이 재생되게 하는 응답 동작을 호출하는 의도에 매핑될 수 있다. 또 다른 문법인 "[날씨 예보] 오늘"은 "오늘 날씨는 어때?", "오늘의 예보는 어때?"와 같은 사용자 질의와 매칭될 수 있다.
몇몇 구현예에서, 문법에 추가하여 또는 대신에, 의도 매칭기(135)는 단독으로 또는 하나 이상의 문법 및/또는 시각적 큐와 조합하여 하나 이상의 학습된 머신 러닝 모델을 사용할 수 있다.
이러한 학습된 머신 러닝 모델은 하나 이상의 데이터베이스에 저장될 수 있으며, 예를 들어 사용자의 발화 및/또는 감지된 사용자 제공의 시각적 큐를 나타내는 데이터를 축소된 차원 공간에 삽입하여 의도를 식별하도록 훈련될 수 있다. 예를 들어 유클리드 거리, 코사인 유사성 등과 같은 기술을 사용하여 어떤 다른 임베딩(그로 인한 의도)이 가장 근접한지 결정한다.
"play <artist>"예제 문법에서 볼 수 있듯이 일부 문법에는 슬롯 값(또는 "매개 변수")으로 채울 수 있는 슬롯(예 : <artist>)이 있다. 슬롯 값은 다양한 방식으로 결정될 수 있다. 종종 사용자는 사전에 슬롯 값을 제공한다. 예를 들어 "Order me a <topping> pizza"라는 문법의 경우 사용자는 "order me a sausage pizza"라는 문구를 말할 수 있으며, 이 경우 슬롯 <topping>이 자동으로 채워질 수 있다. 추가적으로 또는 대안적으로, 사용자가 사전에 슬롯 값을 제공하지 않고, 슬롯 값으로 채워질 슬롯을 포함하는 문법을 호출하는 경우, 자동화된 어시스턴트(120)는 사용자로부터 이러한 슬롯 값을 요청할 수 있다(예를 들어, "어떤 크러스트 타입의 피자를 원하십니까?"). 일부의 구현 예에서, 슬롯은 시각적 큐 모듈(1121-2)에 의해 검출된 시각적 큐에 기초한 슬롯 값으로 채워질 수 있다. 예를 들어, 사용자는 클라이언트 장치(106)의 시각 센서(107)에 손가락 세 개를 들고 "고양이 그릇 주문해줘"와 같은 발화를 할 수 있다. 또는 사용자가 특정 영화의 DVD 케이스를 들고 "이런 영화 더 찾아줘"와 같은 말을 할 수 있다.
몇몇 구현예에서, 자동화된 어시스턴트(120)는 사용자와 하나 이상의 서드 파티 컴퓨팅 서비스(140)(또는 "서드 파티 에이전트" 또는 "에이전트") 사이의 중개자 역할을 수행할 수 있다. 이러한 서드 파티 컴퓨팅 서비스(140)는 입력을 수신하고 응답 출력을 제공하는 독립적인 소프트웨어 프로세스일 수 있다. 일부 서드 파티 컴퓨팅 서비스는 예를 들어 클라우드 기반의 자동화된 어시스턴트 컴포넌트(119)를 작동하는 것과 별개인 컴퓨팅 시스템에서 작동하거나 그렇지 않은 서드 파티 애플리케이션의 형태를 취할 수 있다. 의도 매칭기(135)에 의해 식별될 수 있는 한 종류의 사용자 의도는 서드 파티 컴퓨팅 서비스(140)에 참여하는 것이다. 예를 들어, 자동화된 어시스턴트(120)는 스마트 장치를 제어하기 위한 서비스에 대한 애플리케이션 프로그래밍 인터페이스("API")에 대한 액세스를 제공할 수 있다. 사용자는 자동화된 어시스턴트(120)를 호출하고 "난방을 켜고 싶다"와 같은 명령을 제공할 수 있다. 의도 매칭기(135)는 이 명령을 자동화된 어시스턴트(120)가 서드 파티 서비스에 참여하도록 트리거하는 문법에 매핑하여 사용자의 난방이 켜지도록 할 수 있다. 서드 파티 서비스는 난방을 켜는 명령을 이행(또는 "해결")하기 위해 채워져야 하는 슬롯의 최소 목록을 자동화된 어시스턴트(120)에 제공할 수 있다. 이 예에서, 슬롯은 난방이 설정될 온도 및 난방이 켜질 기간을 포함할 수 있다. 자동화된 어시스턴트(120)는 슬롯에 대한 파라미터를 요청하는 자연어 출력을 생성하고 (클라이언트 장치(106)를 통해) 사용자에게 제공할 수 있다.
이행 모듈(124)은 의도 매칭기(135)에 의해 출력되는 예측/추정 의도 뿐만 아니라 연관된 슬롯 값(사용자에 의해 사전에 제공되거나 사용자로부터 요청됨)을 수신하고 그 의도를 이행(또는 "해결")하도록 구성될 수 있다. 다양한 구현에서, 사용자 의도의 이행(또는 "해결")은 다양한 이행 정보("응답" 정보 또는 "해결 정보"로도 지칭됨)가 예를 들어 이행 모듈(124)에 의해 생성/획득되도록 할 수 있다. 후술되는 바와 같이, 이행 정보는 일부의 구현 예에서 자연어 생성기(일부도에서 "NLG")(126)에 제공될 수 있으며, 자연어 생성기(126)는 이행 정보에 기초하여 자연어 출력을 생성할 수 있다.
이행(또는 "해결") 정보는 다양한 방식으로 의도를 이행(또는 "해결")할 수 있기 때문에 다양한 형태를 취할 수 있다. 사용자가 " '샤이닝(The Shining)' 야외 촬영은 어디에서 촬영 되었나요?"와 같은 순수한 정보를 요청한다고 가정한다. 사용자의 의도는 예를 들어 의도 매칭기(135)에 의해 검색 쿼리로 결정될 수 있다. 검색 쿼리의 의도 및 내용은, 도 1에 도시된 바와 같이, 응답 정보를 위해 문서 및/또는 다른 데이터 소스(예를 들어 지식 그래프 등)의 코퍼스(corpus)를 검색하도록 구성된 하나 이상의 검색 모듈(150)과 통신할 수 있는 이행 모듈(124)에 제공될 수 있다. 이행 모듈(124)은 검색 쿼리(예를 들어, 쿼리의 텍스트, 감소된 차원 임베딩 등)를 나타내는 데이터를 검색 모듈(150)에 제공할 수 있다. 검색 모듈(150)은 GPS 좌표와 같은 응답 정보 또는 "Timberline Lodge, Mt. Hood, Oregon"과 같은 보다 명시적인 다른 정보를 제공할 수 있다. 이 응답 정보는 이행 모듈(124)에 의해 생성된 이행 정보의 일부를 형성할 수 있다.
추가로 또는 대안적으로, 이행 모듈(124)은, 예를 들어, 자연어 이해 모듈(135)로부터, 사용자의 의도 및 사용자에 의해 제공되거나, 다른 수단(예를 들어, 사용자의 GPS 좌표, 사용자 선호도 등)을 사용하여 결정된 임의의 슬롯 값을 수신하도록 구성될 수 있으며, 응답 동작을 트리거한다. 응답 동작은 예를 들어 상품/서비스 주문, 타이머 시작, 리마인더 설정, 전화 통화 시작, 미디어 재생, 메시지 전송 등을 포함할 수 있다. 이러한 구현에서, 이행 정보는 이행과 연관된 슬롯 값, 확인 응답 (일부에서는 미리 결정된 응답으로부터 선택될 수 있음) 등을 포함할 수 있다.
자연어 생성기(126)는 다양한 소스로부터 획득된 데이터에 기초하여 자연어 출력(예를 들어, 인간의 음성을 모방하도록 설계된 단어/구문)을 생성 및/또는 선택하도록 구성될 수 있다. 일부의 구현 예에서, 자연어 생성기(126)는 입력으로서 의도의 이행과 관련된 이행 정보를 수신하고 이행 정보에 기초하여 자연어 출력을 생성하도록 구성될 수 있다. 추가적으로 또는 대안적으로, 자연어 생성기(126)는 서드 파티 애플리케이션과 같은 다른 소스로부터 정보 (예를 들어, 필요한 슬롯)를 수신할 수 있고, 이는 사용자를 위한 자연어 출력을 구성하는 데 사용할 수 있다.
도 2는 다양한 구현에 따라 본 명세서에서 선택된 양상들로 구성된 자동화된 어시스턴트(예를 들어, 120) 및/또는 어시스턴트 디바이스(예를 들어, 106)에 의해 구현될 수 있는 예시적 상태 머신을 개략적으로 도시한다. 좌측 상단에는 자동화된 어시스턴트(120)가 사용자가 참여하지 않을 때 상주할 수 있는 "기본 비활성 상태"를 도시한다. 기본 비활성 상태에서, 하나 이상의 클라이언트 장치(106)의 하나 이상의 마이크로폰이 활성화될 수 있고, 캡처된 오디오 데이터는 여기에 설명된 기술을 사용하여 분석될 수 있다. 자동화된 어시스턴트(120)는 예를 들어 호출 모듈(113) 및/또는 기본 호출 모델(114i)에 기초한 시각적 큐 모듈(112)에 의해 "OK, Assistant” 또는 "Hey, Assistant"와 같은 하나 이상의 기본 호출 워드(도 2에서 "DIW", “핫워드”로도 지칭됨)를 검출한 것에 응답하여, "일반 리스닝 상태"로 전환될 수 있다. 기본 핫워드 이외의 발화(예를 들어, 주변의 대화 등)은 무시되고 처리되지 않을 수 있다.
일반 리스닝 상태에서, 자동화된 어시스턴트(120)는 기본 호출 단어(들) 후에 발화한 오디오 데이터를 캡처하여 "일반 처리" 상태로 전환할 수 있다. 일반 처리 상태에서, 자동화된 어시스턴트(120)는 도 1과 관련하여 이전에 설명한 바와 같이 STT 처리, 자연어 처리, 의도 매칭, 이행 등을 포함하여 오디오 입력을 나타내는 데이터를 처리할 수 있다. 처리가 완료되면, 자동화된 어시스턴트(120)는 기본 비활성 상태로 다시 전환될 수 있다. 기본 호출 워드(들)의 검출 후에 오디오 입력이 수신되지 않으면, 타임아웃(도 2의 "TO")은 자동화된 어시스턴트(120)를 일반 리스닝 상태에서 다시 기본 비활성 상태로 전환시킬 수 있으며, 그에 따라 이후의 발화은 자동화된 어시스턴트에서 처리할 목적이 아닌것으로 보고 캡처되지 않거나 또는 처리되지 않는다.
앞서 언급한 바와 같이, 여기에 설명된 기술은 자동화된 어시스턴트(120)를 예를 들어 일반 리스닝 상태와 같은 다양한 다른 상태 또는 자동화된 어시스턴트(120)가 다양한 동작을 수행하는 다른 컨텍스트-특정 상태로 전환하기 위하여 컨텍스트 특정 핫워드가 용이하게 활성화되고 검출될 수 있게 한다. 몇몇 구현예에서, 특정 컨텍스트에서는 자동화된 어시스턴트(120)를 기본 비활성 상태에서 일반 리스닝 상태로 전환하기 위해 발화될 수 있는 호출 단어의 어휘가 적어도 일시적으로 확장될 수 있다 (예를 들어, 제한된 시간 동안, 컨텍스트가 더 이상 적용되지 않을 때까지 등).
예를 들어, 도 2에서, 제 1 컨텍스트 특정 신호(CSi)는 자동화된 어시스턴트(120)를 기본 비활성 상태에서 제 1 컨텍스트 특정 리스닝 상태인 "CSLS1"로 전환시킬 수 있다. CSLS1에서, 자동화된 어시스턴트(120)는 기본 호출 워드( "DIW")와 제 1 컨텍스트 특정 핫워드( "Ci 핫워드") 모두를 청취할 수 있다. 둘 중 하나가 검출되면, 자동화된 어시스턴트(120)는 전술한 바와 같이 일반 리스닝 상태로 전환될 수 있다. 따라서, 제 1 컨텍스트 특정 리스닝 상태에서, 자동화 어시스턴트(120)를 일반 리스닝 상태로 전환시킬 수 있는 핫워드의 어휘는 기본 호출 워드(들)와 제 1 컨텍스트 특정 핫워드 모두를 포함하도록 확장된다. 또한, 몇몇 구현예에서, 자동화된 어시스턴트(120)가 제 1 컨텍스트 특정 리스닝 상태인 동안 활성화된 핫워드의 검출없이 충분한 시간이 경과했다면, 타임아웃( "TO")은 자동화된 어시스턴트(120)를 기본 비활성 상태로 다시 전환할 수 있다.
추가적으로 또는 대안적으로, 몇몇 구현예에서는, 특정 컨텍스트에서 자동화된 어시스턴트(120)나 예를 들어 확장된 핫워드의 어휘를 사용하여 일반 리스닝 상태로 전환되거나, 또는 하나 이상의 컨텍스트-특정 동작이 수행될 수 있는 컨텍스트 특정 상태로 전환될 수 있다. 예를 들어, 도 2에서 자동화된 어시스턴트(120)는 제 2 컨텍스트 신호( "CS2")에 응답하여 기본 비활성 상태에서 제 2 컨텍스트 특정 리스닝 상태 "CSLS2"로 전환될 수 있다. 제 2 컨텍스트 특정 리스닝 상태에서, 자동화된 어시스턴트(120)는 예를 들어, 하나 이상의 기본 호출 단어 및/또는 일부의 경우에서 자동화된 어시스턴트(120)를 일반 리스닝 상태로 전환하는데 사용하는 어휘를 효과적으로 확장하는 하나 이상의 제 2 컨텍스트 특정 핫워드( "C2 핫워드(들) A ")를 검출함으로써 일반 리스닝 상태로 전환될 수 있다.
추가적으로 또는 대안적으로, 자동화된 어시스턴트(120)는 예를 들어 하나 이상의 추가적인 제 2 컨텍스트 특정 핫워드("C2 핫워드(들) B ")에 응답하여 제 2 컨텍스트 특정 상태("CSLS2")에서 하나 이상의 제 2 컨텍스트 특정 응답 동작( "2nd context-specific resp. act.”)이 수행되는 하나 이상의 상태로 전환될 수 있다. 응답 동작의 예는 이하에서 설명될 것이다. 몇몇 구현예에서, 특정 제 2 컨텍스트 특정 핫워드가 특정 제 2 컨텍스트 특정 응답 동작과 매핑될 수 있으나, 필수는 아니다. 명확화를 위해 도 2에 도시되지 않았지만, 몇몇 구현예에서는, 하나 이상의 제 2 컨텍스트 특정 응답 동작의 수행 후, 자동화된 어시스턴트(120)가 기본 비활성 상태로 다시 전환될 수 있다.
몇몇 구현예에서, 특정 컨텍스트에서는, 자동화된 어시스턴트(120)가 더 이상 기본 핫워드를 청취하지 않을 수 있다. 대신, 자동화된 어시스턴트(120)는 컨텍스트 특정 핫워드만 듣고 응답 동작을 수행할 수 있다. 예를 들어, 도 2에서 자동화된 어시스턴트(120)는 M 번째 컨텍스트 신호( "CSM")에 응답하여 기본 비활성 상태에서 M 번째 컨텍스트 특정 리스닝 상태(M은 양의 정수)인 "CSLSM"으로 전환될 수 있다. 이 상태에서, 자동화 어시스턴트(120)는 M 번째 컨텍스트 특정 핫워드("CM 핫워드(들)")를 청취할 수 있다. 하나 이상의 M 번째 컨텍스트 특정 핫워드가 검출된 것에 응답하여, 자동화된 어시스턴트(120)는 하나 이상의 M 번째 컨텍스트 특정 응답 동작( " Mth context-specific resp. act.")을 수행할 수 있다.
다양한 구현예에서, 자동화된 어시스턴트(120)는 다양한 방식으로 컨텍스트-특정 핫워드를 활성화할 수 있다. 예를 들어, 도 1 과 2를 모두 참조하면, 몇몇 구현예에서, 특정 컨텍스트로 전환시, 자동화된 어시스턴트(120)는 예를 들어 다이내믹 핫워드 엔진(128)으로부터 예를 들어 특정 컨텍스트에서 활성화될 핫워드를 검출하도록 미리학습된 신경망, 숨겨진 마르코프 모델 등과 같은 하나 이상의 컨텍스트 특정 머신 러닝 모델이나 분류기(예를 들어, 1142, 1143, .. ., 114N)를 다운로드할 수 있다. 예를 들어, 특정 컨텍스트에서 자동화된 어시스턴트(120)를 기본 비활성 상태에서 일반 리스닝 상태로 전환하는 어휘가 확장되어 "하우디(howdy)"라는 단어를 포함한다고 가정하자. 다양한 구현예에서, 자동화된 어시스턴트(120)는 예를 들어, 다이내믹 핫워드 엔진(128)에서 사용가능한 데이터베이스(129)로부터, 단어 "하우디"가 검출되었는지를 나타내는 출력을 생성하도록 훈련된 분류기를 획득할 수 있다. 다양한 구현예에서 이 분류기는 바이너리일 수 있고(예를 들어, 핫워드가 검출되면 "1"을 출력하고 그렇지 않으면 "0"을 출력) 또는 확률을 생성할 수도 있다. 확률이 몇몇 신뢰 임계 값을 충족했다면 핫워드가 검출될 수 있다.
추가적으로 또는 대안적으로, 몇몇 구현예에서, 하나 이상의 온-디바이스 모델(114)은 하나 이상의 미리결정된 음소에 대해 하나의 출력을 생성하고 다른 음소에 대해 다른 출력을 생성하기 위해 즉시 조정가능한 다이내믹 핫워드 분류기/머신 러닝 모델(예를 들어, 신경망, 숨겨진 마르코프 모델 등)의 형태를 취할 수 있다. 핫워드 "하우디(howdy)"가 활성화된다고 가정하자. 다양한 구현예에서, 다이내믹 핫워드 분류기는, 예를 들어 하나 이상의 파라미터를 변경하고 그리고/또는 오디오 데이터와 함께 또는 오디오 데이터에 임베딩된 특정 입력을 제공함으로써 음소 "하우(how)"와 "디(dee)"를 "청취"하도록 조정될 수 있다. 이러한 음소가 오디오 입력에서 검출되면, 다이내믹 핫워드 분류기는 자동화된 어시스턴트(120)가 일반 리스닝 상태로 전환되거나, 몇몇 컨텍스트 특정 응답 동작을 수행하는 것 등과 같은 응답 동작을 취하도록 트리거하는 출력을 생성할 수 있다. 다른 음소는 무시하는 출력을 생성하거나 또는 그냥 무시될 수 있다. 추가적으로 또는 대안적으로, 활성화된 음소에만 응답하여 다이내믹 핫워드 분류기에 의해 출력이 생성될 수 있고, 다른 음소는 출력이 전혀 생성되지 않을 수 있다.
도 3A 및 도 3B는 사용자(101)와 자동화된 어시스턴트(도 3A-B에 도시되지 않음)의 인스턴스 간의 사람-컴퓨터 대화 세션이 본 명세서에 개시된 구현예에 따른 클라이언트 컴퓨팅 장치(306)(독립형 인터랙티브 스피커로 도시되었지만, 제한하려는 것은 아님)의 마이크로폰(들)과 스피커(들)를 통해 어떻게 발생할 수 있는지에 대한 하나의 예를 보인 것이다. 자동화된 어시스턴트(120)의 하나 이상의 양상은 컴퓨팅 장치(306) 및/또는 컴퓨팅 장치(306)와 네트워크 통신하는 하나 이상의 컴퓨팅 장치에서 구현될 수 있다. 클라이언트 장치(306)는 근접 센서(305)를 포함하며, 이는 위에서 언급 된 바와 같이 카메라, 마이크로폰, PIR 센서, 무선 통신 컴포넌트 등의 형태를 취할 수 있다.
도 3A에서, 클라이언트 장치(306)는 근접 센서(305)에 의해 생성된 신호에 기초하여 사용자(101)가 클라이언트 장치(306)로부터 거리 D1에 위치한다는 것을 결정할 수 있다. 거리 D1은 미리결정된 거리(예를 들어, 임계값) 보다 클 수 있다. 결과적으로, 자동화된 어시스턴트(120)는 기본 핫워드 세트 중에서 하나 이상을 사용하여(적어도 음성으로) 호출할 수 있는 기본 리스닝 상태로 유지될 수 있다. 예를 들어, 도 3A에서, 사용자(101)가 "헤이 어시스턴트, 5 분 동안 타이머 설정해줘"의 자연어 입력을 제공한다. “헤이 어시스턴트(Hey Assistant)"는 자동 어시스턴트(120)를 호출하는데 사용하는 "호출 문구"를 함께 형성하는 기본 핫워드를 포함할 수 있다. 그에 따라, 자동 어시스턴트(120)는 "오케이. 이제부터 타이머 시작 중 ... "이라고 응답하고 5 분 타이머를 시작한다.
대조적으로, 도 3B에서, 클라이언트 장치(306)는 예를 들어 근접 센서(305)에 의해 생성된 신호에 기초하여 이제 사용자(101)가 클라이언트 장치로부터 거리 D2에 있음을 감지할 수 있다. 거리 D2는 미리결정된 거리(또는 임계 값)보다 작을 수 있다. 결과적으로, 자동화된 어시스턴트(120)는 도 3A의 기본 리스닝 상태에서 향상된 리스닝 상태로 전환될 수 있다. 다시 말해, 사용자(101)가 D2 거리만큼 떨어져 있음이 결정되면 컨텍스트 신호(예를 들어, 도 2의 "CS1")를 구성할 수 있는데, 이는 자동화된 어시스턴트(120)를 추가 또는 대체 핫워드가 활성화되는 컨텍스트 특정 상태로 전환하게 하며, 자동화된 어시스턴트(120)가 기본 리스닝 상태에서 향상된 리스닝 상태로 전환하게 할 수 있다.
향상된 리스닝 상태인 동안, 사용자(101)는 핫워드의 기본 세트에 추가 또는 대체하여 핫워드의 향상된 세트로부터 하나 이상의 핫워드를 사용하여 자동화된 어시스턴트(120)를 호출할 수 있다. 예를 들어, 도 3B에서 사용자(101)는 "헤이 어시스턴트"로 발화를 시작할 필요가 없다. 대신 사용자는 "5 분 타이머 설정해줘"라고 간단히 발화할 수 있다. "설정(set)"과 같은 단어나 "타이머 설정해줘(set a timer for)"와 같은 문구는 이제 자동화된 어시스턴트(120)를 호출하는데 사용할 수 있는 향상된 핫워드 세트의 일부인 핫워드를 포함할 수 있다. 결과적으로, 자동화된 어시스턴트(120)는 "오케이(OK), 이제부터 타이머 시작 중… "이라고 응답하고 5 분 타이머를 시작한다.
이 예에서, 자동화된 어시스턴트(120)는 기본 리스닝 상태에서 추가/대체 핫워드를 사용하여 자동화된 어시스턴트(120)가 호출될 수 있는 특정 컨텍스트 특정 상태로 전환되었다. 그러나, 자동화된 어시스턴트(120)는 그러한 이벤트에 응답하여 추가 또는 대체 상태로 전환될 수 있다. 예를 들어, 몇몇 구현예에서, 사용자(101)가 어시스턴트 디바이스에 충분히 근접하여 검출될 때(예를 들어, D2), 자동화된 어시스턴트(120)가 다른 컨텍스트 특정 상태로 전환될 수 있다. 예를 들어, 자동화된 어시스턴트(120)는 포괄적 음성 인식을 이용할 수 없는 컨텍스트 특정 상태 (적어도 기본 핫워드(들)로 자동화된 어시스턴트(120)를 먼저 호출하지 않음)로 전환될 수 있으나, 다른 컨텍스트 특정 명령은 사용가능하다.
예를 들어, 사용자(101)가 온라인 레시피에 따라 저녁식사를 준비하려고 주방에 있고, 온라인 레시피는 클라이언트 장치(306)의 적어도 일부에서 작동하는 자동화된 어시스턴트(120)를 통해 액세스된 적이 있다고 가정한다. 또한 클라이언트 장치(306)는 사용자(101)가 클라이언트 장치(306)와 D2 거리에서 레시피의 단계를 수행하는 요리 영역 내에 위치한다고 가정한다. 몇몇 구현예에서, 사용자(101)가 클라이언트 장치(306)에서 D2 내에서 검출되었다는 사실은 자동화된 어시스턴트(120)로 하여금 기본 핫워드를 사용하여 자동화된 어시스턴트(120)를 먼저 호출하지 않고 적어도 일부 명령은 사용할 수 있는 컨텍스트 특정 상태로 전환되게끔 할 수 있다. 예를 들어, 사용자(101)는 레시피의 다음 단계로 이동하기 위해 "다음"이라고 말할 수 있고, 이전 단계를 들으려면 "뒤로" 또는 "마지막 단계 반복" 이라고 발화할 수 있으며, "타이머 시작", "타이머 중지" 등을 말할 수 있다.
몇몇 구현예에서, 이 컨텍스트에서 다른 동작도 수행될 수도 있다. 예를 들어, 몇몇 구현예에서, 집 주변에 배치된 다수의 어시스턴트 디바이스(예를 들어, 클라이언트 장치의 조정 생태계를 형성함)는 각각 특정 방과 연관될 수 있다. 특정 방과의 연관성은 누군가가 해당 디바이스에 충분히 가까이 있을 때 서로 다른 다이내믹 핫워드가 활성화되게 할 수 있다. 예를 들어, 사용자(101)가 주방에서 클라이언트 장치(306)를 처음 설정할 때, 예를 들어 메뉴에서 주방을 선택함으로써 사용자(101)는 클라이언트 장치(306)가 주방에 위치한 것으로 지정할 수 있다. 이는 사용자가 클라이언트 장치에 충분히 근접하였을 때 특정 주방-중심 핫워드를 활성화하여 자동화된 어시스턴트(120)를 주방-특정 상태 머신으로 활성화시킬 수 있다. 따라서, 사용자(101)가 주방내 클라이언트 장치(306)와 거리 D2 내에 있는 경우 "타이머 설정", "다음 단계로 이동"와 같은 특정 주방-관련 명령과, 스마트 주방 기기를 작동시키기 위한 명령 등이 사용자(101)가 기본 핫워드를 사용하여 자동화된 어시스턴트(120)를 먼저 호출할 필요 없이 활성화될 수 있다.
이와 가까운 예에서, 사용자(101)는 클라이언트 장치(306)와 거리 D2 내에서 검출되어야 했으나, 이에 제한되는 것은 아니다. 여러 구현예에서, 사용자(101)가 근접 센서(305)를 통해 단순히 검출되는 것으로 충분할 수 있다. 예를 들어, PIR 센서는 사용자가 상대적으로 가까이 있을 때만 사용자의 존재를 검출할 수 있다.
근접성에 추가하여 또는 대신하여, 몇몇 구현예에서는, 그룹 내에서 사용자의 신원 및/또는 멤버쉽이 결정되어 하나 이상의 다이내믹 핫워드를 활성화하는데 사용될 수 있다. 도 4A 내지 도 4B는 그러한 예를 도시한다. 일단 사용자(도 4A의 101A, 도 4B의 101B)는 클라이언트 장치(406)의 적어도 일부에서 작동되는 자동화된 어시스턴트(120)에 참여한다. 클라이언트 장치(406)는 사용자 신원을 결정하는데 사용할 수 있는 신호를 생성하는 센서(470)를 포함한다. 따라서, 센서(470)는 사용자(또는, 사용자가 그룹의 구성원임)를 식별하기 위해 안면 인식 처리를 사용하여 분석될 수 있는 시각적 데이터를 생성하거나, 또는 예를 들어 유니폼, 시각적 표시(예를 들어, 배지나 셔츠의 QR 코드)와 같은 시각적 특성을 식별할 수 있는 물체 인식 프로세스를 생성하도록 구성된 하나 이상의 카메라일 수 있다. 추가적으로 또는 대안적으로, 센서(470)는 사용자(101)의 하나 이상의 발화에 대해 음성 인식(때때로 "스피커 인식"으로 지칭됨)을 수행하도록 구성된 하나 이상의 마이크로폰일 수 있다. 다른 옵션으로, 센서(470)는 사용자가 휴대하는 장치(미도시)에서 무선 신호를 수신하고 사용자의 신원을 결정하기 위해 해당 무선 신호를 분석하는 무선 수신기(예를 들어 Bluetooth, Wi-Fi, 지그비, Z-wave, 초음파, RFID 등)일 수 있다.
도 4A에서, 사용자(101A)가 식별되지 않을 수 있다. 따라서, 사용자가(101A)는 자동화된 어시스턴트(120)를 호출하기 위해 하나 이상의 기본 핫워드를 사용하도록 요청된다. 도 4A에서, 사용자(101A)는 "헤이 어시스턴트(Hey assistant), 'We Wish You a Merry Christmas" 노래 재생해줘”를 발화한다. "헤이 어시스턴트(Hey assistant)"에 응답하여, 자동화된 어시스턴트(120)가 호출된다. 발화의 나머지 부분은 자동화된 어시스턴트(120)가 클라이언트 장치(406)에서 노래의 재생을 시작하도록 앞서 설명된 파이프 라인을 사용하여 처리된다.
대조적으로, 도 4B에서 사용자(101B)는 예를 들어 센서(470)에 의해 생성된 신호에 기초하여 식별된다. 사용자(101B)를 식별하는 동작은 컨텍스트 신호(예를 들어, 도 2의 "CS1")를 구성할 수 있는데, 이는 자동화된 어시스턴트를 추가 또는 대체 핫워드가 활성화된 컨텍스트-특정 상태로 전환하게 하고 자동화된 어시스턴트(120)를 기본 리스닝 상태에서 향상된 리스닝 상태로 전환하게 한다. 예를 들어, 도 4B에 도시된 바와같이, 사용자(101B)는 자동화된 어시스턴트(120)를 먼저 호출하지 않고 " We Wish You a Merry 노래 재생해줘”와 같은 발화을 할 수 있다. 그럼에도 불구하고, 자동화된 어시스턴트(120)는 해당 노래의 재생하기 시작한다. 이러한 상황에서 활성화될 수 있는 다른 핫워드로 "빨리 감기", "건너 뛰기 <초>”, "중지","일시중지","되감기<시간 증가> ", "볼륨 높임/낮춤" 등이 있을 수 있으며, 이에 제한되지 않는다.
추가적으로 또는 대안적으로, 사용자(101B)의 특정 신원을 검출하는 것이 필요하지 않을 수 있다. 몇몇 구현예에서는, 특정 다이내믹 핫워드를 활성화하기 위하여 사용자의 일부 시각적 속성을 인식하는 것으로 충분할 수 있다. 예를 들어, 도 4B에서 사용자(101B)는 의사들이 통상 입는 의복을 입은 의사이다. 사용자(101B)가 특정 핫워드를 필수적으로 활성화시키는 그룹(예를 들어, 의료진)의 구성원인지를 결정하기 위해 이 의복(또는 표시를 포함하는 배지, RFID 등)이 검출되어 사용될 수 있다.
도 5는 근접성 및/또는 신원이 사용될 수 있는 상황을 도시한다. 도 5에서, 클라이언트 장치(506)를 들고 있는 사용자(501)(흰색 음영)는 다른 사람들(회색 음영)이 많이 붐비는 영역에 있을 수 있다. 다른 사람들도 자동화된 어시스턴트(120)에 참가할 수 있는 클라이언트 장치(도시되지 않음)를 가지고 있다고 가정하자. 근처에서 다른 사람들이 자신의 자동화된 어시스턴트를 호출하기 위해 기본 핫워드를 발화할 경우, 클라이언트 장치(506)의 자동화된 어시스턴트(120)가 비의도적으로 호출될 수 있다. 이와 유사하게, 사용자(501)가 클라이언트 장치(506)에서 자동화된 어시스턴트(120)를 호출하기 위해 기본 핫워드(들)를 발화하는 경우에도, 다른 사람이 휴대하는 다른 장치에서 자동화된 어시스턴트를 비의도적으로 호출할 수 있다.
따라서, 몇몇 구현예에서, 자동화된 어시스턴트(120)는 사용자(501)의 신원 및/또는 그 사용자(501)가 미리결정된 근접거리 내에 있음을 검출할 수 있고, 자동화된 어시스턴트(120)를 호출하는데 필요한 다이내믹 핫워드의 커스텀 세트를 활성화할 수 있다. 예를 들어, 도 5에서 사용자(501)가 클라이언트 장치(506)의 제1 근접거리(515A) 내에 있는 경우(그리고 일부 경우에서는 식별됨), 사용자(501)에 대해 제 1 커스텀 핫워드 세트가 활성화될 수 있다(예를 들어, 수동으로 선택됨). 이러한 방식으로 사용자(501)는 우연히 다른 사람의 장치의 자동화된 어시스턴트를 호출할 염려없이 커스텀 핫워드를 발화할 수 있다. 몇몇 구현예에서, 서로 다른 근접거리 범위에서는 서로 다른 다이내믹 핫워드가 활성화되도록 할 수 있다. 예를 들어, 도 5에서 사용자(501)가 근접거리 범위(515A)의 외부에서 검출되었지만 다른 근접거리 범위(515B) 내에 있는 경우, 추가/대체 핫워드가 활성화될 수 있다. 제 3 근접거리(515C)나 임의의 다른 근접거리 범위에 대해서도 마찬가지이다. 몇몇 구현예에서, 사용자(501)가 근접거리 범위(515C) 밖에 있는 경우 기본 핫워드만 활성화되거나 또는 핫워드가 없을 수 있다.
대안적으로, 몇몇 구현예에서, 사용자(501)의 신원이 인식되면, 자동 어시스턴트(120)는 사용자(501)의 음성에만 응답하고 다른 사람의 음성을 무시하도록 화자 인식(speaker recognition)을 구현할 수 있다.
본 명세서에 설명된 구현은 자동화된 어시스턴트(120)가 컨텍스트 특정 핫워드에 응답하여 다양한 동작(예를 들어, 정보 검색, 미디어 재생 제어, 타이머 중지 등)을 수행하게 하는데 초점을 맞추었지만, 이에 제한된다는 의미는 아니다. 여기에 설명된 기술은 다른 사용 예로 확장 될 수 있다. 예를 들어, 여기에 설명된 기술은 사용자가 예를 들어 검색 웹 페이지에서 양식 필드를 채우고자 할 때 적용될 수 있다. 몇몇 구현예에서, 검색 창 또는 기타 유사한 텍스트 입력 요소가 웹 페이지에 있는 경우 하나 이상의 추가 컨텍스트 특정 핫워드가 활성화될 수 있다.
예를 들어, 사용자가 검색 창이 있는 웹 페이지에 어시스턴트-지원 디바이스를 탐색할 경우, 핫워드로 "검색해(search for)"가 활성화될 수 있고, 예를 들어 사용자가 단순히 "<원하는 주제> 검색해"(search for <desired topic>)라고 발화하면, 사용자가 먼저 자동화된 어시스턴트(120)를 호출할 필요없이 “search for" 이후의 사용자 발화가 검색 창에 자동 전사될 수 있다.
다양한 구현예에서, 컴퓨팅 장치의 특정 컨텍스트로의 전환은 하나 이상의 컨텍스트 특정 핫워드에 추가하여 또는 대신하여 하나 이상의 컨텍스트 특정 제스처를 활성화할 수 있다. 예를 들어, 사용자가 어시스턴트 디바이스의 특정 근접거리로 감지되었다고 가정하자. 몇몇 구현예에서, 하나 이상의 컨텍스트 특정 제스처가 활성화될 수 있다. 예를 들어, 호출 모듈(113)에 의한 제스처의 검출은 자동화된 어시스턴트(120)가 일반 리스닝 상태로 전환되도록 트리거할 수 있고 그리고/또는 자동화된 어시스턴트(120)로 하여금 몇몇 컨텍스트 특정 응답 동작을 수행하게할 수 있다.
도 6은 본 명세서에 개시된 구현에 따른 예시적 방법(600)을 설명하는 흐름도이다. 편의상, 흐름도의 동작은 동작을 수행하는 시스템을 참조하여 설명된다. 이 시스템은 예를 들어 자동화된 어시스턴트(120)의 컴포넌트와 같이 다양한 컴퓨터 시스템의 다양한 구성 요소를 포함할 수 있다. 또한, 방법(600)의 동작은 특정 순서로 도시되어 있기는 하나, 이에 제한됨을 의미하지는 않는다. 하나 이상의 동작이 재정렬되거나, 생략되거나, 추가될 수 있다.
블록 602에서, 시스템은 컴퓨팅 장치(예를 들어, 클라이언트 장치(106, 306, 406, 506))에서 적어도 부분적으로 자동화된 어시스턴트(120)를 동작시킬 수 있다. 예를 들어, 위에서 언급한 바와 같이, 많은 경우에 자동화된 어시스턴트(120)는 일부는 클라이언트 장치(106)에서 그리고 일부는 클라우드(예를 들어, 클라우드-기반의 자동화된 어시스턴트 컴포넌트(119))에서 구현될 수 있다.
블록 604에서, 시스템은 하나 이상의 기본 핫워드에 대해 마이크로폰(예를 들어, 109)에 의해 캡처된 오디오 데이터를 모니터링할 수 있다. 예를 들어, 오디오 데이터(또는 임베딩과 같이 이를 나타내는 다른 데이터)는 출력을 생성하기 위해 하나 이상의 현재-활성 호출 모델(114)을 거쳐 입력으로 적용될 수 있다. 출력은 하나 이상의 기본 핫워드 중에서 하나 이상의 검출(블록 606)을 나타낼 수 있다. 블록 608에서, 시스템은 제한된 핫워드 리스닝 상태(예를 들어, 도 2의 기본 비활성 상태)에서 음성 인식 상태(예를 들어, 도 2의 일반 리스닝 상태)로 자동화된 어시스턴트(120)를 전환할 수 있다.
몇몇 구현예에서, 블록 604-608의 동작과 병렬로(또는 직렬로), 블록 610에서, 시스템은 클라이언트 장치의 상태를 모니터링할 수 있다. 예를 들어, 시스템은 사용자 존재의 감지, 사용자 신원의 검출, 그룹에서 사용자의 멤버십 검출, 시각적 속성의 검출 등과 같은 하나 이상의 컨텍스트 신호를 모니터링할 수 있다.
블록 612에서, 시스템이 컨텍스트 신호를 검출하면 블록 614에서 시스템은 컴퓨팅 장치를 주어진 상태로 전환할 수 있다. 예를 들어, 시스템은 사용자가 클라이언트 장치에 충분히 근접, 사용자의 신원 등과 같은 컨텍스트 신호를 검출할 수 있다. 블록 614의 전환 후, 블록 616에서 시스템은 블록 604에서 모니터링된 하나 이상의 기본 핫워드에 추가 또는 대신하여 하나 이상의 컨텍스트 특정 핫워드에 대해 마이크로폰에 의해 캡처된 오디오 데이터를 모니터링 할 수 있다.
앞서 언급한 바와 같이, 몇몇 컨텍스트에서, 일부 핫워드는 자동화된 어시스턴트(120)를 일반 리스닝 상태로 전환시킬 수 있고, 다른 핫워드는 자동화된 어시스턴트(120)가 컨텍스트 특정 응답 동작(예를 들어, 타이머 중지, 미디어재생 일시 중지 등)을 수행하게 할 수 있다. 따라서, 블록 618에서, 시스템이 첫번째 하나 이상의 컨텍스트 핫워드(예를 들어, 자동화된 어시스턴트(120)가 컨텍스트 특정 작업을 수행하도록 의도된 핫워드)를 검출하면, 블록 620에서 시스템은 하나 이상의 컨텍스트 특정 응답 동작을 수행하거나 또는 자동화된 어시스턴트(120)로 하여금 수행하게 한다.
한편, 블록 618에서 첫번째 하나 이상의 컨텍스트 핫워드가 검출되지 않고 블록 622에서 두번째 하나 이상의 컨텍스트 핫워드(예를 들어, 일반적으로 자동화된 어시스턴트(120)를 단순히 호출하려는 핫워드)가 검출되는 경우, 방법(600)은 자동화된 어시스턴트(120)가 일반 리스닝 상태인 블록 606으로 회귀하는 것으로 진행된다.
몇몇 구현예에서, 컨텍스트 특정 동작이 요청되지 않으면 자동화된 어시스턴트(120)가 안정된 상태 또는 기본 상태로 복귀하도록 하기 위해 하나 이상의 타임아웃이 사용될 수 있다. 예를 들어, 블록 618 및 622에서 각각 첫번째 또는 두번째 컨텍스트 특정 핫워드가 검출되지 않으면, 블록 624에서 타임아웃이 만료되었는지 여부(예를 들어, 10초, 30초, 1분 등)에 대한 결정이 이루어질 수 있다. 블록 624에서 대답이 예(yes)이면, 방법(600)은 자동화된 어시스턴트(120)가 기본 비활성 상태로 전환된 블록 604로 회귀할 수 있다. 그러나 블록 624에서 대답이 아니오(no)이면, 몇몇 구현예에서는, 시스템이 컨텍스트 특정 핫워드를 모니터링할 수 있는 시점인 블록 616에서 방법(600)이 다시 진행될 수 있다.
도 7은 다양한 구현예에 따라, 본 명세서에 개시된 선택적 양상들을 실행하기 위한 방법(600)과 유사한 예시적 방법(700)을 도시한다. 편의상, 흐름도의 동작은 동작을 수행하는 시스템을 참조하여 설명된다. 시스템에는 여러 컴퓨터 시스템의 여러 구성요소가 포함될 수 있다. 또한, 방법(700)의 동작은 특정 순서로 도시되어 있기는 하나, 이에 제한됨을 의미하지는 않는다. 하나 이상의 동작이 재정렬, 생략, 추가될 수 있다.
블록 702에서, 시스템은 기본 리스닝 상태에서 자동화된 어시스턴트를 실행할 수 있다. 블록 704에서, 기본 리스닝 상태인 동안 시스템은 하나 이상의 핫워드의 기본 세트 중 하나 이상에 대하여 하나 이상의 마이크로폰에 의해 캡처된 오디오 데이터를 모니터링할 수 있다. 기본 세트의 핫워드 중에서 하나 이상이 검출되면 자동화 어시스턴트를 기본 리스닝 상태에서 음성 인식 상태(예를 들어, 도 6의 블록 608)로 전환하는 것을 트리거할 수 있다.
블록 706에서, 시스템은 예를 들어 마이크로폰, 카메라, PIR 센서, 무선 컴포넌트 등과 같은 하나 이상의 컴퓨팅 장치에 통합된 하나 이상의 하드웨어 센서에 의해 생성된 하나 이상의 센서 신호를 검출할 수 있다. 블록 708에서, 시스템은 사용자의 속성을 결정하기 위해 하나 이상의 센서 신호를 분석할 수 있다. 사용자의 속성은 예를 들어 사용자 자신에 관한 실존적 속성이거나 또는 하나 이상의 어시스턴트 디바이스에 대한 사용자의 물리적 근접거리일 수 있다.
블록 708에서, 결정될 수 있는 속성의 비-제한적 예시는 어시스턴트 디바이스의 미리결정된 근접거리 내에 존재하는 사용자, 사용자의 신원, 그룹 내의 사용자의 멤버쉽, 사용자가 근접 센서(거리가 고려되지 않을 수 있는 상황에서), 유니폼, 배지, 장신구 등과 같은 사용자의 시각적 속성에 의해 검출되는 것 등을 포함하지만 이에 제한되지는 않는다.
블록 710에서, 시스템은 분석에 기초하여 자동화된 어시스턴트를 기본 리스닝 상태에서 향상된 리스닝 상태로 전환할 수 있다. 블록 712에서, 향상된 리스닝 상태인 동안 시스템은 하나 이상의 핫워드의 향상된 세트 중 하나 이상에 대하여 하나 이상의 마이크로폰에 의해 캡처된 오디오 데이터를 모니터링할 수 있다. 향상된 세트의 핫워드 중에서 하나 이상이 검출되면 자동화된 어시스턴트는 기본 세트의 핫워드 중 하나 이상을 검출하지 않고도 응답 동작을 수행하도록 트리거할 수 있다. 향상된 세트의 핫워드 중 하나 이상은 기본 세트에는 존재하지 않을 수 있다.
여기서 논의된 특정 구현예는 사용자에 관한 개인정보(예를 들어, 다른 전자장치 통신에서 추출된 사용자 데이터, 사용자의 소셜 네트워크에 관한 정보, 사용자의 위치, 사용자의 시간, 사용자의 생체정보, 사용자의 활동 및 인구통계 정보, 사용자들 간의 관계 등)를 수집하거나 사용할 수 있는 상황에서, 사용자에게는 정보 수집 여부, 개인정보 저장 여부, 개인정보 사용 여부, 및 사용자에 관한 정보의 수집방법, 저장방법 및 사용방법을 제어할 수 있는 하나 이상의 기회가 제공된다. 즉, 여기에 설명된 시스템 및 방법은 관련 사용자로부터 명시적으로 승인을 받은 경우에만 사용자 개인 정보를 수집, 저장 및/또는 사용한다.
예를 들어, 사용자는 프로그램 또는 기능이 특정 사용자 또는 프로그램 또는 기능과 관련된 다른 사용자에 관한 사용자 정보를 수집하지는지 여부를 제어할 수 있다. 개인 정보를 수집할 각 사용자에게 해당 사용자와 관련된 정보 수집을 제어할 수 있는 하나 이상의 옵션이 제공되며, 정보 수집 여부와 수집될 부분에 관한 권한 또는 승인을 제공할 수 있다. 예를 들어, 사용자는 통신 네트워크를 통해 이러한 제어 옵션을 하나 이상 제공받을 수 있다. 또한, 특정 데이터는 저장 또는 사용되기 전에 하나 이상의 방식으로 처리되어 개인 식별 정보가 제거 될 수 있다. 한 예로, 사용자의 신원은 개인 식별 정보가 밝혀지지 않도록 처리될 수 있다. 다른 예로, 사용자의 지리적 위치는 사용자의 특정 위치가 밝혀지지 않도록 더 큰 지역으로 일반화될 수 있다.]
도 8은 본 명세서에 설명된 기술의 하나 이상의 양상을 수행하기 위해 선택적으로 이용될 수 있는 예시적인 컴퓨팅 장치(810)의 블록도이다. 일부의 구현 예에서, 클라이언트 컴퓨팅 장치, 사용자 제어 리소스 모듈(134) 및/또는 다른 구성 요소(들) 중 하나 이상은 예시적인 컴퓨팅 장치(810)의 하나 이상의 구성 요소를 포함할 수 있다.
컴퓨팅 장치(810)는 일반적으로 버스 서브 시스템(812)을 통해 다수의 주변 장치와 통신하는 적어도 하나의 프로세서(814)를 포함한다. 이러한 주변 장치는 예를 들어 메모리 서브 시스템(825) 및 파일 저장 서브 시스템(826), 사용자 인터페이스 출력 장치(820), 사용자 인터페이스 입력 장치(822) 및 네트워크 인터페이스 서브 시스템(816)을 구비하는 저장 서브 시스템(824)을 포함할 수 있다. 입력 및 출력 장치는 컴퓨팅 장치(810)와 사용자 상호 작용을 허용한다. 네트워크 인터페이스 서브 시스템(816)은 외부 네트워크에 대한 인터페이스를 제공하고 다른 컴퓨팅 장치의 대응하는 인터페이스 장치에 연결된다.
사용자 인터페이스 입력 장치(822)는 키보드, 마우스, 트랙볼, 터치 패드 또는 그래픽 태블릿과 같은 포인팅 장치, 스캐너, 디스플레이부에 통합된 터치 스크린, 음성 인식 시스템과 같은 오디오 입력 장치, 마이크 및/또는 기타 다른 유형의 입력 장치들을 포함할 수 있다. 일반적으로, "입력 장치"라는 용어의 사용은 모든 가능한 유형의 장치 및 컴퓨팅 장치(810) 또는 통신 네트워크에 정보를 입력하는 방법을 포함하도록 의도된다.
사용자 인터페이스 출력 장치(820)는 디스플레이 서브 시스템, 프린터, 팩스 머신, 또는 오디오 출력 장치와 같은 비 시각적 디스플레이를 포함할 수 있다. 디스플레이 서브 시스템은 음극선 관(CRT), 액정 디스플레이(LCD)와 같은 평판 장치, 프로젝션 장치, 또는 가시적 이미지를 생성하기 위한 다른 메커니즘을 포함할 수 있다. 디스플레이 서브 시스템은 또한 오디오 출력 장치를 통해 비시각적 디스플레이를 제공할 수 있다. 일반적으로, "출력 장치"라는 용어의 사용은 모든 가능한 유형의 장치 및 컴퓨팅 장치(810)로부터 사용자 또는 다른 기기 또는 컴퓨팅 장치로 정보를 출력하는 방법을 포함하도록 의도된다.
저장 서브 시스템(824)은 상술된 모듈의 일부 또는 전부의 기능을 제공하는 프로그래밍 및 데이터 구조를 저장한다. 예를 들어, 저장 서브 시스템(824)은 도 1 내지 도 3의 방법들에서 선택된 측면을 수행할 뿐만 아니라, 도 6과 도 7에 묘사된 다양한 구성 요소를 구현하기 위한 로직(logic)을 포함할 수 있다.
이러한 소프트웨어 모듈은 일반적으로 프로세서(814)에 의해 단독으로 또는 다른 프로세서와 결합하여 실행된다. 저장 서브 시스템(824)에서 사용되는 메모리(825)는 프로그램 실행 동안 명령어 및 데이터를 저장하기 위한 메인 랜덤 액세스 메모리(RAM)(830) 및 고정 명령어가 저장되는 읽기 전용 메모리(ROM)(832)를 포함하는 다수의 메모리를 포함할 수 있다. 파일 저장 서브 시스템(826)은 프로그램 및 데이터 파일에 대한 영구 저장을 제공할 수 있으며, 하드 디스크 드라이브, 플로피 디스크 드라이브와 관련된 이동식 미디어, CD-ROM 드라이브, 광학 드라이브 또는 이동식 미디어 카트리지를 포함할 수 있다. 특정 구현 기능을 구현하는 모듈은, 저장 서브 시스템(824)의 파일 저장 서브 시스템(826)에 의해, 또는 프로세서(들)(814)에 의해 액세스 가능한 다른 기기에 저장될 수 있다.
버스 서브 시스템(812)은 컴퓨팅 장치(810)의 다양한 구성 요소 및 서브 시스템이 서로 간에 통신할 수 있도록 하는 메커니즘을 제공한다. 버스 서브 시스템(812)이 단일 버스로서 개략적으로 도시되어 있지만, 버스 서브 시스템의 대안적인 구현은 다중 버스를 사용할 수 있다.
컴퓨팅 장치(810)는 워크 스테이션, 서버, 컴퓨팅 클러스터, 블레이드 서버, 서버 팜, 또는 임의의 다른 데이터 처리 시스템 또는 컴퓨팅 장치를 포함하는 다양한 유형일 수 있다. 컴퓨터 및 네트워크가 끊임없이 변화하는 특성으로 인해, 도 8에 도시된 컴퓨팅 장치(810)의 설명은 일부 구현을 설명하기 위한 특정 예로서만 의도된다. 컴퓨팅 장치(810)의 많은 다른 구성은 도 8에 도시된 컴퓨팅 장치보다 더 많거나 적은 구성 요소를 가질 수 있다.
여러 구현이 여기에 설명되고 예시되었지만, 기능의 수행 및/또는, 결과 및/또는 여기에 설명된 하나 이상의 이점을 획득하기 위한 다양한 다른 수단 및/또는 구조가 활용될 수 있다. 그리고 그러한 각각의 변형 및/또는 수정은 여기에 설명된 구현의 범위 내에 있는 것으로 간주된다. 보다 일반적으로, 본 명세서에 설명된 모든 매개 변수, 치수, 재료 및 구성은 예시적인 것이며 실제 매개 변수, 치수, 재료 및/또는 구성은 교시가 사용되는 특정 애플리케이션 또는 애플리케이션들에 따라 달라질 수 있다. 당업자는 단지 일상적인 실험을 사용하여 본 명세서에 설명된 특정 구현에 대한 많은 등가물을 인식하거나 확인할 수 있을 것이다. 따라서 전술한 구현은 단지 예로서 제시된 것이며, 첨부된 청구 범위 및 그 균등 물의 범위 내에서, 구현이 구체적으로 설명되고 청구된 것과 달리 실행될 수 있다는 것을 이해해야 한다. 본 개시 내용의 구현은 본원에 기재된 각각의 개별적인 특징, 시스템, 물품, 재료, 키트 및/또는 방법에 관한 것이다. 또한, 그러한 특징, 시스템, 물품, 재료, 키트 및/또는 방법이 서로 일치하지 않는 경우, 이러한 특징, 시스템, 물품, 재료, 키트 및/또는 방법의 임의의 조합은 본 개시의 범위 내에 포함된다.

Claims (34)

  1. 하나 이상의 프로세서를 사용하여 구현되는 방법으로서,
    제1 리스닝 상태에서 자동화된 어시스턴트를 실행하는 단계 -상기 자동화된 어시스턴트는 사용자에 의해 작동되는 하나 이상의 컴퓨팅 장치에서 적어도 부분적으로 실행됨-;
    제1 리스닝 상태에 있는 동안:
    하나 이상의 핫 워드의 기본 세트 중 하나 이상에 대해 하나 이상의 마이크로폰에 의해 캡처된 오디오 데이터를 모니터링하는 단계 -상기 기본 세트의 하나 이상의 핫 워드의 검출은 상기 자동화된 어시스턴트가 상기 제1 리스닝 상태로부터 오디오 데이터 또는 추가 오디오 데이터의 일부가 STT(speech-to-text) 처리를 사용하여 처리되는 음성 인식 상태로 전환하도록 트리거함-;
    하나 이상의 컴퓨팅 장치와 통합된 하나 이상의 하드웨어 센서에 의해 생성된 하나 이상의 센서 신호를 검출하는 단계;
    상기 사용자의 속성을 결정하기 위해 상기 하나 이상의 센서 신호를 분석하는 단계;
    상기 분석에 기초하여, 상기 자동화된 어시스턴트를 상기 제1 리스닝 상태에서 제2 리스닝 상태로 전환하는 단계; 그리고
    상기 제2 리스닝 상태에 있는 동안:
    상기 기본 세트의 하나 이상의 핫 워드에 대해 하나 이상의 마이크로폰에 의해 캡처된 상기 오디오 데이터의 모니터링을 중단하는 단계, 그리고
    상기 기본 세트의 하나 이상의 핫 워드 대신에, 커스텀 세트(custom set)의 하나 이상의 핫 워드에 대해 하나 이상의 마이크로폰에 의해 캡처된 오디오 데이터를 모니터링하는 단계를 포함하며,
    상기 커스텀 세트의 하나 이상의 핫 워드의 검출은 응답 동작을 수행하기 위해 상기 자동화된 어시스턴트를 트리거하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  2. 제1항에 있어서, 상기 하나 이상의 하드웨어 센서는 근접 센서를 포함하고, 상기 사용자의 속성은,
    상기 근접 센서에 의해 검출되는 사용자, 또는 하나 이상의 컴퓨팅 장치의 미리결정된 거리 내에서 근접 센서에 의해 검출되는 사용자의 속성을 포함하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  3. 제1항에 있어서, 상기 하나 이상의 하드웨어 센서는 카메라를 포함하고, 상기 사용자의 속성은,
    상기 카메라에 의해 검출되는 사용자 또는 하나 이상의 컴퓨팅 장치의 미리결정된 거리 내에서 상기 카메라에 의해 검출되는 사용자의 속성을 포함하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  4. 제3항에 있어서, 상기 분석은 안면 인식 처리를 포함하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  5. 제4항에 있어서, 상기 사용자의 속성은 상기 사용자의 신원(identity) 또는 그룹 내 상기 사용자의 멤버십을 포함하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  6. 제1항에 있어서, 상기 응답 동작은 상기 자동화된 어시스턴트를 기본 리스닝 상태에서 음성 인식 상태로 전환하는 것을 포함하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  7. 제1항에 있어서, 상기 하나 이상의 하드웨어 센서는 하나 이상의 마이크로폰을 포함하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  8. 제7항에 있어서, 상기 하나 이상의 속성은 하나 이상의 마이크로폰에 의해 캡처된 오디오 데이터에 기초하여 청각적으로 검출되는 사용자의 속성을 포함하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  9. 제7항에 있어서, 상기 분석은 음성 인식 처리를 포함하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  10. 제9항에 있어서, 상기 사용자의 속성은 상기 사용자의 신원(identity) 또는 그룹 내 상기 사용자의 멤버십을 포함하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  11. 하나 이상의 프로세서를 사용하여 구현되는 방법으로서,
    제1 리스닝 상태에서 자동화된 어시스턴트를 실행하는 단계 -상기 자동화된 어시스턴트는 사용자에 의해 작동되는 하나 이상의 컴퓨팅 장치에서 적어도 부분적으로 실행됨-;
    제1 리스닝 상태에 있는 동안:
    하나 이상의 핫 워드의 기본 세트 중 하나 이상에 대해 하나 이상의 마이크로폰에 의해 캡처된 오디오 데이터를 모니터링하는 단계 -상기 기본 세트의 하나 이상의 핫 워드의 검출은 상기 자동화된 어시스턴트가 상기 제1 리스닝 상태로부터 오디오 데이터 또는 추가 오디오 데이터의 일부가 STT(speech-to-text) 처리를 사용하여 처리되는 음성 인식 상태로 전환하도록 트리거함-;
    하나 이상의 컴퓨팅 장치와 통합된 하나 이상의 하드웨어 센서에 의해 생성된 하나 이상의 센서 신호를 검출하는 단계;
    사용자의 속성을 결정하기 위해 하나 이상의 센서 신호를 분석하는 단계;
    상기 분석에 기초하여, 상기 자동화된 어시스턴트를 상기 제1 리스닝 상태에서 제2 리스닝 상태로 전환하는 단계; 그리고
    상기 제2 리스닝 상태에 있는 동안:
    상기 기본 세트의 핫 워드 중 하나 이상을 사용하여 상기 자동화 어시스턴트의 호출에 필요한 신뢰 임계값을 높이는 단계; 그리고
    커스텀 세트의 하나 이상의 핫 워드에 대해 하나 이상의 마이크로폰에 의해 캡처된 오디오 데이터를 모니터링하는 단계를 포함하며, 상기 커스텀 세트의 하나 이상의 핫 워드의 검출은 응답 동작을 수행하기 위해 상기 자동화된 어시스턴트를 트리거하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  12. 제11항에 있어서, 상기 방법은,
    상기 제2 리스닝 상태에서, 상기 커스텀 세트의 하나 이상의 핫 워드를 사용하여 상기 자동화 어시스턴트의 호출에 필요한 신뢰 임계값을 활성화하는 단계를 더 포함하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  13. 제11항에 있어서, 상기 방법은,
    상기 제2 리스닝 상태에서, 상기 커스텀 세트의 하나 이상의 핫 워드를 사용하여 상기 자동화 어시스턴트의 호출에 필요한 신뢰 임계값을 낮추는 단계를 더 포함하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  14. 제11항에 있어서, 상기 하나 이상의 하드웨어 센서는 근접 센서를 포함하고, 상기 사용자의 속성은,
    상기 근접 센서에 의해 검출되는 사용자 또는 하나 이상의 컴퓨팅 장치의 미리결정된 거리 내에서 근접 센서에 의해 검출된 사용자의 속성을 포함하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  15. 제11항에 있어서, 상기 하나 이상의 하드웨어 센서는 카메라를 포함하고, 상기 사용자의 속성은,
    상기 카메라에 의해 검출되는 사용자 또는 하나 이상의 컴퓨팅 장치의 미리결정된 거리 내에서 카메라에 의해 검출된 사용자의 속성을 포함하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  16. 제15항에 있어서, 상기 분석은 안면 인식 처리를 포함하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  17. 제16항에 있어서, 상기 사용자의 속성은 사용자의 신원(identity) 또는 그룹 내 상기 사용자의 멤버십을 포함하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  18. 제1항에 있어서, 상기 응답 동작은 상기 자동화된 어시스턴트를 기본 리스닝 상태에서 음성 인식 상태로 전환하는 것을 포함하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  19. 하나 이상의 프로세서를 사용하여 구현되는 방법으로서,
    기본 리스닝 상태에서 자동화된 어시스턴트를 실행하는 단계 -상기 자동화된 어시스턴트는 사용자에 의해 작동되는 하나 이상의 컴퓨팅 장치에서 적어도 부분적으로 실행됨-;
    상기 기본 리스닝 상태에 있는 동안, 하나 이상의 핫 워드의 기본 세트 중 하나 이상에 대해 하나 이상의 마이크로폰에 의해 캡처된 오디오 데이터를 모니터링하는 단계 -기본 세트의 하나 이상의 핫 워드의 검출은 상기 자동화된 어시스턴트가 기본 리스닝 상태로부터 음성 인식 상태로 전환하도록 트리거함-;
    하나 이상의 컴퓨팅 장치와 통합된 하나 이상의 하드웨어 센서에 의해 생성된 하나 이상의 센서 신호를 검출하는 단계;
    사용자의 속성을 결정하기 위해 하나 이상의 센서 신호를 분석하는 단계;
    상기 분석에 기초하여, 상기 자동화된 어시스턴트를 상기 기본 리스닝 상태에서 향상된(enhanced) 리스닝 상태로 전환하는 단계; 그리고
    상기 향상된 리스닝 상태에 있는 동안, 하나 이상의 핫 워드의 향상된 세트 중 하나 이상에 대해 하나 이상의 마이크로폰에 의해 캡처된 오디오 데이터를 모니터링하는 단계를 포함하며,
    상기 향상된 세트의 하나 이상의 핫 워드의 검출은 상기 자동화된 어시스턴트로 하여금 STT(speech-to-text) 처리를 수행하지 않고 응답 동작을 수행하도록 트리거하고, 상기 응답 동작은 상기 기본 세트의 하나 이상의 핫 워드의 검출 없이 수행되며, 상기 향상된 세트의 하나 이상의 핫 워드는 상기 기본 세트에 존재하지 않는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  20. 하나 이상의 프로세서를 사용하여 구현되는 방법으로서,
    기본 리스닝 상태에서 자동화된 어시스턴트(120)를 실행하는 단계(702) -상기 자동화된 어시스턴트는 사용자에 의해 작동되는 하나 이상의 컴퓨팅 장치(106)에서 적어도 부분적으로 실행됨-;
    상기 기본 리스닝 상태에 있는 동안, 하나 이상의 핫 워드의 기본 세트 중 하나 이상에 대해 하나 이상의 마이크로폰(109)에 의해 캡처된 오디오 데이터를 모니터링(704)하는 단계 -상기 기본 세트의 하나 이상의 핫 워드의 검출은 상기 자동화된 어시스턴트가 상기 기본 리스닝 상태로부터 음성 인식 상태로 전환하도록 트리거함-;
    하나 이상의 컴퓨팅 장치와 통합된 하나 이상의 하드웨어 센서(105, 107, 109)에 의해 생성된 하나 이상의 센서 신호를 검출하는 단계(706);
    사용자의 속성을 결정하기 위해 하나 이상의 센서 신호를 분석하는 단계(708);
    상기 분석에 기초하여, 상기 자동화된 어시스턴트를 상기 기본 리스닝 상태에서 향상된(enhanced) 리스닝 상태로 전환하는 단계(710); 그리고
    상기 향상된 리스닝 상태에 있는 동안, 하나 이상의 핫 워드의 향상된 세트 중 하나 이상에 대해 하나 이상의 마이크로폰에 의해 캡처된 오디오 데이터를 모니터링(712)하는 단계를 포함하며,
    상기 향상된 세트의 하나 이상의 핫 워드의 검출(618)은 자동화된 어시스턴트가 STT(speech-to-text) 처리를 수행하지 않고 응답 동작을 수행하도록 트리거하고, 상기 응답 동작은 상기 기본 세트의 하나 이상의 핫 워드의 검출 없이 수행되며, 상기 향상된 세트의 하나 이상의 핫 워드는 상기 기본 세트에 존재하지 않는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  21. 제20항에 있어서, 상기 하나 이상의 하드웨어 센서는 근접 센서를 포함하고, 상기 사용자의 속성은,
    상기 근접 센서에 의해 검출되는 사용자 또는 하나 이상의 컴퓨팅 장치의 미리결정된 거리 내에서 상기 근접 센서에 의해 검출되는 사용자의 속성을 포함하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  22. 선행하는 청구항 중 어느 한 항에 있어서, 상기 하나 이상의 하드웨어 센서는 카메라를 포함하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  23. 제22항에 있어서, 상기 사용자의 속성은,
    상기 카메라에 의해 검출되는 사용자 또는 하나 이상의 컴퓨팅 장치의 미리결정된 거리 내에서 상기 카메라에 의해 검출되는 사용자의 속성을 포함하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  24. 제23항에 있어서, 상기 분석은 안면 인식 처리를 포함하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  25. 제24항에 있어서, 상기 사용자의 속성은 상기 사용자의 신원(identity)을 포함하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  26. 제22항에 있어서, 상기 사용자의 속성은 그룹 내 사용자의 멤버십을 포함하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  27. 선행하는 청구항 중 어느 한 항에 있어서, 상기 하나 이상의 하드웨어 센서는 하나 이상의 마이크로폰을 포함하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  28. 제27항에 있어서, 상기 하나 이상의 속성은 하나 이상의 마이크로폰에 의해 캡처된 오디오 데이터에 기초하여 청각적으로 검출되는 사용자의 속성을 포함하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  29. 제27항에 있어서, 상기 분석은 음성 인식 처리를 포함하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  30. 제29항에 있어서, 상기 사용자의 속성은 상기 사용자의 신원(identity)을 포함하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  31. 제27항에 있어서, 상기 사용자의 속성은 그룹 내 사용자의 멤버십을 포함하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  32. 선행하는 청구항 중 어느 한 항에 있어서, 상기 응답 동작은 상기 자동화된 어시스턴트를 음성 인식 상태로 전환하는 것을 포함하고, 및/또는
    상기 응답 동작은 상기 자동화된 어시스턴트가 상기 향상된 세트의 하나 이상의 핫 워드를 사용하여 사용자에 의해 요청된 태스크를 수행하는 것을 포함하는 것을 특징으로 하는 하나 이상의 프로세서를 사용하여 구현되는 방법.
  33. 시스템으로서,
    하나 이상의 프로세서; 그리고
    상기 하나 이상의 프로세서와 작동 가능하게 결합된 메모리를 포함하며, 상기 메모리는 상기 하나 이상의 프로세서에 의한 명령어의 실행에 응답하여 상기 하나 이상의 프로세서로 하여금 제20항 내지 제32항 중 어느 한 항의 방법을 수행하게 하는 상기 명령어를 저장하는 것을 특징으로 하는 시스템.
  34. 적어도 하나의 비일시적 컴퓨터 판독 가능 매체로서,
    하나 이상의 프로세서에 의한 명령어의 실행에 응답하여 상기 하나 이상의 프로세서로 하여금 제20항 내지 제32항 중 어느 한 항의 방법을 수행하게 하는 상기 명령어를 포함하는 것을 특징으로 하는 적어도 하나의 비일시적 컴퓨터 판독 가능 매체.
KR1020237004456A 2018-08-21 2018-08-21 자동화된 어시스턴트를 호출하기 위한 다이내믹 및/또는 컨텍스트 특정 핫워드 KR102599607B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
PCT/US2018/047281 WO2020040745A1 (en) 2018-08-21 2018-08-21 Dynamic and/or context-specific hot words to invoke automated assistant
KR1020207035756A KR102498811B1 (ko) 2018-08-21 2018-08-21 자동화된 어시스턴트를 호출하기 위한 다이내믹 및/또는 컨텍스트 특정 핫워드

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020207035756A Division KR102498811B1 (ko) 2018-08-21 2018-08-21 자동화된 어시스턴트를 호출하기 위한 다이내믹 및/또는 컨텍스트 특정 핫워드

Publications (2)

Publication Number Publication Date
KR20230023832A true KR20230023832A (ko) 2023-02-17
KR102599607B1 KR102599607B1 (ko) 2023-11-07

Family

ID=63668008

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020207035756A KR102498811B1 (ko) 2018-08-21 2018-08-21 자동화된 어시스턴트를 호출하기 위한 다이내믹 및/또는 컨텍스트 특정 핫워드
KR1020237004456A KR102599607B1 (ko) 2018-08-21 2018-08-21 자동화된 어시스턴트를 호출하기 위한 다이내믹 및/또는 컨텍스트 특정 핫워드

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020207035756A KR102498811B1 (ko) 2018-08-21 2018-08-21 자동화된 어시스턴트를 호출하기 위한 다이내믹 및/또는 컨텍스트 특정 핫워드

Country Status (6)

Country Link
US (2) US11257487B2 (ko)
EP (2) EP4036910A1 (ko)
JP (2) JP7341171B2 (ko)
KR (2) KR102498811B1 (ko)
CN (1) CN112292724A (ko)
WO (1) WO2020040745A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102498811B1 (ko) 2018-08-21 2023-02-10 구글 엘엘씨 자동화된 어시스턴트를 호출하기 위한 다이내믹 및/또는 컨텍스트 특정 핫워드
US10657968B1 (en) * 2018-11-19 2020-05-19 Google Llc Controlling device output according to a determined condition of a user
CN111402900B (zh) * 2018-12-29 2024-04-23 华为技术有限公司 一种语音交互方法,设备和系统
CN111475206B (zh) * 2019-01-04 2023-04-11 优奈柯恩(北京)科技有限公司 用于唤醒可穿戴设备的方法及装置
KR20200126509A (ko) * 2019-04-30 2020-11-09 삼성전자주식회사 가전기기 및 이의 제어 방법
EP3970139A1 (en) * 2019-10-15 2022-03-23 Google LLC Detection and/or enrollment of hot commands to trigger responsive action by automated assistant
US11145315B2 (en) * 2019-10-16 2021-10-12 Motorola Mobility Llc Electronic device with trigger phrase bypass and corresponding systems and methods
US11741969B1 (en) * 2020-04-09 2023-08-29 Amazon Technologies, Inc. Controlled access to device data
US11557278B2 (en) * 2020-12-10 2023-01-17 Google Llc Speaker dependent follow up actions and warm words
US11842737B2 (en) * 2021-03-24 2023-12-12 Google Llc Automated assistant interaction prediction using fusion of visual and audio input
US11557293B2 (en) 2021-05-17 2023-01-17 Google Llc Contextual suppression of assistant command(s)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002251235A (ja) * 2001-02-23 2002-09-06 Fujitsu Ltd 利用者インタフェースシステム
US20150053779A1 (en) * 2013-08-21 2015-02-26 Honeywell International Inc. Devices and methods for interacting with an hvac controller
US20150262577A1 (en) * 2013-08-29 2015-09-17 Panasonic Intellectual Property Corporation Of America Speech recognition method and speech recognition apparatus
US20170193996A1 (en) * 2013-05-24 2017-07-06 Google Technology Holdings LLC Method and Apparatus for Using Image Data to Aid Voice Recognition
JP2017144521A (ja) * 2016-02-18 2017-08-24 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム

Family Cites Families (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6665639B2 (en) 1996-12-06 2003-12-16 Sensory, Inc. Speech recognition in consumer electronic products
SE9902229L (sv) 1999-06-07 2001-02-05 Ericsson Telefon Ab L M Apparatus and method of controlling a voice controlled operation
JP4247002B2 (ja) 2003-01-22 2009-04-02 富士通株式会社 マイクロホンアレイを用いた話者距離検出装置及び方法並びに当該装置を用いた音声入出力装置
US8140325B2 (en) * 2007-01-04 2012-03-20 International Business Machines Corporation Systems and methods for intelligent control of microphones for speech recognition applications
US9858925B2 (en) 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
NZ581850A (en) 2009-08-27 2011-12-22 Eyemagnet Ltd Informational content scheduling system and method
US8437455B2 (en) 2010-01-12 2013-05-07 American Express Travel Related Services Company, Inc. System, method and computer program product for globally portable interactive voice response (IVR) systems
US8768707B2 (en) 2011-09-27 2014-07-01 Sensory Incorporated Background speech recognition assistant using speaker verification
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9536528B2 (en) 2012-07-03 2017-01-03 Google Inc. Determining hotword suitability
AU2013328923A1 (en) 2012-10-12 2015-04-16 Hallmark Cards, Incorporated Context-based interactive plush toy
US9734151B2 (en) * 2012-10-31 2017-08-15 Tivo Solutions Inc. Method and system for voice based media search
US11393461B2 (en) 2013-03-12 2022-07-19 Cerence Operating Company Methods and apparatus for detecting a voice command
US9361885B2 (en) 2013-03-12 2016-06-07 Nuance Communications, Inc. Methods and apparatus for detecting a voice command
US9892729B2 (en) 2013-05-07 2018-02-13 Qualcomm Incorporated Method and apparatus for controlling voice activation
US9548047B2 (en) 2013-07-31 2017-01-17 Google Technology Holdings LLC Method and apparatus for evaluating trigger phrase enrollment
US9373321B2 (en) 2013-12-02 2016-06-21 Cypress Semiconductor Corporation Generation of wake-up words
US8719039B1 (en) 2013-12-05 2014-05-06 Google Inc. Promoting voice actions to hotwords
US9804820B2 (en) 2013-12-16 2017-10-31 Nuance Communications, Inc. Systems and methods for providing a virtual assistant
US9082407B1 (en) 2014-04-15 2015-07-14 Google Inc. Systems and methods for providing prompts for voice commands
EP3158427B1 (en) * 2014-06-19 2022-12-28 Robert Bosch GmbH System and method for speech-enabled personalized operation of devices and services in multiple operating environments
US9263042B1 (en) 2014-07-25 2016-02-16 Google Inc. Providing pre-computed hotword models
US10789041B2 (en) * 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
JP6514475B2 (ja) * 2014-10-03 2019-05-15 株式会社Nttドコモ 対話装置および対話方法
US9318107B1 (en) 2014-10-09 2016-04-19 Google Inc. Hotword detection on multiple devices
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
EP3067884B1 (en) 2015-03-13 2019-05-08 Samsung Electronics Co., Ltd. Speech recognition system and speech recognition method thereof
US10097973B2 (en) 2015-05-27 2018-10-09 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
CN105204743A (zh) 2015-09-28 2015-12-30 百度在线网络技术(北京)有限公司 用于语音和视频通讯的交互控制方法及装置
US9542941B1 (en) * 2015-10-01 2017-01-10 Lenovo (Singapore) Pte. Ltd. Situationally suspending wakeup word to enable voice command input
US9792907B2 (en) 2015-11-24 2017-10-17 Intel IP Corporation Low resource key phrase detection for wake on voice
US9691384B1 (en) 2016-08-19 2017-06-27 Google Inc. Voice action biasing system
US10217453B2 (en) 2016-10-14 2019-02-26 Soundhound, Inc. Virtual assistant configured by selection of wake-up phrase
US11003417B2 (en) * 2016-12-15 2021-05-11 Samsung Electronics Co., Ltd. Speech recognition method and apparatus with activation word based on operating environment of the apparatus
US10276161B2 (en) 2016-12-27 2019-04-30 Google Llc Contextual hotwords
US10469755B2 (en) 2017-05-16 2019-11-05 Google Llc Storing metadata related to captured images
DK179560B1 (en) * 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10950228B1 (en) 2017-06-28 2021-03-16 Amazon Technologies, Inc. Interactive voice controlled entertainment
CN107564518B (zh) * 2017-08-21 2021-10-22 百度在线网络技术(北京)有限公司 智能设备控制方法、装置及计算机设备
US10546583B2 (en) 2017-08-30 2020-01-28 Amazon Technologies, Inc. Context-based device arbitration
US10586534B1 (en) * 2017-09-27 2020-03-10 Amazon Technologies, Inc. Voice-controlled device control using acoustic echo cancellation statistics
US10636421B2 (en) * 2017-12-27 2020-04-28 Soundhound, Inc. Parse prefix-detection in a human-machine interface
CN111357048A (zh) * 2017-12-31 2020-06-30 美的集团股份有限公司 用于控制家庭助手装置的方法和系统
TWI677709B (zh) 2018-01-09 2019-11-21 瑞軒科技股份有限公司 顯示裝置組件
US11164572B2 (en) * 2018-05-01 2021-11-02 Dell Products, L.P. Intelligent assistance across voice services
US20200047687A1 (en) * 2018-08-10 2020-02-13 SF Motors Inc. Exterior speech interface for vehicle
US10929098B2 (en) 2018-08-17 2021-02-23 The Toronto-Dominion Bank Methods and systems for conducting a session over audible and visual interfaces
KR102498811B1 (ko) 2018-08-21 2023-02-10 구글 엘엘씨 자동화된 어시스턴트를 호출하기 위한 다이내믹 및/또는 컨텍스트 특정 핫워드

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002251235A (ja) * 2001-02-23 2002-09-06 Fujitsu Ltd 利用者インタフェースシステム
US20170193996A1 (en) * 2013-05-24 2017-07-06 Google Technology Holdings LLC Method and Apparatus for Using Image Data to Aid Voice Recognition
US20150053779A1 (en) * 2013-08-21 2015-02-26 Honeywell International Inc. Devices and methods for interacting with an hvac controller
US20150262577A1 (en) * 2013-08-29 2015-09-17 Panasonic Intellectual Property Corporation Of America Speech recognition method and speech recognition apparatus
JP2017144521A (ja) * 2016-02-18 2017-08-24 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム

Also Published As

Publication number Publication date
JP2021532394A (ja) 2021-11-25
CN112292724A (zh) 2021-01-29
WO2020040745A1 (en) 2020-02-27
JP7341171B2 (ja) 2023-09-08
US20220246140A1 (en) 2022-08-04
US20200342855A1 (en) 2020-10-29
JP2023015054A (ja) 2023-01-31
US11810557B2 (en) 2023-11-07
KR102599607B1 (ko) 2023-11-07
EP3631793A1 (en) 2020-04-08
EP3631793B1 (en) 2022-03-30
EP4036910A1 (en) 2022-08-03
KR102498811B1 (ko) 2023-02-10
US11257487B2 (en) 2022-02-22
KR20210008089A (ko) 2021-01-20

Similar Documents

Publication Publication Date Title
KR102498811B1 (ko) 자동화된 어시스턴트를 호출하기 위한 다이내믹 및/또는 컨텍스트 특정 핫워드
JP7354301B2 (ja) 自動アシスタントによって応答アクションをトリガするためのホットコマンドの検出および/または登録
JP7418526B2 (ja) 自動アシスタントを起動させるための動的および/またはコンテキスト固有のホットワード
EP3895161B1 (en) Utilizing pre-event and post-event input streams to engage an automated assistant
US11392213B2 (en) Selective detection of visual cues for automated assistants

Legal Events

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