KR20190032557A - 음성 기반 통신 - Google Patents

음성 기반 통신 Download PDF

Info

Publication number
KR20190032557A
KR20190032557A KR1020197005828A KR20197005828A KR20190032557A KR 20190032557 A KR20190032557 A KR 20190032557A KR 1020197005828 A KR1020197005828 A KR 1020197005828A KR 20197005828 A KR20197005828 A KR 20197005828A KR 20190032557 A KR20190032557 A KR 20190032557A
Authority
KR
South Korea
Prior art keywords
speech
audio data
time
output
text
Prior art date
Application number
KR1020197005828A
Other languages
English (en)
Inventor
크리스토 프랭크 데바라지
매니쉬 쿠말 달미아
토니 로이 하디
닉 치우보타리우
산드라 레몬
Original Assignee
아마존 테크놀로지스, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US15/254,458 external-priority patent/US10453449B2/en
Priority claimed from US15/254,359 external-priority patent/US10074369B2/en
Priority claimed from US15/254,600 external-priority patent/US10580404B2/en
Application filed by 아마존 테크놀로지스, 인크. filed Critical 아마존 테크놀로지스, 인크.
Publication of KR20190032557A publication Critical patent/KR20190032557A/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
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/18Commands or executable codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42229Personal communication services, i.e. services related to one subscriber independent of his terminal and/or location
    • H04M3/42263Personal communication services, i.e. services related to one subscriber independent of his terminal and/or location where the same subscriber uses different terminals, i.e. nomadism
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/0024Services and arrangements where telephone services are combined with data services
    • H04M7/0042Services and arrangements where telephone services are combined with data services where the data service is a text-based messaging service
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech 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/08Speech classification or search
    • G10L2015/088Word spotting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/14Delay circuits; Timers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/65Aspects of automatic or semi-automatic exchanges related to applications where calls are combined with other types of communication
    • H04M2203/652Call initiation triggered by text message

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Telephonic Communication Services (AREA)

Abstract

화법 제어형 디바이스를 통해 음성 기반 상호 작용을 에스컬레이트시키기 위한 시스템들, 방법들, 및 디바이스들이 설명된다. 화법 제어형 디바이스는 화법 제어형 디바이스 간에 메시지를 릴레이하기 위해 서버에 발송하기 위해 웨이크워드 부분 및 페이로드 부분을 포함하여 오디오를 캡처한다. 동일한 2개의 디바이스 간의 반복된 메시지와 같은 에스컬레이션 이벤트의 발생을 결정하는 것에 응답하여, 시스템은 더 이상 웨이크워드를 필요로 하지 않거나, 더 이상 원하는 수신자의 표시를 요구하지 않거나 또는 음성 채팅 모드에서 두 개의 화법 제어형 디바이스를 자동으로 연결하는 것과 같이 화법 제어형 디바이스의 모드를 자동으로 변경할 수 있다. 추가 에스컬레이션 이벤트의 발생을 결정하는 것에 응답하여, 시스템은 화법 제어형 디바이스 간에 실시간 호출을 개시할 수 있다.

Description

음성 기반 통신
관련 출원에 대한 상호 참조
본 출원은 Christo Frank Devaraj 등의 이름으로 2016년 9월 1일자로 출원된 "Voice-Based Communications"라는 명칭의 미국 특허 출원 제15/254,359호에 대한 우선권을 주장한다.
본 출원은 Christop Frank Devaraj 등의 이름으로 2016년 9월 1일자로 출원된 "Indicator for Voice-Based Communications"라는 명칭의 미국 특허 출원 제15/254,458호에 대한 우선권을 주장한다.
본 출원은 Christop Frank Devaraj 등의 이름으로 2016년 9월 1일자로 출원된 "Indicator for Voice-Based Communications"라는 명칭의 미국 특허 출원 제15/254,600호에 대한 우선권을 주장한다.
상기 출원들은 그 전체가 본 출원에 참고로 통합된다.
화법 인식 시스템(speech recognition system)은 사람들의 말에 의존하여 컴퓨팅 디바이스와 상호 작용할 수 있는 지점까지 발전했다. 이러한 시스템은 수신된 오디오 입력의 다양한 품질에 기초하여 인간 사용자가 말한 단어를 식별하는 기술을 사용한다. 자연 언어 이해 처리 기술과 결합된 화법 인식은 컴퓨팅 디바이스의 화법 기반 사용자 제어가 사용자의 말한 명령(command)에 기초하여 작업(task)을 수행할 수 있게 한다. 화법 인식 및 자연 언어 이해 처리 기술의 조합은 본 출원에서 화법 처리(speech processing)으로 지칭된다. 화법 처리는 또한 사용자의 화법을 다양한 텍스트 기반 소프트웨어 애플리케이션에 제공될 수 있는 텍스트 데이터로 변환하는 것을 포함할 수 있다.
컴퓨터, 핸드 헬드 디바이스, 전화 컴퓨터 시스템, 키오스크 및 기타 다양한 디바이스에 의해 화법 처리가 사용되어 사람과 컴퓨터의 상호 작용을 향상시킬 수 있다.
본 발명의 보다 완전한 이해를 위해, 이제 첨부 도면과 관련하여 취해진 이하의 설명에 참조가 이루어진다.
도 1a는 화법 제어(speech-controlled) 디바이스를 통한 음성 기반(voice-based) 상호 작용을 변경하기 위한 시스템을 도시한다.
도 1b는 화법 제어형 디바이스를 통하여 메시징 동안에 사용자에게 신호를 출력하는 시스템을 도시한다.
도 2는 화법 처리 시스템의 개념도이다.
도 3은 자연 언어 이해에 대한 멀티 도메인 아키텍처 접근법의 개념도이다.
도 4는 사용자 프로파일들에 저장되고 연관되는 데이터를 예시한다.
도 5a 내지 도 5d는 화법 제어형 디바이스를 통한 음성 기반 상호 작용의 변경을 도시한 신호 흐름도이다.
도 6a 및 도 6b는 화법 제어형 디바이스를 통한 음성 기반 상호 작용의 변경을 도시한 신호 흐름도이다.
도 7은 화법 제어형 디바이스를 통한 음성 기반 상호 작용의 변경을 도시한 신호 흐름도이다.
도 8a 및 도 8b는 화법 제어형 디바이스의 사용자 인터페이스를 통한 시그널링(signaling)의 출력을 도시한 신호 흐름도이다.
도 9는 화법 제어형 디바이스의 사용자 인터페이스를 통한 시그널링 출력을 도시한 신호 흐름도이다.
도 10a 내지 도 10c는 화법 제어형 디바이스를 통해 사용자에게 출력되는 예시적인 신호를 도시한다.
도 11a 및 도 11b는 화법 제어형 디바이스를 통해 사용자에게 출력되는 예시적인 신호를 도시한다.
도 12는 화법 제어형 디바이스를 통해 사용자에게 출력되는 예시적인 신호를 도시한다.
도 13은 본 발명의 실시예에 따른 화법 제어형 디바이스의 예시적인 컴포넌트를 개념적으로 도시한 블록도이다.
도 14는 본 발명의 실시예에 따른 서버의 예시적인 컴포넌트를 개념적으로 도시한 블록도이다.
도 15는 본 발명의 시스템과 함께 사용할 수 있는 컴퓨터 네트워크의 일례를 도시한다.
자동 화법 인식(ASR: automatic speech recognition)은 화법과 관련된 오디오 데이터를 해당 화법을 나타내는 텍스트로 변환하는 것과 관련된 컴퓨터 과학, 인공 지능 및 언어학 분야이다. 유사하게, 자연 언어 이해(NLU: natural language understanding)는 컴퓨터가 자연 언어를 포함하는 텍스트 입력으로부터 의미를 도출하는 것과 관련된 컴퓨터 과학, 인공 지능 및 언어학 분야이다. ASR과 NLU는 종종 화법 처리 시스템의 일부로 함께 사용된다.
ASR 및 NLU는 계산 비용이 많이 든다. 즉, 적정한 시간 프레임 내에서 ASR 및 NLU 프로세싱을 처리하는데 상당한 컴퓨팅 자원이 요구될 수 있다. 이 때문에 화법 처리를 수행할 때 분산 컴퓨팅 환경이 사용될 수 있다. 전형적인 이러한 분산 환경은 사용자가 말한 사운드(sound)를 캡처하여 해당 사운드를 오디오 신호로 변환하도록 구성된 하나 이상의 마이크로폰을 갖는 로컬 또는 다른 유형의 클라이언트 디바이스를 포함할 수 있다. 그런 다음 오디오 신호는 오디오 신호를 최종 명령으로 변환하는 것과 같은 추가 처리를 위해 원격 디바이스로 발송될 수 있다. 이 명령은 그런 다음 명령 그 자체에 의존하여 원격 및 사용자 디바이스의 조합에 의해 실행될 수 있다.
특정 구성에서, 화법 처리 시스템은 디바이스들 간에 말하여진 메시지를 통신하도록 구성될 수 있다. 즉, 제1 디바이스는 제2 디바이스와 관련된 수신자에게 메시지를 발송하도록 시스템에 명령하는 발언(utterance)을 캡처할 수 있다. 이에 응답하여, 제2 디바이스의 사용자는 제2 디바이스에 의해 캡처된 발언을 말할 수 있고, 이어서 메시지를 제1 디바이스의 사용자에게 다시 발송하는 처리를 위해 시스템에 발송할 수 있다. 이러한 방식으로, 화법 제어 시스템은 디바이스들 간의 말하여진 메시징을 가능하게 할 수 있다.
이러한 메시징에 대한 하나의 단점은, 그러나, 시스템과 각각의 말하여진 상호 작용에 대하여, 사용자가 웨이크워드(wakeword)(사용자 디바이스를 "웨이크 업(wake up)")뿐만 아니라 메시지의 수신자 둘 모두를 말을 해야 할 필요가 있어서 시스템은 발언에 포함된 메시지를 어떻게 라우팅해야 하는지를 안다. 이러한 전통적인 구성은 사용자와 시스템 간의 상호 작용에 마찰을 일으킬 수 있고 특히 두 명의 사용자가 다수의 메시지를 상호 교환하는 경우에는 더욱 그렇다.
본 개시는 화법 제어형 디바이스를 통해 음성 기반 상호 작용을 변경하기 위한 기술을 제공한다. 화법 제어형 디바이스는 화법 제어형 디바이스간에 메시지를 릴레이(relay)하기 위해 서버에 발송하기 위해 웨이크워드 부분 및 페이로드 부분(payload portion)을 포함하여 오디오를 캡처한다. 통신 변경 트리거, 예컨대, 동일한 두 디바이스 사이에서 반복되는 메시지와 같은 트리거 발생을 결정한 것에 응답하여, 시스템은 예컨대, 더 이상 웨이크 워드를 필요로 하지 않고, 더 이상 원하는 수신자의 표시(indication)를 필요로 하지 않거나 또는 음성 채팅 모드에서 2개의 화법 제어형 디바이스를 자동으로 연결하는 것과 같은 화법 제어형 디바이스의 모드를 자동으로 변경할 수 있다. 화법 제어형 디바이스의 모드가 변경되면, 시스템은 시스템의 디바이스들 간에 메시지 및 다른 데이터가 어떻게 교환되는지를 제어하기 위해 상이한 프로토콜을 사용할 수 있다. 예를 들어, 시스템이 디바이스들 간의 음성 메시지 교환으로부터 디바이스들 간의 동기 호출(synchronous call)(예를 들어, 전화 호출)로 스위칭할 때, 시스템은 메시징 프로토콜의 사용을 중단하고 실시간 프로토콜을 활성화 또는 호출할 수 있다(예를 들어, VoIP(Voice over Internet Protocol)). 추가 통신 변경 트리거의 발생 결정에 응답하여, 시스템은 화법 제어형 디바이스들 간에 실시간 동기식 호출을 개시할 수 있다. 시스템에 의한 통신 변경 트리거들 및 핸들링의 다양한 예가 이하에 예시된다. 본 출원에서 설명된 통신 변경 트리거(communication alteration trigger)는 구성된 임계값의 만족도를 기반으로 시스템이 결정될 수 있다. 즉, 시스템은 사용자로부터 그렇게 하라고 명시적 표시를 수신하지 않고 통신 교환을 변경하도록 구성될 수 있다.
본 개시는 또한 음성 기반 상호 작용에 관한 시각적(또는 오디오, 햅틱 등) 표시를 출력하는 기술을 제공한다. 이러한 표시는 제1 디바이스의 사용자 인터페이스를 사용하여 피드백을 제공할 수 있고, 해당 피드백은 제2 디바이스의 입력 컴포넌트(예를 들어, 마이크로폰)가 제1 사용자 디바이스로부터 발송된 메시지에 대한 응답으로서, 사용자 입력을 수신하는 프로세스에 있다를 나타낸다. 서버가 수신자의 화법 제어형 디바이스에 메시지 컨텐츠를 발송한 후, 서버는 수신자의 화법 제어형 디바이스로부터 디바이스가 화법을 검출하고 있다는 표시를 수신할 수 있다. 이에 응답하여, 서버는 그런 다음 제1 화법 제어형 디바이스에 의해 시각적 표시가 출력되게 하고, 해당 시각적 표시는 수신자 - 화법 제어형 디바이스가 화법을 검출하고 있음을 나타낸다. 이와 같이, 시각적 표시는 화법 제어형 디바이스의 사용자가 서로 "말하기(talking over)"를 방지하기 위해(즉, 화법 제어형 디바이스의 사용자가 동시에 메시지를 말하는 것을 방지하기 위해) 사용될 수 있다는 것이 이해되어야 한다.
도 1a는 화법 제어형 디바이스 사이의 음성 기반의 상호 작용을 변경하도록 구성되는 시스템(100)을 도시한다. 비록 도 1a, 및 이하의 도면/논의는 특정 순서로 시스템(100)의 동작을 예시하지만, 설명된 단계들은 본 개시의 의도로부터 벗어나지 않고 다른 순서로 수행될 수 있다(뿐만 아니라 특정 단계를 제거하거나 추가). 도 1a에 도시된 바와 같이, 시스템(100)은 각각 제1 사용자(5) 및 제2 사용자(7)에 대하여 로컬에 하나 이상의 화법 제어형 디바이스(110a 및 110b)를 포함할 수 있다. 시스템(100)은 또한 하나 이상의 네트워크(199) 및 네트워크(들)(199)를 가로질러 디바이스(110a 및 110b)에 연결된 하나 이상의 서버(120)를 포함한다. 서버(들)(120)(하나 이상의 다른 물리적 디바이스일 수 있음)는 본 출원에서 설명된 기존 화법 처리(예를 들어, ASR, NLU, 쿼리 파싱(parsing) 등)를 수행할 수 있다. 단일 서버는 모든 화법 처리를 수행할 수 있거나 여러 서버가 결합하여 화법 처리를 수행할 수 있다. 더구나, 서버(들)(120)는 제1 사용자(5) 및/또는 제2 사용자(7)에 의해 말하여진 응답 쿼리와 같은 특정 명령을 실행하도록 구성될 수 있다. 추가하여, 특정 화법 검출 또는 명령 실행 기능이 디바이스(110a) 및 (110b)에 의해 수행될 수 있다.
도 1a에 도시된 바와 같이, 사용자(5)는 발언을 말할 수 있다 (입력 오디오(11)로 표시). 입력 오디오(11)는 디바이스(110a)의 하나 이상의 마이크로폰(103a) 및/또는 디바이스(110a)에서 분리된 마이크로폰 어레이(도시하지 않음)에 의해 캡처될 수 있다. 입력 오디오(11)가 마이크로폰 어레이에 의해 수신될 때, 마이크로폰 어레이는 입력 오디오(11)에 대응하는 오디오 데이터를 디바이스(110a)에 발송하도록 마이크로폰 어레이가 디바이스(110a)에 연결될 수 있다. 대안적으로, 마이크로폰 어레이는 스마트 폰, 태블릿 등과 같은 모바일 컴퓨팅 디바이스(도시되지 않음)의 컴패니언(companion) 애플리케이션에 연결될 수 있다. 이 예에서, 마이크로폰 어레이가 입력 오디오(11)를 캡처할 때, 마이크로폰 어레이는 입력 오디오(11)에 대응하는 오디오 데이터를 컴패니언 애플리케이션에 발송하고, 컴패니언 애플리케이션은 디바이스(110a)에 오디오 데이터를 발송한다. 만약 디바이스(110a)가 입력 오디오(11)를 캡처하면, 디바이스(110a)는 오디오 데이터로 입력 오디오(11)를 변환하고 오디오 데이터를 서버(들)(120)로 발송할 수 있다. 대안적으로, 디바이스(110a)는 마이크로폰 어레이 또는 컴패니언 애플리케이션으로부터 입력 오디오(11)에 대응하는 오디오 데이터를 수신하면, 디바이스(110a)는 수신된 오디오 데이터를 서버(들)(120)에 간단히 포워딩(forward)할 수 있다.
서버(들)(120)은 원래는 웨이크워드 부분과 페이로드 부분을 포함하는 오디오 데이터를 수신한 것에 응답하여(150) 화법 제어형 디바이스간에 메시지를 통신한다. 페이로드 부분은 수신자 정보 및 메시지 컨텐츠를 포함할 수 있다. 이와 같이 메시지의 통신은 본 출원에서 상세히 설명된 바와 같이 메시지 도메인 및 관련 프로토콜(들)의 사용을 통해 발생할 수 있다. 서버(120)는 제1 통신 변경 트리거의 발생을 서버(120)가 결정할 때까지 이와 같은 메시지를 통신한다(152). 예시적인 통신 교번(alternation) 트리거는 제1 화법 제어형 디바이스(110a)와 제2 화법 제어형 디바이스(110b) 사이의 임계치 수의 메시지 교환이 충족되었는지 또는 초과되었는지, 임계 시간량에서 발생하는 메시지 교환의 임계 개수 또는 각각의 화법 제어형 디바이스(110a/110b)의 양쪽의 사용자들이 동시에 그들의 각각의 디바이스의 임계 거리에 존재하는지 여부를 포함한다. 제1 통신 변경 트리거의 발생을 결정한 후, 서버(120)는 그런 다음 페이로드 데이터(예를 들어, 메시지 컨텐츠 데이터)를 포함하는 오디오 데이터를 수신하는 것에 응답하여 동일한 화법 제어형 디바이스간에 메시지를 통신한다(154). 메시지들의 통신은 본 출원에 상세히 설명된 바와 같이 메시징 도메인 및 연관된 프로토콜(들)의 사용을 통해 발생할 수 있다. 서버(120)가 제2 통신 변경 트리거의 발생을 결정할 때까지 서버(120)는 메시징 도메인을 사용하여 메시지를 통신한다(156). 제2 통신 변경 트리거의 발생을 결정한 후, 서버(120)는 그런 다음 화법 제어형 디바이스 간의 실시간 호출을 개시한다(158). 실시간 호출을 개시하는 것은 본 출원에서 상세히 설명된 바와 같이 실시간 호출 도메인 및 연관된 실시간 프로토콜의 사용을 수반할 수 있다. 실시간 통신 세션/호출은 오디오 데이터가 수신될 때 (동작 파라미터 내에서) 디바이스들 간에 오디오 데이터의 전달을 수반할 수 있다.
대안적으로, 제1 통신 변경 트리거의 결정(152) 후에, 서버(120)는 곧바로 실시간 호출을 개시(158)할 수 있다. 이는 통신 변경 트리거가 특정 수신자를 전제로 하는 경우와 같이 상이한 구성 환경에서 발생할 수 있다. 예를 들어, 발원 화법 제어형 디바이스(110a)와 연관된 사용자 프로파일은 "엄마"의 통신이 실시간 호출을 통해 발생하는 것을 의미할 수 있다. 따라서, 원래의 메시지가 "엄마"로 의도된 것이라면, 서버(120)는 제1 메시지의 수신자가 "엄마"라고 결정에 응답하여 실시간 호출을 가능하게 할 수 있다.
다양한 실시예에 따라, 서버(120)는 화법 제어형 디바이스 중 하나 또는 둘 모두가 각각의 디바이스 사용자 인터페이스를 사용하여 시각적 표시(visual indication)를 출력하게 할 수 있고, 시각적 표시는 통신/메시지를 교환하는데 사용되는 도메인을 나타낸다. 예를 들어, 화법 제어형 디바이스의 표시등(light)이 웨이크워드가 필요할 때 파란색을 방출하고, 웨이크워드가 더 이상 필요하지 않으면 녹색을 방출할 수 있으며, 실시간 호출이 가능 해지면 노란색을 방출할 수 있다.
본 출원에서 설명된 음성 기반 교환(voice-based exchange)을 음성 기반 호출(voice-based call)로 변경하는 것 이외에, 비디오 통신의 상황하에서 상기 교리가 사용될 수 있다. 두 사람이 비디오 메시지를 교환하는 경우, 예를 들어, 본 출원에 설명된 기술은 비디오 메시지의 교환을 메시지 호출로 변경하는데 사용될 수 있다. 다른 예에서, 음성 기반 메시지를 교환하는 동안 카메라의 시야(field of view)에 개인이 있다고 결정되면, 시스템은 카메라의 시야에 있는 개인에 기초하여 비디오 통화로 통신을 변경하도록 구성될 수 있다. 따라서, 오디오 검출, 오디오 캡처 등에 관한 이하의 교리는 비디오 검출, 비디오 캡처 등에도 적용될 수 있다.
각 화법 제어형 디바이스는 둘 이상의 사용자가 있을 수 있다. 시스템(100)은 음성 기반 스피커 ID 또는 사용자 ID를 사용하여 캡처된 오디오의 스피커를 식별할 수 있다. 각 스피커 ID 또는 사용자 ID는 발언중인 디바이스의 사용자를 시스템이 결정할 수 있도록 하는 음성 시그니처(voice signature)일 수 있다. 이는 통신 변경 트리거가 디바이스의 단일 사용자를 포함할 때 시스템이 본 출원에서 설명된 대로 통신을 변경하도록 허용하기 때문에 유용하다. 스피커 ID 또는 사용자 ID는 스피커가 누구인지를 결정하고 후속 처리를 위해 스피커의 사용자 프로필을 자동으로 식별하는데 사용할 수 있다. 예를 들어, 디바이스의 제1 사용자가 메시지를 말하고 나서 디바이스의 제2 사용자가 메시지를 말하는 경우, 시스템은 음성 시그니처에 기초하여 2 명의 사용자를 구별할 수 있어서, 시스템이 상이한 사용자에 의해 말하여진 메시지를 기반으로 단일 통신 변경 트리거를 결정하는 것을 방지한다.
도 1b는 응답 화법이 수신자의 디바이스에 의해 검출되고 있음을 나타내는 메시징 동안 디바이스 사용자 인터페이스를 통해 신호를 출력하는 시스템을 도시한다. 도 1b에 도시된 바와 같이, 시스템은 제1 화법 제어형 디바이스(110a)로부터 입력 오디오를 수신한다(160). 그런 다음, 시스템은 입력 오디오가 제2 화법 제어형 디바이스(110b)에 대한 메시지 컨텐츠에 대응한다고 결정한다(162). 그런 다음, 시스템은 메시지 컨텐츠를 제2 화법 제어형 디바이스(110b)로 발송한다(164). 그러면 시스템은, 제2 화법 제어형 디바이스(110b)를 이용하여 화법을 검출하고(166) 그리고 표시자(indicator)가 제1 화법 제어형 디바이스(110a)에 의해 출력되도록 하고 (168), 여기서 표시자는 화법이 제2 디바이스에 의해 검출되고 나타내고, 여기서 메시지 컨텐츠에 응답하여 화법이 있을 수 있고, 따라서 제1 화법 제어형 디바이스(110a)의 사용자에게 응답이 임박한 것을 통지한다. 표시자는 시각적, 청각적 또는 햅틱(haptic)일 수 있다. 일례에서, 표시자는 비디오 인에이블(enabled) 디바이스에 대해 시각적일 수 있다.
음성 기반 상호 작용의 단계적 확대(escalate)에 대한 보다 상세한 설명은 도 2의 전반적인 화법 처리 시스템에 대한 논의 이후에 이하에서 논의된다. 도 2는 말하여진 발언이 전통적으로 어떻게 처리되는지를 개념적으로 도시한 것으로서, 시스템이 사용자에 의해 말하여진 명령 예컨대, 웨이크워드에 이어질 수 있는 말하여진 명령을 캡처 및 실행하는 것을 허용한다. 예시된 다양한 컴포넌트는 동일하거나 상이한 물리적 디바이스들 상에 위치될 수 있다. 도 2에 도시된 다양한 컴포넌트 사이의 통신은 직접 또는 네트워크(199)를 걸쳐서 발생할 수 있다. 디바이스(110)의 마이크로폰(103)과 같은 오디오 캡처 컴포넌트는 말하여진 발언에 대응하는 오디오(11)를 캡처한다. 웨이크워드 검출 모듈(220)을 사용하는 디바이스(110)는 오디오 또는 오디오에 대응하는 오디오 데이터를 처리하여 키워드(예를 들어, 웨이크워드)가 오디오에서 검출되는지를 결정한다. 웨이크워드 검출에 이어, 디바이스는 ASR 모듈(250)을 포함하는 서버(120)로 발언에 대응하는 오디오 데이터(111)를 발송한다. 오디오 데이터(111)는 송신에 앞서 디바이스(110)상에 위치된 음향 프론트 엔드(AFE: acoustic front end)(256)로부터 출력될 수 있다. 또는 오디오 데이터(111)는 원격 AFE(256) 예컨대, ASR 모듈(250)과 함께 위치된 AFE(256)에 의한 처리를 위해 상이한 형태일 수 있다.
웨이크워드 검출 모듈(220)는 오디오(11)에서 키워드를 검출하기 위해 디바이스(110)의 다른 컴포넌트들 예를 들어, 마이크로폰(도시되지 않음)과 함께 작업한다. 예를 들어, 화법이 검출되었는지 여부를 결정하고, 만약 그렇다면, 화법을 포함하는 오디오 데이터가 특정 키워드에 대응하는 오디오 시그니처 및/또는 모델과 일치하는지를 결정하기 위해 디바이스(110)는 웨이크워드 검출 모듈(220)로 오디오(11)를 오디오 데이터로 변환하고 오디오 데이터를 처리할 수 있다.
디바이스(110)는 오디오 데이터가 화법을 포함하는지 여부를 결정하기 위해 다양한 기술을 사용할 수 있다. 일부 실시예는 음성 활동 검출(VAD: voice activity detection) 기술을 적용할 수 있다. 이러한 기술은 오디오 입력의 다양한 양적 측면, 예컨대, 오디오 입력의 하나 이상의 프레임 사이의 스펙트럼 경사도(spectral slope); 하나 이상의 스펙트럼 밴드에 오디오 입력의 에너지 레벨들; 하나이상의 스펙트럼 밴드에 오디오 입력의 신호대 잡음비에 기초하여 화법이 오디오 입력에 존재하는지를 결정할 수 있다. 다른 실시예에서, 디바이스(110)는 화법을 배경 잡음과 구별하도록 구성된 제한된 분류기(classifier)를 구현할 수 있다. 분류기는 선형 분류기, 지원 벡터 머신 및 결정 트리와 같은 기술에 의해 구현될 수 있다. 또 다른 실시예에서, 음성 저장에 있어서의 오디오 입력을 하나 이상의 음향 모델과 비교하기 위해 HMM(Hidden Markov Model) 또는 GMM(Gaussian Mixture Model) 기술이 적용될 수 있으며, 이 음향 모델은 화법, 잡음 (예컨대, 환경 잡음 또는 배경 잡음) 또는 침묵에 대응하는 모델들을 포함할 수 있다. 화법이 오디오 입력에 존재하는지 여부를 결정하기 위해 또 다른 기술들이 사용될 수 있다.
대호가 디바이스(110)에 의해 수신된 오디오에서 검출되면 (또는 화법 검출과는 별도로), 사용자가 디바이스(110)로 명령을 말하려고 할 때를 결정하기 위해 웨이크워드 검출을 수행하기 위해 디바이스(110)는 웨이크워드 검출 모듈(220)을 사용할 수 있다. 이 처리는 키워드 검출이라고도 하며, 웨이크워드는 키워드의 특정 예제이다. 특히 키워드 검출은 전형적으로 언어 분석, 문자 분석 또는 의미 분석을 수행하지 않고 수행된다. 대신 착신(incoming) 오디오(또는 오디오 데이터)가 분석되어 오디오의 특정 특성이 사전 구성된 음향 파형, 오디오 시그니처 또는 기타 데이터와 일치하는지 여부를 확인하여 착신 오디오가 키워드에 대응하는 저장된 오디오 데이터와 "일치"하는지 확인한다.
따라서, 웨이크워드 검출 모듈(220)은 오디오 데이터를 저장된 모델 또는 데이터와 비교하여 웨이크워드를 검출할 수 있다. 웨이크워드 검출을 위한 하나의 접근법은 일반적으로 큰 어휘 연속 음성 인식(LVCSR: large vocabulary continuous speech recognition) 시스템을 사용하고, 오디오 신호를 디코딩하고, 웨이크워드 검색은 결과로 얻은 격자 또는 혼화 네트워크(confusion network)에서 수행된다. LVCSR 디코딩은 비교적 높은 계산 자원을 요구할 수 있다. 웨이크워드 스포팅(spotting)에 대한 또 다른 접근법은 각각의 키 웨이크워드 단어와 비-웨이크워드 화법 신호 각각에 대해 HMM(hidden Markov model)을 구축한다. 비 웨이크워드 화법은 다른 말하여진 단어, 배경 잡음 등을 포함한다. 필러 모델(filler model)이라고 명명된 비 웨이크워드 화법 특성을 모델링하기 위해 구축된 하나 이상의 HMM이 있을 수 있다. 비터비 디코딩(viterbi decoding)은 디코딩 그래프에서 최상의 경로를 검색하는데 사용되며 디코딩 출력은 키워드 존재 여부를 결정하기 위해 추가 처리된다. 이 접근법은 하이브리드 DNN-HMM 디코딩 프레임 워크를 통합하여 차별 정보를 포함하도록 확장될 수 있다. 다른 실시예에서, 웨이크워드 스포팅 시스템은 HMM이 관여하지 않고 DNN(deep neural network)/RNN(recursive neural network) 구조 상에 직접 구축될 수 있다. 이러한 시스템은 RNN를 사용하거나 또는 DNN에 대한 콘텍스트 윈도우내에 프레임을 적층시킴으로써 콘텍스트 정보를 사용하여 웨이크워드의 후부(posterior)를 추정할 수 있다. 뒤따르는 후부 임계값 튜닝 또는 평활화는 의사 결정에 적용된다. 당업계에 공지된 것과 같은 웨이크워드 검출을 위한 다른 기술이 또한 사용될 수 있다.
일단 웨이크워드가 검출되면, 사용자 디바이스(110)는 "웨이크(wake)"될 수 있고, 화법 처리를 위해 입력 오디오(11)에 대응하는 오디오 데이터(111)를 서버(120)에 송신하기 시작할 수 있다. 해당 오디오에 대응하는 오디오 데이터는 수신 디바이스로 라우팅하기 위해 서버(120)로 발송될 수 있거나 포함된 화법의 해석을 위한 화법 처리를 위해 서버로 발송될 수 있다(음성 통신을 가능하게 하는 목적을 위해 및/또는 음성에 명령을 실행하기 위한 목적을 위해). 오디오 데이터(111)는 웨이크워드에 대응하는 데이터를 포함할 수 있거나, 웨이크워드에 대응하는 오디오 데이터의 일부는 발송 이전에 사용자 디바이스(110)에 의해 제거될 수 있다. 더구나, 사용자 디바이스(110)는 본 출원에 설명된 바와 같이, 임계값 이상의 화법/발언된 오디오의 검출시 "웨이크(wake)"될 수 있다. 서버(들)(120)에 의해 수신되면, ASR 모듈(250)은 오디오 데이터(111)를 텍스트로 변환할 수 있다. ASR은 오디오 데이터를 오디오 데이터에 포함된 화법의 단어를 나타내는 텍스트 데이터로 변환한다. 텍스트 데이터는 시스템 명령 실행, 데이터 입력 등과 같은 다양한 목적을 위해 다른 컴포넌트에 의해 사용될 수 있다. 오디오 데이터의 말하여진 발언은 ASR을 수행하도록 구성된 프로세서에 입력되고, 그런다음 이 ASR은 ASR 모델 스토리지(252c)에 저장된 기성의 언어 모델(254)과 발언 사이의 유사성에 기초하여 발언을 해석한다. 예를 들어, ASR 처리는 입력 오디오 데이터를 사운드 모델(예를 들어, 서브워드 단위 또는 음소) 및 사운드 시퀀스와 비교하여 오디오 데이터의 발언에서 말하여진 사운드 시퀀스와 일치하는 단어를 식별할 수 있다.
말하여진 발언이 해석될 수 있는 다른 방법(즉, 상이한 가설)은 각각 특정 단어 세트가 발언에서 말하여진 것들과 일치할 가능성을 나타내는 확률 또는 신뢰도 점수가 할당될 수 있다. 신뢰도 점수는 예를 들어, 언어 사운드 모델(예를 들어, ASR 모델 스토리지(252)에 저장된 음향 모델(253))에 대한 발언에 사운드의 유사성, 및 사운드와 일치하는 특정 단어가 특정 위치(예를 들어, 언어 또는 문법 모델 사용)에서의 문장에 포함될 가능성을 포함하는 다수의 요인에 기반될 수 있다. 따라서, 말한 발언(가설)의 각각의 잠재적인 텍스트 해석은 신뢰도 점수와 연관된다. 고려된 요인들 및 할당된 신뢰도 점수에 기초하여, ASR 처리(250)는 오디오 데이터에서 인식된 가장 가능성 있는 텍스트를 출력한다. ASR 처리는 신뢰도 점수 또는 다른 점수(예컨대, 확률 점수 등)에 대응하는 각각의 가설을 갖는 격자 또는 N-베스트 리스트(best list)의 형태로 다수의 가설을 출력할 수도 있다.
ASR 처리를 수행하는 디바이스 또는 디바이스들은 음향 프론트 엔드(AFE)(256) 및 화법 인식 엔진(258)을 포함할 수 있다. 음향 프론트 엔드(AFE)(256)는 마이크로폰으로부터의 오디오 데이터를 화법 인식 엔진에 의한 처리를 위한 데이터로 변환한다. 화법 인식 엔진(258)은 화법 인식 데이터를 음향 모델(253), 언어 모델(254) 및 오디오 데이터에서 전달된 화법을 인식하기 위한 다른 데이터 모델 및 정보와 비교한다. AFE는 오디오 데이터의 잡음을 줄이고 AFE가 프레임 내의 오디오 데이터의 피처/품질을 나타내는 피처 벡터(feature vector)라고 불리는 해당 값들의 세트와 함께 오디오 데이터의 품질을 나타내는 피처(feature)라고 불리는 다수의 값을 결정하는 시간 간격을 나타내는 프레임으로 디지털화된 오디오 데이터를 나눈다. 당해 기술 분야에 공지된 바와 같이, 많은 상이한 피처들이 결정될 수 있고, 각각의 피처는 ASR 처리에 유용한 오디오의 일부 품질을 나타낸다. 멜 주파수 셉스트럴 계수(MFCC: mel-frequency cepstral coefficient), 지각 선형 예측(PLP: perceptual linear predictive) 기법, 신경 회로망 피처 벡터 기법, 선형 판별 분석, 세미-타이드 공분산 행렬(semi-tied covariance matrices)과 같은 오디오 데이터를 처리하기 위해 AFE에서 여러 가지 접근법, 또는 당업자에게 공지된 다른 접근법이 사용될 수 있다.
화법 인식 엔진(258)은 화법/모델 스토리지(252)에 저장된 정보를 참조하여 AFE(256)로부터의 출력을 처리할 수 있다. 대안적으로, 내부 AFE 이외의 다른 소스에서 ASR 처리를 실행하는 디바이스에서 프런트 엔드 처리 후 데이터(예를 들어, 피처 벡터)를 수신할 수 있다. 예를 들어, 디바이스(110)는 오디오 데이터를 (예를 들어, 온-디바이스 AFE(256)를 사용하여) 피처 벡터로 처리하고 그리고 ASR 처리를 위해 네트워크(199)를 통해 서버로 해당 정보를 송신할 수 있다. 피처 벡터는 인코딩된 서버에 도달할 수 있고, 이 경우, 화법 인식 엔진(258)을 실행하는 프로세서에 의해 처리되기 전에 그것들이 디코딩될 수 있다.
화법 인식 엔진(258)은 수신된 피처 벡터를 저장된 음향 모델(253) 및 언어 모델(254)에서 알려진 언어 음소 및 단어에 일치시키려고 시도한다. 화법 인식 엔진(258)은 음향 정보 및 언어 정보에 기초하여 피처 벡터에 대한 인식 점수를 계산한다. 음향 정보는 피처 벡터들의 그룹에 의해 표현된 의도된 사운드가 언어 음소와 일치할 가능성을 나타내는 음향 점수를 계산하는데 사용된다. 언어 정보는 서로 관련하여 어떤 사운드 및/또는 단어가 문맥상 사용되는지 고려하여 음향 점수를 조정하는데 사용되어 ASR 처리가 문법적으로 의미 있는 화법 결과를 출력할 가능성이 높아진다. 사용된 특정 모델은 일반적인 모델이거나 음악, 은행 업무 등과 같은 특정 도메인에 해당하는 모델일 수 있다.
화법 인식 엔진(258)은, 피처 벡터를 음소에 일치시키는 다수의 기술을 사용하여 예를 들어, HMM(Hidden Markov Model)을 사용하여 피처 벡터가 음소에 일치할 확률을 결정할 수 있다. 수신된 사운드는 HMM의 상태 간의 경로(path)로 표현될 수 있으며, 다중 경로는 동일한 사운드에 대해 가능한 여러 텍스트 일치를 나타낼 수 있다.
ASR 처리에 이어서, ASR 결과는 화법 인식 엔진(258)에 의해 ASR을 수행하는 디바이스에 대하여 로컬이거나 및/또는 네트워크(들)(199)에 걸쳐 분산될 수 있는 다른 처리 컴포넌트들로 발송될 수 있다. 예를 들어, ASR은 화법의 단일 문자 표현의 형태로 귀결되고, 다수의 가설들 및 개별 점수들, 격자(lattice)들 등을 포함하는 N-베스트 리스트는 디바이스(110), 서버(120), 또는 다른 디바이스(검색 엔진과 같은 특정 애플리케이션을 실행하는 서버와 같은)에 의한 실행을 위한 명령으로의 텍스트의 변환과 같은 자연 언어 이해(NLU: natural language understanding)를 위해 서버 예컨대, 서버(120)으로 발송될 수 있다.
NLU 프로세스(260)를 위해 구성된 디바이스(예를 들어, 서버(120))는 잠재적으로 전용 프로세서(들), 메모리, 스토리지 등을 포함하는 다양한 컴포넌트를 포함할 수 있다. NLU 처리를 위해 구성된 디바이스는 NER(named entity recognition) 모듈(252) 및 IC(intent classification) 모듈(264), 결과 랭킹(result ranking) 및 분배 모듈(266), 및 NLU 스토리지(273)를 포함한다. 또한, NLU 처리는 엔티티 라이브러리 스토리지(282)에 저장된 가제티어(gazetteer) 정보(284a-284n)를 이용할 수 있다. 가제티어 정보는 예를 들어 ASR 결과를 상이한 엔티티 (노래 제목, 연락처 이름 등)와 매칭시키는 엔티티 분해(entity resolution)를 위해 사용될 수 있다. 가제티어는 사용자(예를 들어, 특정 가제티어가 특정 사용자의 음악 컬렉션과 관련될 수 있다)에 링크되거나, 특정 도메인(예를 들어, 쇼핑)에 링크되거나 다양한 방법으로 구조화될 수 있다.
NLU 처리는 텍스트 입력(예를 들어, 발언 (11)을 기반으로 ASR(250)에서 처리)을 가져 와서 텍스트의 의미 해석을 시도한다. 즉, NLU 처리는 개별 단어를 기반으로 텍스트 뒤에 의미를 결정한 다음 해당 의미를 구현한다. NLU 프로세스(260)는 텍스트 스트링(text string)을 해석하여 사용자로부터 의도 또는 원하는 동작을 도출할 뿐만 아니라 디바이스(예를 들어, 디바이스(110))가 해당 동작을 완료하게 하는 텍스트 내의 적절한 정보를 도출한다. 예를 들어, 말하여진 발언이 ASR(250)을 사용하여 처리되고 텍스트 "엄마에게 전화해줘(call mom)"를 출력하면, NLU 처리는 사용자가 자신의 디바이스에서 전화기를 활성화시키고 엔티티 "엄마"에 일치하는 연락처로 전화를 거는 것이라고 결정할 수 있다.
NLU는 동일한 발언과 관련된 몇몇의 텍스트 입력을 처리할 수 있다. 예를 들어, ASR(250)이 (N 베스트 리스트의 일부로서) N개의 텍스트 세그먼트를 출력하면, NLU는 NLU 결과를 획득하기 위해 전체 N개의 출력을 처리할 수 있다.
NLU 처리가 NLU 처리의 일부로서 텍스트를 파싱, 태그 및 주석(annotate)을 달도록 구성될 수 있다. 예를 들어 "엄마에게 전화해줘"이라는 텍스트의 경우, "전화"는 명령(전화 호출 실행)으로 태그될 수 있고, "엄마"는 특정 엔티티 및 명령의 타겟으로 태그될 수 있다(연락처 리스트에 저장된 "엄마"에 대응하는 엔티티에 대한 전화 번호가 주석이 달린 결과에 포함될 수 있다).
화법 입력의 NLU 처리를 정확하게 수행하기 위해, NLU 프로세스(260)는 엔드 포인트 디바이스(예를 들어, 서버(120) 또는 디바이스(110))에 의해 제공되는 서비스가 어떤 서비스가 관련될 수 있는지를 결정하고 좁히기 위해 발언의 "도메인"을 결정하도록 구성될 수 있다. 예를 들어, 엔드 포인트 디바이스는 전화 서비스, 연락처 리스트 서비스, 일정/스케줄링 서비스, 음악 재생 서비스 등과의 상호 작용과 관련된 서비스를 제공할 수 있다. 단일 텍스트 쿼리의 단어는 하나 초과의 서비스를 의미할 수 있으며 일부 서비스는 기능적으로 링크될 수 있다(예를 들어, 전화 서비스와 캘린더 서비스 모두 연락처 리스트의 데이터를 활용할 수 있다).
이름 엔티티 인식 모듈(262)은 ASR 결과들의 형태로 쿼리를 수신하고, 의미를 해석하는데 사용될 수 있는 관련 문법 및 어휘 정보를 식별하려고 시도한다. 그렇게 하기 위해, 이름 엔티티 인식 모듈(262)은 수신된 쿼리와 관련될 수 있는 잠재적인 도메인을 식별함으로써 시작될 수 있다. NLU 스토리지(273)는 특정 디바이스와 관련된 도메인을 식별하는 디바이스 데이터베이스(274a-274n)를 포함한다. 예를 들어, 디바이스(110)는 음악, 전화 통신, 캘린더링, 연락처 리스트 및 디바이스 특정 통신을 위한 도메인과 연관될 수 있지만 비디오는 관련되지 않을 수 있다. 추가하여, 엔티티 라이브러리는 디바이스 ID, 사용자 ID 또는 하우스홀드(household) ID 또는 일부 다른 표시자로 인덱스된 특정 디바이스상의 특정 서비스에 대한 데이터베이스 엔트리를 포함할 수 있다.
도메인은 "쇼핑", "음악", "캘린더링(calendaring)"등과 같은 공통 주제를 갖는 이산 활동 세트를 나타낼 수 있다. 이와 같이, 각각의 도메인은 특정 언어 모델 및/또는 문법 데이터베이스(276a-276n), 특정 세트의 의도(intent)/활동(278a-278n) 및 특정 개인화된 어휘집(286)과 관련될 수 있다. 각각의 가제티어(gazetteer)(284a-284n)은 특정 사용자 및/또는 디바이스와 연관된 도메인-인덱싱된 어휘 정보를 포함할 수 있다. 예를 들어, 가제티어 A(284a)는 도메인-인덱스 어휘 정보(286aa 내지 286an)를 포함한다. 예를 들어, 사용자의 음악 도메인 어휘 정보는 앨범 제목, 아티스트 이름 및 노래 이름이 포함될 수 있지만 사용자의 연락처 리스트 어휘 정보는 연락처 이름을 포함할 수 있다. 모든 사용자의 음악 컬렉션 및 연락처 리스트가 아마 다를 수 있으므로, 이 개인화된 정보는 엔티티 분해를 향상시킨다.
식별된 각 도메인에 적용 가능한 규칙, 모델 및 정보를 적용하여 쿼리가 처리된다. 예를 들어 쿼리가 통신 및 음악을 모두 포함할 가능성이 있는 경우, 쿼리는 통신을 위한 문법 모델과 어휘(lexical) 정보를 사용하여 NLU 처리될 것이고, 음악에 대한 문법 모델과 어휘 정보를 사용하여 처리될 것이다. 각각의 세트의 모델에 의해 생성된 쿼리를 기반으로 한 응답은 점수가 매겨지며(아래에서 자세히 설명됨), 모든 적용 도메인의 전체 순위가 가장 높은 결과가 일반적으로 올바른 결과로 선택된다.
의도 분류(IC: intent classification) 모듈(264)은 각각의 식별된 도메인에 대한 의도 또는 의도를 결정하기 위해 쿼리를 파싱하고, 여기서 의도는 쿼리에 응답하여 수행될 동작에 대응한다. 각 도메인은 의도에 링크된 단어의 데이터베이스(278a-278n)와 연관된다. 예를 들어, 음악 의도 데이터베이스는 "조용함", "볼륨 꺼짐" 및 "음소거(mute)"와 같은 단어 및 어구를 "음소거" 의도에 링크시킬 수 있다. IC 모듈(264)은 쿼리 내의 단어를 의도 데이터베이스(278) 내의 단어 및 어구와 비교함으로써 각각의 식별된 도메인에 대한 잠재적인 의도를 식별한다.
특정 해석 응답을 생성하기 위해, NER (262)은 각각의 도메인과 관련된 문법 모델 및 어휘 정보를 적용한다. 각각의 문법 모델(276)은 가제티어(284)으로부터의 어휘 정보(286)가 사용자 및/또는 디바이스에 개인화되는 반면, 특정 도메인(즉, 포괄적인 용어)에 관한 화법에서 흔히 발견되는 엔티티의 이름(즉, 명사)을 포함한다. 예를 들어, 쇼핑 도메인과 관련된 문법 모델은 사람들이 쇼핑에 대해 논의할 때 통상 사용되는 단어 데이터베이스를 포함할 수 있다.
IC 모듈(264)에 의해 식별된 의도는 채워질 "슬롯" 또는 "필드"가 있는 도메인 특정 문법 프레임 워크(276에 포함)에 링크된다. 예를 들어, 만약 "음악 재생"이 식별된 의도라면, 문법(276) 프레임 워크 또는 프레임 워크들은 문장 구조들 예컨대, "재생{아티스트 이름}", "재생{앨범 이름}", "재생{노래 이름}", "{아티스트 이름}에 의한 재생{노래 이름}"에 대응할 수 있다. 그러나 인식을 보다 융통성있게 만들기 위해, 이러한 프레임 워크는 일반적으로 문장으로 구조화되지 않고, 슬롯을 문법 태그와 연관시키는 것을 기반으로 한다.
예를 들어, NER 모듈(260)은 명명된 엔티티를 인식하기 전에 문법 규칙 및 모델에 기초하여 주제, 객체, 동사, 전치사 등의 단어를 식별하기 위해 쿼리를 파싱할 수 있다. 식별된 동사(verb)는 의도를 식별하기 위해 IC 모듈(264)에 의해 사용될 수 있으며, 이 의도는 그런 다음 프레임 워크를 식별하기 위해 NER 모듈(262)에 의해 사용된다. "재생(play)"의 의도를 위한 프레임 워크는 식별된 "객체(object)" 및 {아티스트 이름}, {앨범 이름}, {노래 이름} 등과 같은 임의의 객체 변경자(예를 들어, 전치사구)를 재생하는데 적용 가능한 슬롯/필드들의 리스트를 특정할 수 있다. 그런 다음, NER 모듈(260)은 문법 객체 또는 객체 변경자로서 태그된 쿼리 내의 단어들 및 어구들을 데이터베이스(들)에서 식별된 어휘들과 일치시키려고 시도하여, 도메인 - 특정 및 개인화된 어휘(들) 내의 대응하는 필드들을 검색한다.
이 프로세스는 의미론적 태깅(semantic tagging)을 포함하며, 이는 그것들의 유형/의미론적 의미에 따라 단어 또는 단어 조합의 라벨링이다. 파싱(parsing)은 휴리스틱 문법 규칙(heuristic grammar rules)을 사용하여 수행될 수 있거나, NER 모델은 은닉 마르코프 모델(hidden Markov models), 최대 엔트로피 모델, 로그 선형 모델, 조건부 랜덤 필드(CRF: conditional random fields) 등과 같은 기술을 사용하여 구성될 수 있다.
예를 들어, "롤링 스톤즈(rolling stones)에 mother's little helper를 재생하라"의 쿼리는 파싱되어{동사}: "재생"{객체}: "mother's little helper"{객체 전치사}: "by" 및 {객체 변경자}: "롤링 스톤즈"로 태깅된다. 해당 프로세스의 이 지점에서, "재생"은 음악 도메인과 관련된 단어 데이터베이스에 기반된 동사로 식별되며, IC 모듈(264)은 "음악 재생" 의도에 대응하는 것을 결정할 것이다. "mother's little helper"와 "롤링 스톤즈"의 의미에 대해서는 아무런 결정도 내려지지 않았지만 문법 규칙과 모델에 기초하여 이 어구가 쿼리의 문법 개체와 관련이 있다고 판단된다.
의도와 링크된 프레임 워크는 그런 다음 프레임 워크 슬롯과의 유사성을 위해 사용자의 가제트(gazette)를 검색하는 것과 같이 이러한 구문의 의미를 결정하기 위해 검색해야 하는 데이터베이스 필드를 결정하는데 사용된다. 따라서, "음악 의도 재생"을 위한 프레임 워크는 {아티스트 이름}, {앨범 이름} 및 {노래 이름}을 기반으로 식별된 객체를 분석하려고 시도할 수 있으며, 동일한 의도에 대한 다른 프레임 워크는 {아티스트 이름}을 기반으로 하는 객체 변경자를 식별하고 식별된 {아티스트 이름}에 링크된 {앨범 이름} 및 {노래 이름}을 기반으로 객체를 분석하려고 시도하는 것을 표시할 수 있다. 가제티어의 검색이 가제티어 정보를 사용하여 슬롯/필드를 분석하지 않으면, NER 모듈(262)은 도메인과 관련된 포괄적인 단어(스토리지(273)내)를 데이터베이스에서 검색할 수 있다. 따라서, 예를 들어 쿼리가 "롤링 스톤에 의한 노래를 틀어줘"였다면 "롤링 스톤즈"로 "노래"라는 앨범 이름이나 노래 이름을 결정하지 못한 후에, NER (262)는 해당 단어 "노래"를 도메인 어휘에서 검색할 수 있다. 대안으로는, 가제티어 정보 전에 포괄적인 단어가 체크될 수 있거나 또는 둘 모두가 잠재적으로 두 개의 상이한 결과를 얻으려 시도할 수 있다.
NER 모듈(262)에 의해 사용된 비교 처리는 데이터베이스 엔트리가 태그된 쿼리 단어 또는 어구와 얼마나 근접한지 있는지, 쿼리의 문법 구조가 적용된 문법 프레임 워크에 얼마나 근접한지를 데이터베이스가 엔트리와 프레임 워크의 다른 슬롯을 채우기 위해 식별된 정보 간의 관계를 나타내는지 여부에 기초하여 분류할 수 있다(즉, 점수).
NER 모듈(262)은 슬롯을 채우기 위해 상황별 동작 규칙을 사용할 수도 있다. 예를 들어, 사용자가 이전에 특정 노래를 일시 정지하도록 요청한 후, 화법 제어형 디바이스가 "음악을 일시 정지 풀어줘(please un-pause my music)"라고 요구한 경우, NER 모듈(262)은 추론 기반 규칙을 적용하여 사용자가 현재 재생하고 싶은 노래의 이름, 즉 사용자가 음악을 일시 중지하도록 요청한 시간에 재생 한 노래의 이름과 관련된 슬롯을 채운다.
NLU 처리의 결과는 쿼리에 의미를 부여하기 위해 태그될 수 있다. 예를 들어, "롤링 스톤즈의 mother's little helper 틀어줘"는 {도메인} 음악, {의도} 음악 재생, {아티스트 이름} "롤링 스톤즈", {미디어 유형} 노래, 및 {노래 제목} "mother's little helper"의 결과를 얻을 수 있다. 다른 예로서, "롤링 스톤즈 노래 틀어줘"는 {도메인} 음악, {의도} 음악 재생, {아티스트 이름} "롤링 스톤즈" 및 {미디어 유형} 노래를 얻을 수 있다.
NLU 처리 (태그된 텍스트, 명령 등을 포함할 수 있는)으로부터의 출력은 그런 다음 시스템(100)의 일부로서 동일하거나 별개의 서버(120) 상에 위치될 수 있는 명령 프로세서(290)로 발송될 수 있다. 목적지 명령 프로세서(destination command processor)(290)는 NLU 출력에 기초하여 결정될 수 있다. 예를 들어, NLU 출력이 음악을 재생하라는 명령을 포함하는 경우, 목적지 명령 프로세서(290)는 음악 재생 명령을 실행하도록 구성된 디바이스(110) 또는 음악 재생 기기에 위치된 것과 같은 음악 재생 애플리케이션일 수 있다. 만약 NLU 출력이 검색 요청을 포함하면, 목적지 명령 프로세서(290)는 검색 명령을 실행하도록 구성된, 검색 서버 상에 위치된 것과 같은 검색 엔진 프로세서를 포함할 수 있다.
본 출원에 설명된 시스템의 NLU 동작은 도 3에 도시된 것과 같은 멀티 도메인 아키텍처의 형태를 취할 수 있다. 멀티 도메인 아키텍처에서, 각각의 도메인(더 큰 개념 예컨대 음악, 서적 등을 정의하는 의도 및 엔티티 슬롯들의 세트를 포함할 수 있다)은 개별적으로 구성되며, 런타임 동작 동안 NLU 컴포넌트(260)에 이용 가능하게 되며, 여기서 NLU 동작이 텍스트(ASR 컴포넌트(250)로부터의 텍스트 출력과 같은)에 대해 수행된다. 각 도메인에는 NLU 동작의 다양한 단계를 수행하도록 특별히 구성된 컴포넌트를 가질 수 있다. 예를 들어, 메시지 도메인(302)(도메인 A)은 어떤 슬롯이(즉, 입력 텍스트의 일부) 해당 도메인에 관련된 특정 엔티티에 대응할 수 있다는 식별하는 NER 컴포넌트(262-A)를 가질 수 있다. NER 컴포넌트(262-A)는 엔티티에 대응하는 부분을 식별하고 어떤 유형의 엔티티가 텍스트 부분에 대응하는지를 식별하기 위해 도메인 특정 조건부 랜덤 필드(CRF: conditional random field)와 같은 기계 학습 모델을 사용할 수 있다. 예를 들어, 텍스트 '존 스미스에게 인사 전해줘(tell John Smith I said hello)"에 대하여, 메시지 도메인(302)에 대하여 훈련된 NER(262-A)은 텍스트[존 스미스]의 부분이 엔티티에 대응한다고 인식할 수 있다. 메시지 도메인(302)은 텍스트가 금지된 도메인 내에 있다고 가정하는 텍스트의 의도를 결정하는 자신의 의도를 분류(IC) 컴포넌트(264-A)를 또한 가질 수 있다. IC 컴포넌트는 도메인 특정 최대 엔트로피 분류기와 같은 모델을 사용하여 텍스트의 의도를 식별할 수 있다. 메시지 도메인(302)은 이전 단계로부터의 표준화된 라벨 또는 토큰에 대한 규칙이나 다른 지시(instruction)를 의도/슬롯 표현에 적용할 수 있는 자체의 슬롯 필러 컴포넌트(310-A)를 가질 수 있다. 정확한 변환은 도메인에 따라 달라질 수 있다(예를 들어, 여행 도메인의 경우 "보스턴 공항"이라는 텍스트 언급은 공항을 지칭하는 표준 BOS 3 문자 코드로 변환될 수 있다). 메시지 도메인(302)은 착신 텍스트에 식별된 엔티티 언급에 지칭된 정확한 엔티티를 구체적으로 식별하는데 사용되는 권한 소스(authority source)(예컨대, 도메인 특정 지식 베이스)를 지칭할 수 있는 그것 자체의 엔티티 분해 컴포넌트(312-A)를 또한 가질 수 있다. 특정 의도/슬롯 조합은 또한 특정 소스에 연결될 수 있으며, 이는 이어서 (예를 들어, 사용자 쿼리에 대한 응답으로 실행될 정보 또는 명령을 제공함으로써) 텍스트를 분석하는데 사용될 수 있다. 엔티티 분해 컴포넌트(312-A)로부터의 출력은 도메인 특정 NLU 처리가 텍스트를 어떻게 핸들링했는지 및 특정 도메인에 따라 시스템이 텍스트에 어떻게 응답해야 하는지를 나타내는 명령, 정보, 또는 다른 NLU 결과 데이터를 포함할 수 있다.
도 3에 도시된 바와 같이, 다수의 도메인은 상이한 도메인 특정 컴포넌트와 실질적으로 병렬로 동작할 수 있다. 게다가, 각각의 도메인은 메시지 또는 다른 통신을 교환할 때 특정 프로토콜을 구현할 수 있다. 즉, 도메인 B, 실시간 호출에 대한, (304)는 그것 자체 NER 컴포넌트(262-B), IC 모듈(264-B), 슬롯 필러 컴포넌트(310-B), 및 엔티티 분해 컴포넌트(312-B)를 가질 수 있다. 시스템은 본 출원에 설명되지 않은 추가 도메인을 포함할 수 있다. 도메인 A(302)에 대한 NLU 파이프라인 내로 입력되는 동일한 텍스트가 도메인 B(304)에 대한 NLU 파이프 라인으로 입력될 수 있고, 여기서 도메인 B(304)에 대한 컴포넌트는 도메인 B에 관련된 텍스트인 것처럼 텍스트에 동작할 것이고, 상이한 도메인에 대한 상이한 NLU 파이프 라인에 대해서도 마찬가지이다. 각각의 도메인 특정 NLU 파이프라인은 고유한 도메인 특정 NLU 결과들, 예를 들어, NLU 결과 A(도메인 A), NLU 결과 B(도메인 B), NLU 결과 C(도메인 C) 등)를 생성할 것이다.
이러한 멀티 도메인 아키텍처는 각 특정 도메인에 대해 특정한 좁제 정의된 의도 및 슬롯으로 귀결된다. 이는 부분적으로 지정된 도메인에서만 작동하도록 훈련된 여러 모델 및 컴포넌트(도메인 특정 NER 컴포넌트, IC 모듈 및 관련 모델 등)에 기인한다. 더구나, 도메인의 분리는 동작에 중첩이 있는 경우에도 도메인에 걸쳐 개별적으로 표시되는 유사한 동작으로 귀결된다. 예를 들어 "다음 노래", "다음 도서" 및 "다음(next)"은 모두 동일한 동작의 표시자일 수 있지만 도메인 특정 처리 제한으로 인해 다른 도메인에서 다르게 정의될 것이다.
서버(120)는 도 4에 도시된 사용자 프로파일 스토리지(402)에 의해 도시된 사용자 계정과 관련된 데이터를 또한 포함할 수 있다. 사용자 프로파일 스토리지는 서버(120)에 인접하여 위치될 수 있거나, 그렇지 않으면 예를 들어, 네트워크(199)상의 다양한 컴포넌트와 통신할 수 있다. 사용자 프로파일 스토리지(402)는 시스템(100)과 상호 작용할 수 있는 개별 사용자, 계정에 관련된 다양한 정보를 포함할 수 있다. 예를 들어, 도 4에 도시된 바와 같이, 사용자 프로파일 스토리지(402) 특정 개별 사용자 계정(404)과 연관된 디바이스에 관한 데이터를 포함할 수 있다. 일례에서, 사용자 프로파일 스토리지(402)는 클라우드 기반 스토리지이다. 이런 데이터는 상이한 디바이스에 대한 디바이스 식별자(ID) 및 인터넷 프로토콜(IP) 어드레스 정보뿐만 아니라 사용자의 이름 및 디바이스의 위치를 포함할 수 있다. 사용자 프로파일 스토리지는 각 디바이스에 특정한 통신 변경 트리거, 각 디바이스에 대한 표시 선호도 등을 추가로 포함할 수 있다. 예를 들어, 각 디바이스에 의해 출력될 표시 유형은 사용자 프로파일에 저장되지 않을 수 있다. 오히려, 표시 유형은 상황에 따라 다를 수 있다. 예를 들어, 비디오 메시지가 시스템에 의해 교환되는 경우, 표시는 시각적일 수 있다. 추가 예를 들어, 오디오 메시지가 시스템에 의해 교환되는 경우, 표시는 들릴 수 있다.
각각의 사용자 프로파일은 하나 이상의 통신 변경 경로를 저장할 수 있다. 게다가, 각각의 통신 변경 경로는 통신 변경이 발생할 때를 나타내는 단일 통신 변경 트리거 또는 다수의 통신 변경 트리거를 포함할 수 있다. M개의 통신 변경 트리거를 갖는 N개의 통신 변경 경로는 단일 사용자 프로파일에 저장될 수 있다는 것이 이해되어야 한다. 각각의 통신 변경 경로는 사용자가 통신하는 상이한 개인에 대해 고유할 수 있다. 예를 들어, 사용자가 엄마와 통신할 때 하나의 통신 변경 경로가 사용될 수 있고, 사용자가 배우자등과 통신할 때 다른 통신 변경 경로가 사용될 수 있다. 각각의 통신 변경 경로는 또한 통신 유형 (예를 들어, 오디오 메시징, 비디오 메시징 등)에 고유할 수 있다. 각각의 통신 변경 경로는 또한 통신에 수반된 디바이스(들)의 유형에 고유할 수 있다. 예를 들어, 사용자는 사용자의 차에 디바이스를 위해 구성된 제1 통신 변경 경로, 사용자의 침실에서의 디바이스에 대해 구성된 제2 통신 변경 경로를 가질 수 있다.
사용자 프로파일의 일부 또는 전부 통신 변경 경로는 동적일 수 있다. 즉, 통신 변경 경로가 외부 신호에 의존할 수 있다. 예시적인 외부 신호는 디바이스에 대한 근접성(proximity)을 포함한다. 예를 들어, 사용자의 엄마가 그녀의 디바이스에 근접하지 않은 상태에서 사용자의 엄마와 통신할 때 하나의 통신 변경 경로가 사용될 수 있고, 사용자의 엄마가 그녀의 디바이스 근처에 있는 동안 사용자의 엄마와 통신할 때 제2 통신 변경 경로가 사용될 수 있다. 예를 들어, 화법 제어형 디바이스(speech-controlled device)(110)는 하나 이상의 이미지를 캡처하고 이에 대응하는 이미지 데이터를 서버(120)에 발송할 수 있다. 서버(120)는 이미지 데이터가 인간의 표현을 포함하는지를 결정할 수 있다. 서버(120)는 또한 이미지 데이터에서 사람의 표현의 위치에 기초하여 디바이스(110)에 대한 인간의 접근을 결정할 수 있다. 통신 변경 경로(communication alteration path)의 동적 선택은 기계 학습에 의해 영향을 받을 수도 있다. 예를 들어, 통신 변경 경로는 사용자가 밤에 특정 시간 후에 자신의 엄마와 통신할 때 실시간 호출로 통신을 변경하도록 구성될 수 있다. 그 후, 시스템은 사용자가 임계 시간 내에 통신을 변경하는 횟수의 특정 퍼센티지를 결정할 수 있다. 이 결정에 기초하여, 시스템은 사용자가 통신 변경 경로를 수정/업데이트하여 실시간 호출에 대한 메시징을 그렇게 빨리 변경하지 말 것을 제안할 수 있다.
각각의 통신 에스컬레이션(escalation) 경로는 하나 이상의 통신 변경을 포함할 수 있다. 일 유형의 통신 변경은 웨이크워드 부분의 필요성 제거가 수반되므로 화법 오디오는 명령(예를 들어, 시스템이 메시지를 발송하게 하는 언어) 및 메시지 컨텐츠를 포함하는 것만을 요구한다. 제2 유형의 통신 변경은 웨이크워드 부분과 명령의 필요성을 제거하는 것을 수반하여 말한 화법이 메시지 컨텐츠를 포함하는 것만 요구한다. 제3 유형의 통신 변경은 디폴트 웨이크워드를 바꾸는 것을 포함하여, 웨이크워드를 메시지 수신자의 이름(예를 들어, 엄마, 존(John) 등)으로 한다. 제4 유형의 통신 변경은 메시지 교환을 실시간 호출로 변경하는 것이다.
도 5a 내지 도 5d는 화법 제어형 디바이스를 통한 음성 기반 상호 작용을 도시한다. 제1 화법 제어형 디바이스(110a)는 웨이크워드 부분 및 페이로드 부분을 포함하는 말하여진 오디오를 캡처한다((502)로 도시됨). 예를 들어, 화법 제어형 디바이스(110a)는 말하여진 웨이크워드의 검출시까지 슬립 모드에 있을 수 있고, 이 웨이크워드는 화법 제어형 디바이스(110a)를 웨이크하도록 트리거링하고 처리를 위해 오디오(이는 말하여진 웨이크워드 및 그 후에 화법을 포함할 수 있다)를 캡처하여 서버(120)로 발송한다. 화법 제어형 디바이스(110a)는 서버(120)로 캡처된 말하여진 오디오에 대응하는 오디오 데이터를 발송한다((504)로 도시됨).
텍스트를 결정하기 위해 수신된 오디오 데이터에 대해 서버(120)는 ASR 수행한다((506)으로 도시됨). 서버(120)는 텍스트의 페이로드 부분과 웨이크워드 부분을 결정할 수 있고, 페이로드 상에 NLU를 수행한다((508)로 도시됨). NLU 처리를 수행하는 것은 서버(120)가 페이로드 부분의 수신자 정보를 태그하는 것((510)으로 도시됨), 페이로드 부분의 메시지 컨텐츠 정보를 태그하는 것((512)로 도시됨) 및 "메시지 발송(send message)" 의도 태그로 전체 페이로드 부분을 태그하는 것을 포함할 수 있다((514)로 도시됨). 예를 들어, 수신된 오디오 데이터의 페이로드 부분은 "John Smith에게 인사 전해줘(tell John Smith I said hello)"의 텍스트에 대응할 수 있다. 이 예에 따르면, 서버(120)는 "John Smith"를 수신자 정보로서 태그하고, "hello"를 메시지 컨텐츠 정보로 태그할 수 있으며, "메시지 발송" 의도 태그로 발언을 태그할 수 있다. 메시지 의도 태그로 페이로드 부분을 태그하는 것은 메시지 도메인(302)을 이용하여 수행될 수 있고 및/또는 시스템이 메시징 명령 프로세서(290)와 같은 추가 메시징 명령을 수행하게 할 수 있다.
태그된 수신자 정보를 이용하여, 서버(120)는 수신자와 관련된 디바이스를 결정한다(예를 들어, 화법 제어형 디바이스(110b))(도 5b에 (516)으로 도시됨). 수신 디바이스를 결정하기 위해, 서버(120)는 화법 제어형 디바이스(110a) 및/또는 초기 오디오를 말한 사용자와 관련된 사용자 프로파일을 사용할 수 있다. 예를 들어, 서버(120)는 태그된 수신자 정보(즉, "John Smith")에 대응하는 테이블 내의 텍스트를 일치시키기 위해 사용자 프로파일의 테이블에 액세스할 수 있다. 일치하는 텍스트가 식별되면, 서버(120)는 테이블 내의 일치하는 텍스트와 관련된 수신 디바이스를 식별할 수 있다.
서버(120)는 또한 "메시지 발송" 의도 태그와 연관된 서버(120)의 관련된 프로토콜 및 도메인을 사용하여 출력 오디오 데이터를 생성할 수 있다((518)로 도시됨). 출력 오디오 데이터는 화법 제어형 디바이스(110a)로부터 수신된 말하여진 오디오를 포함할 수 있다. 대안적으로, 출력 오디오 데이터는 화법 제어형 디바이스(110a)로부터 수신된 메시지 컨텐츠의 텍스트에 기초하여 컴퓨터 생성된 텍스트 - 음성(TTS: text-to-speech) 오디오 데이터를 포함할 수 있다. 서버(120)는 수신자 디바이스에 출력 오디오 데이터를 발송하고((520)으로 도시됨), 이 수신자 디바이스는 수신자에게 오디오 데이터를 출력한다((522)로 도시됨). 일례에서, 수신자의 화법 제어형 디바이스(110b)는 수신자로부터 오디오 음성 데이터를 출력하라고 하는 명령을 검출할 때까지 오디오 데이터를 출력하지 않을 수 있다. 이러한 명령은 "어떤 것이 내 메시지인가?", "어떤 메시지가 있는가?" 등에 대응하는 수신자의 말하여진 발언일 수 있다.
서버(120)는 서버(120)가 통신 변경 트리거의 발생을 결정할 때까지((526)로 도시됨) 상기 도 5a 및 도 5b의 단계(502-522)와 관련하여 상술한 바와 같이 제1 화법 제어형 디바이스(110a)와 제2 화법 제어형 디바이스(110b) 사이에서 메시지 통신을 수행한다(예를 들어, 메시지 도메인을 통하여)((524)로 도시됨). 통신 변경 트리거는 서버(120)가 이전의 통신/프로세스를 수행하는데 사용된 도메인과 다른 도메인 및 대응하는 프로토콜(들)을 이용하여 후속 통신/처리를 수행하게 한다. 대안으로, 시스템은 특정 화법 데이터(예를 들어, 수신자의 표시 또는 웨이크워드)를 요구하지 않도록 미래 메시지의 처리를 조정할 수 있다. 결정된 통신 변경 트리거는 많은 형태를 취할 수 있다. 통신 변경 트리거의 임계 수의 있는지 제1 화법 제어형 디바이스(110a)와 제2 화법 제어형 디바이스(110b) 사이의 임계 수의 메시지 교환이 만족하거나 초과하는 여부에 기반될 수 있다. 예를 들어, 임계 횟수의 메시지 교환은 화법 제어형 디바이스(110a/110b) 중 어느 하나의 사용자에 의해 설정될 수 있고, 각각의 사용자 프로파일로 표현될 수 있다. 제1 화법 제어형 디바이스(110a)의 사용자 프로파일과 연관된 임계 수의 메시지 교환은 제2 화법 제어형 디바이스(110b)의 사용자 프로파일과 연관된 임계 수의 메시지 교환과 다를 수 있다는 것이 이해되어야 한다. 이 경우에, 통신 변경 발생되어야 하는 때를 결정하기 위해 서버(120)에 의해 사용되는 임계값은 먼저 충족되거나 또는 초과되어야 하는 임계값일 수 있다(즉, 요구된 메시지 교환의 수보다 작은 수를 갖는 임계값). 또한, 통신 변경 트리거는 임계 시간량으로 발생하는 임계 수의 메시지 교환에 기초하거나 대안적으로 이루어질 수 있다. 예를 들어, 메시지 교환들의 임계수 및/또는 임계 시간량은 화법 제어형 디바이스(110a/110b) 중 어느 하나의 사용자에 의해 설정될 수 있고, 각각의 사용자 프로파일로 표현될 수 있다. 제1 화법 제어형 디바이스(110a)의 사용자 프로파일과 관련된 임계 시간량 및 메시지 교환의 임계 수는 제2 화법 제어형 디바이스(110b)의 사용자 프로파일과 관련된 메시지 교환의 임계 수와 다를 수 있다는 것을 이해되어야 한다. 이 예에서, 서버(120)가 통신 변경이 발생해야 하는 때를 결정하기 위해 사용되는 임계값은 먼저 만족되거나 초과되는 임계값일 수 있다. 통신 변경 트리거는 또한 또는 대안적으로, 동시에 각각의 디바이스의 임계 거리에 있는 화법 제어형 디바이스(110a/110b)의 양쪽의 사용자에 기반될 수 있다. 통신 변경은 단일 통신 변경 트리거의 만족에 기초하여 발생할 수 있다는 것이 이해되어야 한다. 또한 통신 변경은 하나 초과의 통신 변경 트리거의 만족에 기초하여 발생할 수 있음이 이해되어야 한다.
하나 이상의 일단 통신 변경 트리거가 결정되고, 구현에 따라, 서버(120)는 수신된 오디오 데이터에 웨이크워드 부분 또는 수신자 정보의 존재를 요구하지 않도록 제 1/제2 화법 제어형 디바이스로부터 발언을 재구성한다((528)로 도시됨). 이것은 예를 들어, 메시지 도메인(302) 및 연관된 프로토콜(들)을 이용하여 수행될 수 있다. 또한, 단계(528)에서 발생하는 재구성은 수신된 통신을 출력하도록 하는 명령에 대응하는 화법을 먼저 검출하지 않고 수신된 통신을 출력하도록 화법 제어형 제어 디바이스(110b)에 명령할 수 있다. 또한, 서버(120)는 제1 및 제2 화법 제어형 디바이스(110a/110b) 사이에 통신이 변경되는 것을 나타내는 신호를 화법 제어형 디바이스(110a/110b) 중 하나 또는 둘 모두에 발송할 수 있다((530)으로 도시됨). 화법 제어형 디바이스는 디바이스가 메시지 컨텐츠를 캡처하려는 시도로 "청취(listening)하고" 있다는 것을 나타내는 표시를 출력할 수 있다. 추가하여, 화법 제어형 디바이스는 수신자의 디바이스가 말하여진 메시지 컨텐츠를 캡처하고 있음을 나타내는 표시를 출력할 수 있다. 화법 제어형 디바이스(110a) 및/또는 화법 제어형 디바이스(110b)는 웨이크워드 오디오를 나타내는 신호가 더 이상 필요하지 않다는 것을 출력할 수 있다(도 5c에 (532)로 도시됨). 화법 제어형 디바이스(110a/110b) 중 하나 또는 둘 모두에 의해 출력된 신호는 이하에서 설명되는 바와 같이 정적 표시 또는 움직이는 표시일 수 있다.
그 후, 화법 제어형 디바이스(110a)는 페이로드 정보((534)로 도시됨)만을 포함하는 사용자로부터의 말하여진 오디오를 캡처하고, 페이로드 정보에 대응하는 오디오 데이터를 서버(120)로 발송한다((536)으로 도시됨). 서버(120)는 수신된 오디오 데이터에 대해 ASR을 수행하여 텍스트를 결정하고((538)로 도시됨), 페이로드 정보 텍스트에 NLU 처리를 수행한다((540)로 도시됨). NLU 처리를 수행하는 것은 서버(120가 페이로드 정보 텍스트의 수신자 정보를 태그하는 것, 페이로드 정보 텍스트의 메시지 컨텐츠 정보를 태그하는 것 및 전체 페이로드 정보 텍스트를 인스턴트 메시지 의도 태그(instant message intent tag)로 태그하는 것을 포함할 수 있다. 예를 들어, 수신된 오디오 데이터의 페이로드 정보는 "언제 프로젝트가 완료될 것인가?"를 진술할 수 있다. 이 예에 따르면, 서버(120)는 메시지 컨텐츠 정보로서" 언제 프로젝트가 완료될 것인가 "를 태그할 수 있고, "인스턴트 메시지 발송" 의도 태그로 발언을 태그할 수 있다. 페이로드 태그 정보 텍스트를 메시지 의도 태그로 태그하는 것은 서버(120)가 메시지 도메인(302)을 이용하여 다운스트림 처리를 수행하도록 할 수 있다. 수신자 정보가 입력 오디오에 존재할 것을 요구하지 않음으로써, 서버(120)는 수신자 디바이스가 이전의 통신에서 사용된 수신 디바이스와 동일하다고 가정할 수 있고, 그렇게 함으로써, 서버(120)가 수신 디바이스를 다시 결정할 필요를 무효화한다.
서버(120)는 "인스턴트 메시지 발송" 의도 태그와 연관된 서버(120)의 도메인 및 관련 프로토콜(들)을 사용하여 출력 오디오 데이터를 생성한다((542)로 도시됨). 예를 들어, 메시지 도메인(302)은 인스턴트 메시지 의도 태그와 연관될 수 있다. 출력 오디오 데이터는 화법 제어형 디바이스(110a)로부터 수신된 말하여진 오디오를 포함할 수 있다. 대안적으로, 출력 오디오 데이터는 화법 제어형 디바이스(110a)로부터 수신된 말하여진 오디오에 기초한 컴퓨터 생성된 텍스트 - 음성 (TTS) 오디오 데이터를 포함할 수 있다. 서버(120)는 수신자 디바이스(즉, 화법 제어형 디바이스(110b))에 출력 오디오 데이터를 발송하고((544)로 도시됨) 이는 수신자에 오디오 데이터의 오디오를 출력한다(도 5d에 (546)로 도시됨). 상술한 바와 같이, 단계(528)에서 발생하는 재구성은 수신된 통신을 출력하도록 먼저 사용자로부터 명령을 수신하지 않고 화법 제어형 디바이스(110b)에 수신된 통신을 출력하도록 명령할 수 있다. 이와 같이, 화법 제어형 디바이스(110b)는 먼저 오디오 데이터를 수신자로 출력하라는 명령을 수신하지 않고 단계(546)에서 오디오 데이터를 수신자에게 출력할 수 있다는 것이 이해되어야 한다. 즉, 화법 제어형 디바이스(110b)는 오디오 데이터를 자동 재생할 수 있다.
서버(120)는 서버(120)가 다른 통신 변경 트리거의 발생을 결정할 때까지((550)로 도시됨) 상기의 도 5c 내지 도 5d의 단계(534-546)와 관련하여 상술한 바와 같이 제1 화법 제어형 디바이스(110a)와 제2 화법 제어형 디바이스(110b) 사이에서 인스턴트 메시지 통신을 수행한다(예를 들어, 웨이크워드 오디오 데이터를 필요로 하지 않고 인스턴트 메시지 도메인을 통하여)((548)로 도시됨). 제2 결정된 통신 변경 트리거는 많은 형태를 취할 수 있다. 제1 통신 변경 트리거와 같이, 제2 통신 변경 트리거는 제1 화법 제어형 디바이스(110a)와 제2 화법 제어형 디바이스(110b) 사이의 임계치 수의 메시지 교환이 충족되었는지 또는 초과되었는지, 임계 시간량에서 발생하는 메시지 교환의 임계 개수 및/또는 각각의 화법 제어형 디바이스(110a/110b)의 양쪽의 사용자들이 동시에 그들의 각각의 디바이스의 임계 거리에 존재하는지 여부에 기반될 수 있다. 제1 및 제2 통신 변경 트리거에 결정하는데 사용되는 임계값들은 동일하거나(예를 들어, 각각 5개의 메시지 교환을 필요로 한다)하거나 상이할 수 있다(예를 들어, 메시지 도메인(302)를 이용하여 5개의 메시지 교환 후에 제1 통신 변경은 발생하고 메시지 도메인(302)을 이용하여 7개의 메시지를 교환 후에 제2 통신 변경이 발생한다). 각각의 통신 변경 트리거에 대한 메시지 교환은 제1 통신 변경 후에 리셋되지 않는 단일 카운터를 사용하여 결정될 수 있다. 앞선 예에 따르면, 카운터가 5개의 메시지 교환(즉, 메시지 도메인(302)을 사용하여 5개의 메시지 교환)에 도달한 후 제1 통신 변경이 발생할 수 있고, 카운터가 12개의 메시지 교환에 도달한 후에 (즉, 메시지 도메인(302)을 사용하여 7개의 메시지 교환) 제2 통신 변경이 발생한다. 대안으로, 각각의 통신 변경에 대한 메시지 교환은 상이한 카운터를 사용하여 결정될 수 있거나, 또는 제1 통신 변경 후에 리셋하는 단일 카운터로 결정될 수 있다. 앞선 예에 따르면, 카운터가 5개의 메시지 교환(즉, 메시지 도메인(302)을 사용하여 5개의 메시지 교환)에 도달한 후 제1 통신 변경이 발생할 수 있고, 카운터는 그런 다음 제로로 리셋될 수 있고, 카운터가 7개의 메시지 교환에 도달한 후에(즉, 메시지 도메인(302)을 사용하여 7개의 메시지 교환) 제2 통신 변경이 발생한다. 사용자가 제1 및 제2 통신 변경을 위해 필요로 하는 화법 제어형 디바이스(110a/110b)에 대한 임계 거리는 동일하거나 상이할 수 있다. 게다가, 제1 통신 변경과 같이, 제2 통신 변경은 단일 통신 변경 트리거, 또는 하나 초과의 통신 변경 트리거에 기초하여 발생할 수 있다.
일단 구현에 따라 제2 통신 변경 트리거(들)가 결정되면, 서버(120)는 화법 제어형 디바이스(110a)와 화법 제어형 디바이스(110b) 사이에 실시간 호출을 수립하는 도메인 및 관련 프로토콜을 사용하도록 재구성한다((552)로 도시됨). 이러한 도메인은 예를 들어, 실시간 호출 도메인(304)일 수 있다. 본 출원에서 사용되는 실시간 호출은 서버(120)를 통해 화법 제어형 디바이스(110a/110b)간에 가능해지는 호출을 지칭하며, 여기서 직접 통신 채널이 화법 제어형 디바이스 사이에서 개방될 수 있다. 예를 들어, 실시간 호출 중에, 시스템은 오디오 데이터에 화법 처리(예컨대, ASR 또는 NLU)를 수행하지 않고 제1 화법 제어형 디바이스(110a)로부터 제2 화법 제어형 디바이스(110b)로 오디오 데이터를 발송할 수 있어서, 제1 화법 제어형 디바이스(110a)의 사용자가 제2 화법 제어형 디바이스(110b)의 사용자와 "직접 말하기(speak directly)"할 수 있게 한다. 대안적으로, 시스템은 (ASR 또는 NLU와 같은) 화법 처리를 수행할 수 있지만, 시스템에 대하여 의도된 명령이 없이 디바이스(110a/110b) 사이에서 오디오 데이터를 왔다 갔다 전달할 수 있다. 실시간 호출은 예를 들어도 7을 참조하여 이하에서 논의되는 바와 같이 종료될 수 있다.
서버(120)는 실시간 호출이 수립되었음을 나타내는 신호를 화법 제어형 디바이스(110a/110b) 중 하나 또는 둘 모두에 발송할 수 있다((554)로 도시됨). 화법 제어형 디바이스(110a) 및/또는 화법 제어형 디바이스(110b)는 그런 다음 사용자 점-대-점 호출(point-to-point call) 을 수행하는 것처럼 사용자가 말할 수 있는 것을 나타내는 신호를 출력한다((556)로 도시됨). 본 출원에서 사용된 실시간 또는 점-대-점 호출/통신은 서버(120)를 통해 화법 제어형 디바이스(110a/110b) 사이에서 가능하게 되는 호출을 말한다. 즉, 실시간 호출 또는 점-대-점 호출은 오디오가 단순히 디바이스에 의해 캡처되어 서버에 오디오 데이터로 발송되는 통신이며, 서버는 단순히 수신자 디바이스로 수신된 오디오 데이터를 발송하며 수신자 디바이스는 오디오를 출력하라는 명령을 먼저 수신하지 않고 오디오를 출력한다. 화법 제어형 디바이스(110a/110b) 중 하나 또는 둘 모두에 의해 출력된 신호는 이하에서 설명되는 바와 같이 정적 표시 또는 움직이는 표시일 수 있다. 그런 다음 시스템은 실시간 통신 세션을 수행한다((558)로 도시됨). 실시간 통신 세션은 디에스컬레이션 트리거(de-escalation trigger)(본 출원에서 상세히 설명되는)가 결정될 때까지 시스템에 의해 수행될 수 있다.
화법 제어형 디바이스들 간의 통신을 수행할 때, 시스템은 데이터 크기, 송신 속도 등을 제어하는 다양한 유형의 프로토콜을 사용할 수 있다. 예를 들어, 제1 프로토콜은 웨이크워드 부분 및 수신자 컨텐츠의 존재를 필요로 하는 통신 교환을 제어하는데 사용될 수 있다. 제2 프로토콜은 웨이크워드 부분을 필요로 하지 않지만 여전히 수신 콘텐츠를 필요로 하는 통신 교환을 제어하는데 사용될 수 있다. 제3 프로토콜은 NLU 의도를 포함하지 않는 통신 교환을 제어하는데 사용될 수 있다. 즉, 시스템이 과거의 동시적인 메시지 교환에 기초하여 수신자를 추정하기 때문에, 제3 프로토콜은 웨이크워드 부분도 수신자 컨텐츠도 필요하지 않을 때 사용될 수 있다. 화법 제어형 디바이스 간의 동기식 호출이 수행될 때 VoIP와 같은 실시간 프로토콜이 사용될 수 있다.
도 6a 및 도 6b는 메시지의 의도된 수신자에 기초하여 화법 제어형 디바이스를 통해 음성 기반 상호작용의 변경을 도시한다. 제1 화법 제어형 디바이스(110a)는 웨이크워드 부분 및 페이로드 부분을 포함하는 말하여진 오디오를 캡처한다((502)로 도시됨). 예를 들어, 화법 제어형 디바이스(110a)는 말하여진 웨이크워드의 검출시까지 슬립 모드에 있을 수 있고, 이 웨이크워드는 화법 제어형 디바이스(110a)를 웨이크하도록 트리거링하고 말하여진 웨이크워드 및 그 후에 화법을 포함하는 오디오를 캡처한다. 화법 제어형 디바이스(110a)는 서버(120)로 캡처된 말하여진 오디오에 대응하는 오디오 데이터를 발송한다((504)로 도시됨).
텍스트를 결정하기 위해 수신된 오디오 데이터에 대해 서버(120)는 ASR 수행한다((506)으로 도시됨). 서버(120)는 텍스트의 페이로드 부분과 웨이크워드 부분을 결정하고, 페이로드 상에 NLU를 수행한다((508)로 도시됨). NLU 처리를 수행하는 것은 서버(120)가 페이로드 부분의 수신자 정보를 태그하는 것((510)으로 도시됨), 페이로드 부분의 메시지 컨텐츠 정보를 태그하는 것 ((512)로 도시됨) 및 "메시지 발송(send message)" 의도 태그로 전체 페이로드 부분을 태그하는 것을 포함할 수 있다((514)로 도시됨). 예를 들어, 수신된 오디오 데이터의 페이로드 부분은 "나 곧 도착할 거라고 말했다고 엄마한테 말해줘(tell mom I said I will be there soon)."라고 말할 수 있다. 이 예에 따르면, 서버(120)는 "엄마"를 수신자 정보로서 태그하고, "나 곧 도착할 거라고(I will be there soon)"를 메시지 컨텐츠 정보로 태그할 수 있으며, "메시지 발송" 의도 태그로 발언을 연관시킬 수 있다. 상술한 바와 같이, 통신 변경 경로 및 통신 변경 트리거는 사용자 프로파일을 통해 구성 가능할 수 있다. 이 실시예에 따르면, 서버(120)는 메시지의 의도된 수신자에 기초하여 통신 변경을 결정할 수 있다. 예를 들어, 서버(120)는, 태그 수신자 정보를 이용하여, 화법 제어형 디바이스(110a)의 사용자 프로파일을 액세스할 수 있고, "엄마"와의 통신이 실시간 호출을 통해 수행되어야 하는 것을 나타내는 통신 변경 경로를 결정할 수 있다(도 6b의 (602)로 도시됨). 그 후, 서버(120)는 화법 제어형 디바이스(110a)와 화법 제어형 디바이스(110b) 사이의 실시간 호출을 수립하는 도메인 및 관련 프로토콜(들)을 사용하도록 재구성 한다((552로 도시됨). 이러한 도메인은 예를 들어, 실시간 호출 도메인(304)일 수 있다. 서버(120)는 실시간 호출이 수립되었음을 나타내는 신호를 화법 제어형 디바이스(110a/110b) 중 하나 또는 둘 모두에 발송할 수 있다((554)로 도시됨). 화법 제어형 디바이스(110a) 및/또는 화법 제어형 디바이스(110b)는 그런 다음 사용자 점 -대-점 호출을 수행하는 것처럼 사용자가 말할 수 있는 것을 나타내는 신호를 출력한다((556)로 도시됨). 화법 제어형 디바이스(110a/110b) 중 하나 또는 둘 모두에 의해 출력된 신호는 이하에서 설명되는 바와 같이 정적 표시 또는 움직이는 표시(motion indication)일 수 있다. 그런 다음 시스템은 실시간 통신 세션을 수행한다((558)로 도시됨). 실시간 통신 세션은 다른 통신 변경 트리거(본 출원에서 상세히 설명됨)가 결정될 때까지 시스템에 의해 수행될 수 있다.
도 7은 화법 제어형 디바이스를 통한 음성 기반 상호 작용의 변경을 도시한다. 서버(120)가 통신 변경 트리거의 발생을 결정할 때까지((704)로 도시됨) 실시간 호출과 관련된 도메인과 관련된 프로토콜(들)을 통하여 서버(120)는 화법 제어형 디바이스들(110a/110b) 사이의 통신을 교환한다((702)로 도시됨). 이러한 도메인은 예를 들어, 실시간 호출 도메인(304)일 수 있다. 통신 변경 트리거는 다양한 형태를 취할 수 있다. 통신 변경 트리거는 멀티 태스킹(즉, 서버(120)가 실시간 호출과 관련없는 작업을 수행하게 하는) 하는 화법 제어형 디바이스(110a/110b) 중 하나의 사용자에 기초할 수 있다. 통신 변경 트리거는 또한 또는 대안적으로 충족하거나 초과되는 비활동 임계 기간에 기초할 수 있다(예를 들어, n 양의 분에 교환이 일어나지 않았다는 결정). 또한, 통신 변경 트리거는 또한 또는 대안적으로 사용자 지시(예를 들어, "통화 종료", "통화 중지", "통화 중지" 등을 언급하는 화법 제어형 디바이스(110a/110b) 중 하나의 사용자)에 기반될 수 있다. 통신 변경 트리거는 또한 또는 대안적으로 화법 제어형 디바이스(110a/110b) 둘 모두의 사용자로부터 발원하는 표시(예를 들어, 서로의 임계 초 기간 내에 "안녕", "작별"등을 말하는 사용자 둘 다)에 기반될 수 있다. 추가하여, 통신 변경 트리거는 또한 또는 대안적으로 서버(120)가 실시간 호출의 교환에서 웨이크워드를 검출하는 것에 기반될 수 있다. 통신 변경은 결정되는 하나 초과의 통신 변경 트리거의 만족에 기초하여 발생할 수 있다.
변경이 발생된다고 결정한 후, 서버(120)는 실시간 호출을 중단하고((706)으로 도시됨) 및 화법 제어형 디바이스(110a/110b) 중 하나 또는 둘 모두에 이것을 나타내는 신호를 발송한다((708)로 도시됨). 화법 제어형 디바이스(110a) 및/또는 화법 제어형 디바이스(110b)는 그런 다음 실시간 호출이 중단되었다는 것을 나타내는 신호를 출력한다((710)으로 도시됨). 화법 제어형 디바이스(110a/110b) 중 하나 또는 둘 모두에 의해 출력된 신호는 이하에서 설명되는 바와 같이 정적 표시 또는 움직이는 표시일 수 있다. 통신을 변경하는 것은 해당 시점에서 화법 제어형 디바이스(110a/110b) 사이의 모든 통신을 중단하는 것을 수반할 수 있다. 대안적으로, 통신을 변경하는 것은 실시간 호출과 다른 제2 형태로 통신을 변경하는 것을 수반할 수 있다. 예를 들어, 통신의 제2 형태는 서버(120)가 통신 변경 트리거의 발생을 결정할 때까지 상기의 도 5c 내지 도 5d의 단계(534-546)와 관련하여 상술한 바와 같이 제1 화법 제어형 디바이스(110a)와 제2 화법 제어형 디바이스(110b) 사이에서 인스턴트 메시지 통신을 서버(120)가 수행하는 것을 수반할 수 있다((548)로 도시됨).
도 8a 및 도 8b는 화법 제어형 디바이스의 사용자 인터페이스를 통한 시그널링의 출력을 도시한다. 화법 제어형 디바이스(110a)는 말하여진 오디오를 캡처하고((802)로 도시됨), 캡처된 말하여진 오디오를 오디오 데이터로 컴파일하고, 오디오 데이터를 서버(120)로 발송한다((504)로 도시됨).
서버(120)는 오디오 데이터에 ASR을 수행하여 텍스트를 결정하고(예를 들어, "John Smith에게 인사 전해줘(tell John Smith I said hello)"((506)으로 도시됨)), 텍스트에 대해 NLU를 수행한다((804)로 도시됨). 서버(120)는 NLU 처리된 텍스트 내에 태그된 수신자 정보(즉, "John Smith")를 위치시키고((806)로 도시됨), 이로부터 수신자 디바이스를 결정한다((808)로 도시됨). 예를 들어, 서버(120)는 화법 제어형 디바이스(110a) 및/또는 그 사용자와 관련된 사용자 프로파일에 액세스할 수 있다. 사용자 프로파일을 사용하여, 서버(120)는 테이블 내의 수신자 정보(즉, "John Smith")에 대응하는 텍스트를 위치시킬 수 있고, 테이블 내의 수신자 정보와 관련된 수신자 디바이스 정보를 식별할 수 있다. 서버(120)는 또한 NLU 처리된 텍스트내에 태그된 메시지 컨텐츠를 결정한다(예를 들어, "안녕하세요(hello)")를 ((810)로 도시됨).
서버(120)는 메시지 컨텐츠가 처음 말하여진 오디오 데이터가 발원된 화법 제어형 디바이스(110a)로 수신자 디바이스(즉, 화법 제어형 디바이스(110b))에 있거나 또는 거기로 발송된다는 것을 나타내는 신호를 발송한다((812)로 도시됨). 메시지를 수신한 것에 응답하여, 화법 제어형 디바이스(110a)는 메시지 컨텐츠(즉, 안녕)가 수신자 디바이스로 발송되거나 또는 거기에 있다는 것을 나타내는 시각적 표시 출력한다((814)로 도시됨). 예를 들어, 시각적 표시는 정적 표시(예를 들어, 특정 색상 등) 또는 움직이는 표시(예를 들어, 깜박거리거나 스트로브하는(strobing) 요소, 연속적인 움직임 등)를 출력하는 것을 포함할 수 있다. 시각적 표시 출력은 사용자 프로파일 선호도에 따라 구성될 수 있다. 선택적으로, 메시지 수신에 응답하여, 화법 제어형 디바이스(110)는 촉각 및/또는 가청 표시를 출력할 수 있다((816)로 도시됨). 촉각 표시는 진동하는 화법 제어형 디바이스(110a) 및/또는 진동하는 화법 제어형 디바이스(110a)(예를 들어, 스마트 워치)와 통신하는 원격 디바이스를 포함할 수 있다. 원격 디바이스 및 화법 제어형 디바이스(110a)는 사용자 프로파일과 관련된 사용자 디바이스의 단일 테이블에 위치시킴으로써 통신할 수 있다. 가청 표시는 예를 들어 "귀하의 메시지가 발송되고 있다" 또는 "귀하의 메시지가 순간적으로 발송 될 것"에 대응하는 컴퓨터 생성/TTS 생성된 화법 및/또는 사용자 생성 화법을 포함할 수 있다. 촉각 표시처럼 가청 표시는 화법 제어형 디바이스(110a), 원격 마이크로폰 어레이 및/또는 원격 디바이스(예를 들어, 스마트 워치)에 의해 출력될 수 있다. 원격 디바이스, 마이크로폰 어레이 및 화법 제어형 디바이스(110a)는 사용자 프로파일과 관련된 사용자 디바이스의 단일 테이블에 위치시킴으로써 통신할 수 있다.
서버(120)는 또한 결정된 수신 디바이스(즉, 화법 제어형 디바이스(110b))에 메시지의 컨텐츠를 포함하는 오디오 데이터를 발송한다((818)로 도시됨). 단계(814-818)(및 다른 도면의 다른 단계들)는 다양한 순서로 발생할 수 있고 동시에 발생할 수도 있다는 것이 이해되어야 한다. 화법 제어형 디바이스(110b)는 그런 다음 메시지 컨텐츠에 대응하는 오디오를 출력한다((522)로 도시됨). 화법 제어형 디바이스(110b)는 메시지 컨텐츠에 응답하여 화법을 검출하고((820)으로 도시됨), 및 화법 제어형 디바이스(110b)는 이것을 서버(120)로 나타내는 신호를 발송한다((822)로 도시됨). 서버(120)는 그런 다음 화법 제어형 디바이스(110b)가 화법을 검출하고 있는 것을 나타내는 신호를 화법 제어형 디바이스(110a)로 발송한다((824)로 도시됨). 서버(120)는 검출된 화법이 출력 오디오에 응답하여 예를 들어, 검출된 화법에 표시된 수신자의 이름 또는 화법 제어형 디바이스(110a/110b)가 웨이크워드 오디오 데이터를 요구하지 않는 인스턴트 메시지 교환의 일부인 것에 기반된 것을 결정할 수 있다. 추가하여, 일례에서, 서버(120)는 화법 제어형 디바이스(110b)로 하여금 사용자가 수신된 메시지에 응답하기를 원하는지 여부를 묻는 오디오를 출력하게 할 수 있다. 서버(120)는 제2 화법 제어형 디바이스(110b)로부터 오디오 데이터를 수신하고, 텍스트 데이터를 결정하기 위해 오디오 데이터에 ASR을 수행하고, 텍스트 데이터가 응답할 의도를 나타내는 적어도 하나의 단어 (예를 들어, 예(yes))를 포함하고, 그로부터 그 이후에 수신된 오디오 데이터가 원래의 메시지에 대한 응답인지를 결정한다. 다른 예에서, 서버(120)는 제2 화법 제어형 디바이스(110b)로부터 오디오 데이터를 수신하고, 화법 처리(speech processing)를 이용하여 수신된 오디오 데이터의 오디오 시그니처가 원래의 메시지의 수신자의 음성 기반 스피커 ID와 일치하고, 그로부터 그 이후에 수신된 오디오 데이터가 원래의 메시지에 대한 응답인지를 결정한다. 신호 수신에 응답하여, 화법 제어형 디바이스(110b)가 화법을 검출하고 있는 것을 나타내는 시각적 표시를 화법 제어형 디바이스(110a)가 출력한다((826)로 도시됨). 예를 들어, 시각적 표시는 정적 표시(예를 들어, 특정 색상 등) 또는 움직이는 표시(예를 들어, 깜박거리거나 스트로브하는(strobing) 요소, 연속적인 움직임 등)를 출력하는 것을 포함할 수 있다. 시각적 표시 출력은 사용자 프로파일 선호도에 따라 구성될 수 있다. 일례에서, 원래 메시지에 응답하여 수신자에 의해 말하여진 오디오는 시각적 표시가 더 이상 출력되지 않는 한 화법 제어형 디바이스(110a)에 의해 출력될 수 있다. 선택적으로, 신호 수신에 응답하여, 화법 제어형 디바이스(110a)는 촉각 및/또는 가청 표시를 출력할 수 있다((828)로 도시됨). 촉각 표시는 진동하는 화법 제어형 디바이스(110a) 및/또는 진동하는 화법 제어형 디바이스(110a)(예를 들어, 스마트 워치)와 통신하는 원격 디바이스를 포함할 수 있다. 원격 디바이스 및 화법 제어형 디바이스(110a)는 사용자 프로파일과 관련된 사용자 디바이스의 단일 테이블에 위치시킴으로써 통신할 수 있다. 가청 표시는 예를 들어 "존 스미스가 당신의 메시지에 답변하고 있다" 또는 "존 스미스가 말하고 있다"에 대응하는 컴퓨터 생성/TTS 생성된 화법 및/또는 사용자 생성 화법을 포함할 수 있다. 촉각 표시처럼 가청 표시는 화법 제어형 디바이스(110a), 원격 마이크로폰 어레이 및/또는 원격 디바이스(예를 들어, 스마트 워치)에 의해 출력될 수 있다. 원격 디바이스, 마이크로폰 어레이 및 화법 제어형 디바이스(110a)는 사용자 프로파일과 관련된 사용자 디바이스의 단일 테이블에 위치시킴으로써 통신할 수 있다.
도 9는 화법 제어형 디바이스의 사용자 인터페이스를 통한 시그널링의 출력을 도시한다. 제1 화법 제어형 디바이스(110a)는 웨이크워드 부분 및 수신자 정보를 포함하는 말하여진 오디오를 캡처한다((902)로 도시됨). 화법 제어형 디바이스(110a)는 캡처된 수신자 정보 오디오를 오디오 데이터로 변환하고 오디오 데이터를 서버(120)로 발송한다((904)로 도시됨). 대안적으로, 화법 제어형 디바이스(110a)는 웨이크워드 부와 수신자 정보 둘 모두에 대응하는 오디오 데이터를 서버(120)로 발송할 수 있다. 이 예에서, 서버(120)는 웨이크워드 부분 오이도 데이터와 수신자 정보 오디오 데이터를 분리할 수 있고 웨이크 워드 부분 오디오 데이터를 폐기할 수 있다. 서버(120)는 수신자 정보 오디오 데이터에 화법 처리(speech processing)(예를 들어, ASR 및 NLU)를 수행할 수 있다((906)으로 도시됨). 예를 들어, 서버(120)는 수신자 정보 오디오 데이터에 ASR을 수행하여 수신자 정보 텍스트 데이터를 생성하고, 수신자 정보 텍스트 데이터에 NLU를 수행하여 수신자 이름을 식별할 수 있다. 수신된 오디오 데이터가 발원된 화법 제어형 디바이스(110a)가 다수의 사용자와 관련되는 경우, 서버(120)는 다양한 처리를 수행하여 어느 사용자가 웨이크워드 부분 및 수신자 정보 오디오를 말했는지를 결정할 수 있다((908)로 도시됨).
화법 처리된 수신자 정보 오디오 데이터를 이용하여, 수신자 정보 오디오의 스피커를 아는 것은, 서버(120)는 수신자의 디바이스를 결정하고, 수신자 정보 오디오의 스피커와 연관된 사용자 프로파일을 사용하여 미래 데이터를 발송할 수신자의 디바이스를 결정한다((910)으로 도시됨). 수신자가 사용자 프로파일의 하나의 디바이스와 연결되어 있으면 그것이 데이터가 발송될 디바이스이다. 수신자가 사용자 프로파일의 여러 디바이스와 연결되어 있으면 다양한 정보를 사용하여 데이터를 발송할 수신자 디바이스를 결정할 수 있다. 예를 들어, 수신자의 물리적 위치가 결정될 수 있고, 수신자에 가장 가까운 디바이스로 데이터가 발송될 수 있다. 다른 예에서, 수신자의 어느 디바이스가 현재 사용되고 있는지를 결정할 수 있고, 데이터는 현재 사용중인 디바이스로 발송될 수 있다. 또 다른 예에서, 수신자의 어느 디바이스가 현재 사용중인지가 결정될 수 있고, 데이터는 현재 사용중인 디바이스에 가장 근접한 제2 디바이스로 발송될 수 있다. 다른 예에서, 서버(120)에 의해 결정된 디바이스(즉, 장래의 데이터가 발송될 디바이스)는 분배 디바이스(예를 들어, 라우터) 일 수 있으며, 분배 디바이스는 수신자의 다수의 디바이스 중 어느 디바이스로 데이터를 발송할지를 결정한다.
서버(120)는 메시지가 다가 오는 것(forthcoming)을 나타내는 신호를 수신자의 결정된 디바이스로 발송한다((912)로 도시됨). 서버(120)가 TTS 컴포넌트에 메시지 컨텐츠 텍스트 데이터를 발송하는 동안, 신호는 수신 디바이스로 발송될 수 있다. 예시의 목적으로, 수신자의 결정된 디바이스는 화법 제어형 디바이스(110b) 일 수 있다. 그런 다음, 화법 제어형 디바이스(110b)는 메시지가 다가 오는 것을 나타내는 표시를 출력한다((914)로 도시됨). 화법 제어형 디바이스에 의한 출력 표시는 본 출원에서 설명된 시각적 표시, 청각적 표시 및/또는 촉각 표시일 수 있다.
메시지 발송자의 화법 제어형 디바이스(110a)는 또한 메시지 컨텐츠를 포함하는 말하여진 오디오를 캡처한다((916)으로 도시됨). 화법 제어형 디바이스(110a)는 메시지 컨텐츠 말하여진 오디오를 오디오 데이터로 변환하고 메시지 컨텐츠 오디오 데이터를 서버(120)로 발송한다((918)로 도시됨). 일례에서, 화법 제어형 디바이스(110b)는 화법 제어형 디바이스(110a)가 메시지 컨텐츠 오디오를 캡처하는 동안 그리고 서버(120)가 화법 제어형 디바이스(110a)로부터 메시지 컨텐츠 오디오를 수신하는 동안 표시를 출력한다. 서버(120)는 이전에 결정된 수신자 디바이스((920)으로 도시됨)에 메시지 컨텐츠 오디오 데이터를 발송할 수 있고, 이 수신자 디바이스는 메시지 컨텐츠를 포함하는 오디오를 출력한다((922)로 도시됨). 대안적으로, 서버(120)는 단계(910)와 관련하여 전술한 바와 같은 프로세스를 수행하여 어느 수신 디바이스가 메시지 컨텐츠 오디오 데이터를 발송할지를 결정할 수 있다. 따라서, 메시지가 다가 오는 것을 나타내는 표시를 수신 디바이스가 출력하고, 메시지 컨텐츠를 출력하는 수신 디바이스는 상황에 따라 동일한 디바이스일 수도 있고 다른 디바이스일 수도 있음을 이해해야 한다.
도 10a 내지 도 10c는 본 출원에 논의된 시각적 표시자의 예들을 도시한다. 시각적 표시는 화법 제어형 디바이스(110)의 표시등 링(light ring)(1002)를 통해 출력될 수 있다. 표시등 링(1002)은 화법 제어형 디바이스(110)의 사용자에 의해 적절한 관찰을 가능하게 하는 화법 제어형 디바이스(110)에 어딘가에 위치될 수 있다. 통신될 메시지에 따라 표시등 링(1002)을 통해 상이한 색상이 출력될 수 있다. 예를 들어, 표시등 링(1002)은 메시지가 수신자 디바이스에 있거나 또는 거기로 발송될 것을 표시하는 녹색 광을 방출할 수 있다. 또한, 표시등 링(1002)은 수신자 디바이스가 말하여진 오디오를 검출하고 있거나 또는 캡처하는 것을 나타내기 위해 청색 광을 방출할 수 있다. 표시등 링(1002)는 상이한 메시지들을 통신하기 위해 단일 색상의 상이한 음영을 방출할 수 있다는 것이 이해되어야 하다. 예를 들어, 표시등 링(도 10a에 (1002a)로 도시됨)은 제1 메시지를 나타내는 색상의 어두운 음영을 출력할 수 있고, 표시등 링(도 10b에서(1002b)로 도시됨)은 제2 메시지를 나타내는 색상의 중간 음영을 출력할 수 있고 표시등 링(도 10c 에서 (1002c)로 도시됨)는 제3 메시지를 표현하기 위해 색상의 밝은 음영을 출력할 수 있다. 3가지 음영이 도시되어 있지만, 당업자는 얼마나 많은 상이한 메시지가 통신되어야 하는지에 따라 3개보다 더 많은 색상의 음영이 구현될 수 있다는 것을 이해해야 한다. 더구나, 도 10a 내지 도 10c의 시각적 표시자는 정적 일 수 있고, 어떤 방식에서 그것들은 움직이는 것처럼 보일 수도 있다. 예를 들어, 시각적 표시자는 디바이스(110) 의 표면을 따라/그 주위를 점멸, 스트로브, 또는 계속적으로 이동할 수 있다.
도 11a 및 도 11b는 본 출원에서 설명된 움직이는 표시를 도시한다. 도시된 바와 같이, 표시등 링(1002)은 표시등 링(1002)의 일부가 화법 제어형 디바이스(110)에 대하여 움직이는 것처럼 보이도록 구성될 수 있다. 도시되지는 않았지만, 표시등 링(1002) 및/또는 LED(1202/1204)는 점멸, 스트로브 등으로 구성될 수 있다는 것이 또한 이해되어야 한다.
도 12는 본 출원에 설명된 다른 시각적 표시를 도시한다. 도 11에 도시된 바와 같이, 정적 시각적 표시는 LED(1202/1204) 또는 일부 다른 광 생성 디바이스와 같은 것을 통해 출력될 수 있다. LED(1202/1204)는 화법 제어형 디바이스(110)의 사용자에 의한 적절한 관찰을 가능하게 하는 화법 제어형 디바이스(110) 상의 임의의 위치에 배치될 수 있다. 통신될 메시지에 따라 LED(1202/1204)를 통해 상이한 색이 출력될 수 있다. 예를 들어, LED(1202/1204)는 메시지가 수신자 디바이스에 있거나 또는 거기로 발송될 것을 나타내는 녹색 광을 방출할 수 있다. 다른 예에서, LED(1202/1204)는 수신자 디바이스가 말하여진 오디오를 검출 또는 캡처하고 있음을 나타내기 위해 청색 광을 방출할 수 있다. 또한, LED(1202/1204) 는 상이한 메시지를 전달하기 위해 단일 색의 상이한 음영을 방출할 수 있음을 이해해야 한다. 예를 들어, LED(1202/1204)는 제1 메시지를 나타내는 어두운 색의 음영, 제2 메시지를 나타내는 색상의 중간 음영 및 제3 메시지를 나타내는 색상의 밝은 음영을 출력할 수 있다. 3가지 음영이 설명되어 있지만, 당업자는 얼마나 많은 상이한 메시지가 통신되어야 하는지에 따라 3개보다 더 많은 색상의 음영이 구현될 수 있다는 것을 이해해야 한다. 표시등 링(1002) 및 LED(1202/1204) 모두는 동일한 화법 제어형 디바이스(110) 상에 구현될 수 있고 설명된 표시(및 다른 것들)의 상이한 변형이 사용될 수 있다.
시각적 표시자가 표시자의 예로서 상기 논의되었지만, 오디오 표시자, 햅틱 표시자 등과 같은 다른 표시자가 착신 메시지, 답변이 말해지는 것 등을 나타내기 위해 사용될 수 있다.
도 13은 설명된 시스템과 함께 사용될 수 있는 사용자 디바이스(110)(예를 들어, 본 출원에 설명된 화법 제어형 디바이스(110a 및 110b))를 개념적으로 예시하는 블럭도이다. 도 14는 ASR 처리, NLU 처리 또는 명령 처리를 보조할 수 있는 원격 서버(120)와 같은 원격 디바이스의 예시적인 컴포넌트를 개념적으로 도시한 블록도이다. 다수의 이런 서버들(120)은 ASR를 수행하기 위해 하나의 서버(들)(120), NLU을 수행하기 위해 하나의 서버(들)(120)과 같은 시스템에 포함될 수 있다. 동작 시에, 각각의 이들 디바이스(또는 디바이스들의 그룹)은 이하에 추가로 논의될 것처럼 각각의 디바이스(110/120) 상에 상주하는 컴퓨터 판독 가능하고 컴퓨터 실행 가능 지시들을 포함할 수 있다.
이러한 디바이스(110/120)의 각각은 하나 이상의 제어기/프로세서(1304/1404)를 포함할 수 있고, 이들 각각은 데이터 및 컴퓨터 판독 가능 지시를 처리하기 위한 중앙 처리 디바이스(CPU) 및 각각의 디바이스의 데이터 및 지시를 저장하기 위한 메모리(1306/1406)를 포함할 수 있다. 메모리(1306/1406)는 개별적으로 휘발성 랜덤 액세스 메모리(RAM), 비 휘발성 판독 전용 메모리(ROM), 비휘발성 자기 저항(MRAM) 및/또는 다른 유형의 메모리를 포함할 수 있다. 각각의 디바이스는 데이터 및 제어기/프로세서 실행 가능 지시들을 저장하기 위한 데이터 스토리지 컴포넌트(1308/1408)를 또한 포함할 수 있다. 각각의 데이터 스토리지 컴포넌트는 자기 스토리지, 광학 스토리지, 고체 상태 스토리지 등과 같은 하나 이상의 비 휘발성 저장 유형을 개별적으로 포함할 수 있다. 각각의 디바이스는 또한 각각의 입력/출력 디바이스 인터페이스(1302/1402)를 통해 착탈 가능하거나 또는 외부 비휘발성 메모리및/또는 스토리지(예컨대, 착탈식 메모리 카드, 메모리 키 드라이브, 네트워크화된 스토리지 등) 에 연결될 수 있다.
각각의 디바이스(110/120) 및 그것의 다양한 컴포넌트를 동작시키기 위한 컴퓨터 지시들은 런타임시 일시적 "워킹(working)" 스토리지로서 메모리(1306/1406)를 이용하여 개별 디바이스의 제어기(들)/프로세서(들)(1304/1404)에 의해 실행될 수 있다. 디바이스의 컴퓨터 지시들은 비휘발성 메모리(1306/1406), 스토리지(1308/1408) 또는 외부 디바이스(들)에 비일시적 방식으로 저장될 수 있다. 대안적으로, 실행 가능 지시들의 일부 또는 전부는 소프트웨어에 추가하여 또는 소프트웨어 대신에 개별 디바이스상의 하드웨어 또는 펌웨어에 내장될 수 있다.
각각의 디바이스(110/120)는 입력/출력 디바이스 인터페이스(1302/1402)를 포함한다. 이하에 더 상세히 설명되는 바와 같이, 다양한 컴포넌트가 입력/출력 디바이스 인터페이스(1302/1402)를 통해 연결될 수 있다. 추가적으로, 각각의 디바이스(110/120)는 개별 디바이스의 컴포넌트들 간에 데이터를 전달하기 위한 어드레스/데이터 버스(1324/1424)를 포함할 수 있다. 디바이스(110/120) 내의 각 컴포넌트는 버스(1324/1424)를 통해 다른 컴포넌트에 연결될 뿐만 아니라(또는 대신에) 다른 컴포넌트에 직접 연결될 수도 있다.
도 13의 디바이스(110)에 관련하여, 디바이스(110)는 제한된 터치 입력을 수신하도록 구성된 터치 인터페이스(1019)를 포함할 수 있는 디스플레이(1318)를 포함할 수 있다. 또는 디바이스(110)는 "헤드리스(headless)"일 수 있고, 주로 입력을 위해 말하여진 명령에 의존할 수 있다. 다른 디바이스 간의 연결이 오픈되었다는 것을 사용자에게 알려주는 방법으로서, 디바이스(110)는 색상, 플래시를 제공할 수 있거나 또는 그렇지 않으면 디바이스(110)에 의해 시각적 표시를 제공할 수 있는 LED 또는 유사한 컴포넌트(도시되지 않음)와 같은 시각적 표시자로 구성될 수 있다. 디바이스(110)는 또한 스피커(101), 유선 헤드셋 또는 무선 헤드셋(도시되지 않음) 또는 오디오를 출력할 수 있는 다른 컴포넌트와 같은 오디오 출력 컴포넌트와 같은 다양한 컴포넌트에 연결하는 입력/출력 디바이스 인터페이스(1302)를 포함할 수 있다. 디바이스(110)는 또한 오디오 캡처 컴포넌트를 포함할 수 있다. 오디오 캡처 컴포넌트는 예를 들어, 마이크로폰(103) 또는 마이크로폰 어레이, 유선 헤드셋 또는 무선 헤드셋(도시되지 않음) 등일 수 있다. 마이크로폰(103)은 오디오를 캡처하도록 구성될 수 있다. 만약 마이크로폰 어레이가 포함된 경우, 음원(sound's point of origin)까지의 근사 거리는 어레이의 상이한 마이크로폰들에 의해 캡처된 사운드 간의 시간 및 진폭 차이를 기반으로 한 음향 국부화(acoustic localization)에 의해 결정될 수 있다. 디바이스(110)는 (마이크로폰(103), 웨이크워드 검출 모듈(220), ASR 모듈(250) 등을 사용하여) 검출된 오디오 데이터에 대응하는 오디오 데이터를 결정하도록 구성될 수 있다. 디바이스(110)(입력/출력 디바이스 인터페이스(1002), 안테나(1014) 등을 사용하여)은 또한 추가 처리를 위해 서버(120)에 오디오 데이터를 송신하거나 또는 내부 컴포넌트 예컨대, 웨이크워드 검출 모듈(220)를 사용하여 데이터를 처리하도록 구성될 수 있다.
예를 들어, 안테나(들)(1314)를 통해, 입력/출력 디바이스 인터페이스(1302)는 무선 로컬 영역 네트워크(WLAN)(예컨대, 와이파이) 라디오, 블루투스, 및/또는 무선 네트워크 라디오 예컨대, 무선 통신 네트워크 예컨대, LTE (Long Term Evolution) 네트워크, WiMAX 네트워크, 3G 네트워크 등과 통신 가능한 라디오를 통해 하나 이상의 네트워크(199)에 연결될 수 있다. 이더넷과 같은 유선 연결이 또한 지원될 수 있다. 네트워크(199)를 통해, 화법 처리 시스템은 네트워크 환경을 통해 분산될 수 있다.
디바이스(110) 및/또는 서버(120)는 ASR 모듈(250)을 포함할 수 있다. 디바이스(110)의 ASR 모듈은 제한된 기능 또는 확장된 기능을 가질 수 있다. ASR 모듈(250)은 ASR 모델 스토리지 컴포넌트(252)에 저장된 언어 모델(254) 및 자동 화법 인식 처리를 수행하는 ASR 모듈(250)을 포함할 수 있다. 만약 제한된 화법 인식이 포함되면, ASR 모듈(250)은 디바이스에 의해 검출된 키워드와 같은 한정된 수의 단어를 식별하도록 구성될 수 있는 반면, 확장된 화법 인식은 훨씬 더 넓은 범위의 단어를 인식하도록 구성될 수 있다.
디바이스(110) 및/또는 서버(120)는 제한된 또는 확장된 NLU 모듈(260)을 포함할 수 있다. 디바이스(110)의 NLU 모듈은 제한된 기능 또는 확장된 기능을 가질 수 있다. NLU 모듈(260)은 이름 엔티티 인식 모듈(262), 의도 분류 모듈(intent classification module)(264) 및/또는 다른 컴포넌트를 포함할 수 있다. NLU 모듈(260)은 또한 저장된 지식 베이스 및/또는 엔티티 라이브러리를 포함할 수 있거나, 또는 이들 스토리지는 개별적으로 위치될 수 있다.
디바이스(110) 및/또는 서버(120)는 또한 전술한 바와 같이 말하여진 명령과 관련된 명령/기능을 실행하도록 구성된 명령 프로세서(290)를 포함할 수 있다.
디바이스(110)는 웨이크워드 검출 모듈(220)을 포함할 수 있고, 이 웨이크워드 검출 모듈은 별도의 컴포넌트이거나 또는 ASR 모듈(250)에 포함될 수 있다. 웨이크워드 검출 모듈(220)은 오디오 신호를 수신하고, 오디오에서 특정 표현 (예컨대, 구성된 키워드)의 발생을 검출한다. 이것은 특정 시간 기간 동안의 주파수의 변화를 검출하는 것을 포함할 수 있고, 여기서 주파수의 변화는 시스템이 키워드에 대응하는 것으로 인식하는 특정 오디오 시그니처로 귀결된다. 키워드 검출은 적용 가능한 경우 개별 지향성 오디오 신호들 예컨대, 처리된 후처리-빔 성형(post-beamforming)를 분석하는 것을 포함할 수 있다. 관련 기술 분야에서 알려진 키워드 검출 기술(또한 키워드 스포팅(keyword spotting)으로도 알려짐)의 다른 기술이 또한 사용될 수 있다. 일부 실시예에서, 디바이스(110)는 웨이크 표현이 검출되거나 웨이크 표현이 발생할 것 같은 경우에 지향성 오디오 신호의 세트를 식별하도록 총괄하여 구성될 수 있다.
웨이크워드 검출 모듈(220)은 오디오가 디바이스(110) 및/또는 시스템(100)에 의해 인식가능한 특정 키워드에 대응하는지 여부를 결정하기 위해 캡처된 오디오를 수신하고 오디오를 처리한다(예를 들어, 모델명(들)(232)을 이용하여). 스토리지(1308)는 키워드 및 기능들에 관련된 데이터를 저장하여 웨이크워드 검출 모듈(220)이 상술한 알고리즘 및 방법을 수행할 수 있게 할 수 있다. 로컬에 저장된 화법 모델(speech model)은 디바이스(110)가 사용자에 의해 네트워크에 액세스하도록 구성되기 전에 알려진 정보에 기초하여 미리 구성될 수 있다. 예를 들어, 모델들은 사용자 프로파일 등에 기초하여, 사용자 디바이스가 배송되거나 또는 위치될 것으로 예측되는 영역에 특정된 언어 및/또는 악센트일 수 있거나, 또는 사용자 자신에 대한 것일 수 있다. 일 측면에서, 모델들은 다른 디바이스로부터의 사용자의 화법(speech) 또는 오디오 데이터를 사용하여 사전 훈련될 수 있다. 예를 들어, 사용자는 사용자가 말하여진 명령을 통해 조작하는 다른 사용자 디바이스를 소유할 수 있으며, 이 화법 데이터는 사용자 프로파일과 연관될 수 있다. 그런 다음에, 다른 사용자 디바이스로부터의 화법 데이터는 사용자 디바이스(110)가 사용자에게 전달되거나 사용자에 의해 네트워크에 액세스하도록 구성되기 전에 로컬에 저장된 디바이스(110)의 화법 모델을 훈련 시키는데 이용될 수 있다. 웨이크워드 검출 모듈(220)은 스토리지(1308)에 액세스하여, 오디오 비교, 패턴 인식, 키워드 스포팅, 오디오 시그니처 및/또는 다른 오디오 처리 기술을 이용하여 캡처된 오디오를 저장된 모델 및 오디오 시퀀스와 비교할 수 있다.
전술한 바와 같이, 다수의 디바이스가 단일 화법 처리 시스템에 채용될 수 있다. 이러한 멀티 디바이스 시스템에서, 디바이스 각각은 화법 처리의 상이한 양태들을 수행하기 위한 상이한 컴포넌트를 포함할 수 있다. 다수의 디바이스는 중첩 컴포넌트를 포함할 수 있다. 도 13 및 도 14에 도시된 바와 같이, 디바이스(110) 및 서버(120)의 컴포넌트들은 예시적이며, 독립형 디바이스로서 위치될 수 있거나, 전체 또는 부분적으로 더 큰 디바이스 또는 시스템의 컴포넌트로서 포함될 수 있다.
출력 화법을 생성하기 위해, 서버(120)는 텍스트 데이터를 화법을 나타내는 오디오 데이터로 변환하는 텍스트-투-화법("TTS: text-to-speech") 모듈(1410)로 구성될 수 있다. 그런 다음 오디오 데이터는 사용자에게 재생하기 위해 디바이스(110)로 발송되어서, 출력 화법을 생성할 수 있다. TTS 모듈(1410)은 입력된 텍스트를 화법으로 변환하기 위한 TTS 스토리지를 포함할 수 있다. TTS 모듈(1410)은 자체 제어기(들)/프로세서(들) 및 메모리를 포함할 수 있거나 예를 들어 서버(120) 또는 다른 디바이스의 제어기/프로세서 및 메모리를 사용할 수 있다. 유사하게, TTS 모듈(1410)을 동작시키기 위한 지시들은 TTS 모듈(1410) 내에, 서버(들)(120)의 메모리 및/또는 스토리지 내에 또는 외부 디바이스 내에 위치될 수 있다.
TTS 모듈(1410)로의 텍스트 입력은 텍스트 정규화, 언어 분석 및 언어 운율(prosody) 생성을 수행하도록 처리될 수 있다. 텍스트 정규화 동안, TTS 모듈(1410)은 텍스트 입력을 처리하고 숫자, 약어(예를 들어, Apt., St. 등) 및 심벌들($, % 등)를 작성된 단어들의 동등한 것으로 변환하는 표준 텍스트를 생성한다.
언어 분석 중에, TTS 모듈(1410)은 정규화된 텍스트 내의 언어를 분석하여 입력 텍스트에 대응하는 일련의 음성학적 단위들을 생성한다. 이 프로세스는 발음 표기(phonetic transcription)로 지칭될 수 있다. 음성 단위는 최종적으로 결합되어 시스템(100)에 의해 화법으로서 출력되는 사운드 단위의 심벌 표현을 포함한다. 다양한 사운드 단위가 화법 합성을 위해 텍스트를 분할하는데 사용될 수 있다. TTS 모듈(1410)은 음소(개별 사운드), 하프-음소, 디-폰(di-phone)(인접 음소의 전반(first half)과 결합된 하나의 음소의 후반(last half)), 바이-폰(bi-phone)(두 개의 연속적인 음소), 음절, 단어, 어구, 문장 또는 기타 단위에 기초하여 화법을 처리할 수 있다. 각 단어는 하나 이상의 음성 단위에 매핑될 수 있다. 이러한 매핑은 시스템(100)에 의해, 예를 들어 TTS 스토리지에 저장된 언어 사전을 사용하여 수행될 수 있다. TTS 모듈(1410)에 의해 수행된 언어 분석은 또한 접두사, 접미사, 구, 구두점, 구문론적(syntactic) 경계 등과 같은 상이한 문법적 성분을 식별할 수 있다. 이러한 문법적 성분은 TTS 모듈(1410)에 의해 사용되어 자연스러운 사운 딩 오디오 파형 출력을 만들 수 있다. 언어 사전은 TTS 모듈(1410)에 의해 발생할 수 있는 이전에 식별되지 않은 단어 또는 문자 조합을 발음하는데 사용될 수 있는 문자 대 소리 규칙 및 다른 도구를 포함할 수 있다. 일반적으로, 언어 사전에 수록된 정보가 많을수록 화법 출력 품질이 높아진다.
언어 분석에 기초하여, TTS 모듈(1410)은 음성 운율(prosody) 생성을 수행할 수 있으며, 여기서 음성 단위는 원하는 음성 단위가 최종 출력 화법에서 어떻게 발음되어야 하는지를 나타내는 음향 피처라고도 하는 원하는 운율 특성으로 주석 처리된다. 이 단계 동안, TTS 모듈(1410)은 텍스트 입력을 수반하는 임의의 운율 주석을 고려하고 통합할 수 있다. 이러한 음향 피처는 피치, 에너지, 지속 기간 등을 포함할 수 있다. 음향 피처들의 애플리케이션은 TTS 모듈(1410)이 이용할 수 있는 운율 모델에 기초할 수 있다. 이러한 운율 모델은 특정 환경에서 음성 단위가 어떻게 발음되어야 하는지를 나타낸다. 운율론적 모델은 예를 들어, 음절의 음소 위치, 단어의 음절 위치, 문장, 구 또는 단락에서의 단어 위치, 인접한 음운 단위 등을 고려할 수 있다. 언어 사전과 마찬가지로, 정보가 적은 운율 모델보다 더 많은 정보를 갖는 운율 모델들이 더 높은 품질 화법 출력으로 귀결될 수 있다. 텍스트 작업의 큰 부분이 TTS 모듈(1410)을 사용할 때, 이해할 수 있는 바와 같이, TTS 모듈(1410)은 부분마다 변화하는 더 강건하고 복잡한 운율 특성을 할당하여서 보다 인간의 소리를 만들 수 있고 결과적으로 고품질 오디오 출력을 낳는다.
TTS 모듈(1410)은 운율 특성들로 주석 처리된 일련의 음성 단위들을 포함할 수 있는 기호학적 언어 표현을 생성할 수 있다. 이 기호학적 언어 표현은 오디오 출력 디바이스(예를 들어, 마이크)로 출력하고 결국 사용자에게 출력하기 위해 화법의 오디오 파형으로 변환될 수 있다. TTS 모듈(1410)은 입력 텍스트를 효율적인 방식으로 고품질 자연스러운 사운드에 화법으로 변환하도록 구성될 수 있다. 이러한 고품질 화법은 가능한 한 인간의 스피커와 같이 발음하도록 구성될 수 있거나 특정 인간의 음성을 모방하려는 시도 없이 청취자가 이해할 수 있도록 구성될 수 있다.
TTS 모듈(1410)은 하나 이상의 상이한 방법을 사용하여 음성 합성을 수행할 수 있다. 아래에서 더 설명되는 단위 선택(unit selection)이라고 불리는 하나의 합성 방법에서, TTS 모듈(1410)은 음성 코퍼스(voice corpus)의 데이터베이스와 같은 기록된 음성의 데이터베이스에 대해 기호학적 언어 표현을 일치시킨다. TTS 모듈(1410)은 데이터베이스 내의 음성 오디오 단위에 대하여 기호학적 언어 표현을 일치시킨다. 일치하는 단위들이 선택되고 함께 연접되어 음성 출력을 형성한다. 각 디바이스에는 .wav 파일과 관련된 다양한 음향 피처(예컨대, 그것의 피치, 에너지 등)에 대한 설명과 함께 특정 사운드의 짧은 .wav 파일과 같은 음성 단위에 해당하는 오디오 파형뿐만 아니라, 음성 단위가 단어, 문장 또는 어구, 인접한 음성 단위 등으로 나타나는 것과 같은 다른 정보를 포함한다. 단위 데이터 베이스의 모든 정보를 사용하여, TTS 모듈(1410)은 단위(예를 들어, 단위 데이터 베이스)를 입력 텍스트에 일치시켜 자연스러운 사운드 파형을 생성할 수 있다. 단위 데이터베이스는 단위들을 화법으로 연결하기 위한 많은 상이한 옵션들을 시스템(100)에 제공하기 위해 음성 단위들의 다수의 예들을 포함할 수 있다. 단위 선택의 한 가지 이점은 데이터 베이스의 크기에 따라 자연스러운 발음 화법 출력이 생성될 수 있다는 것이다. 전술한 바와 같이, 음성 코퍼스(voice corpus)의 단위 데이터베이스가 클수록, 시스템이 자연스러운 발음 화법을 생성할 가능성이 커질 것이다.
파라메트릭 합성이라고도 하는 또 다른 합성 방법에서, 주파수, 체적 및 잡음과 같은 파라미터는 TTS 모듈(1410)에 의해 변경되어 인공적인 화법 파형 출력을 생성한다. 파라메트릭 합성은 음향 모델 및 다양한 통계 기법을 사용하여 기호학적 언어 표현을 원하는 출력 화법 파라미터와 일치시킬 수 있다. 파라메트릭 합성은 단위 선택과 관련된 큰 데이터베이스 없이 화법을 처리할 수 있을 뿐만 아니라 높은 처리 속도에서 정확하게 하는 기능이 포함될 수 있지만 전형적으로 단위 선택과 일치하지 않을 수 있는 출력 화법 품질이 생성된다. 단위 선택(unit selection) 및 파라메트릭 기술은 개별적으로 수행되거나 함께 결합되거나 및/또는 다른 합성 기술과 결합되어 화법 오디오 출력을 생성할 수 있다.
파라메트릭 화법 합성은 다음과 같이 수행될 수 있다. TTS 모듈(1410)은 오디오 신호 조작에 기초하여 기호학적 언어 표현을 텍스트 입력의 합성 음향 파형으로 변환할 수 있는 음향 모델 또는 다른 모델을 포함할 수 있다. 음향 모델은 음성 단위 및/또는 운율 기호를 입력하기 위해 특정 오디오 파형 파라미터를 할당하는데 사용될 수 있는 규칙을 포함한다. 이 규칙은 특정 오디오 출력 파라미터(예를 들어, 주파수, 볼륨 등)가 입력 기호학적 언어 표현의 일부에 해당할 가능성을 나타내는 점수를 계산하는데 사용될 수 있다.
도 15에 도시된 바와 같이, 다수의 디바이스(120, 110, 110c-110f)는 시스템(100)의 컴포넌트를 포함할 수 있고, 디바이스들은 네트워크(199)를 통하여 연결될 수 있다. 네트워크(199)는 로컬 또는 개인 네트워크를 포함할 수 있거나 또는 와이드 네트워크 예컨대, 인터넷을 포함할 수 있다. 디바이스들은 유선 또는 무선 연결을 통해 네트워크(199)에 연결될 수 있다. 예를 들어, 화법 제어형 디바이스(110), 태블릿 컴퓨터(110e), 스마트 폰(110c), 스마트 위치 (110d), 및/또는 교통수단(vehicle)(110f)은 Wi-Fi 또는 셀룰러를 네트워크 연결 또는 이와 유사한 것을 통해, 무선 서비스 제공자를 거쳐 네트워크(199)에 연결될 수 있다. 다른 디바이스는 서버(120), 애플리케이션 개발자 디바이스 또는 다른 것과 같은 네트워크 연결 지원 디바이스로서 포함된다. 지원 디바이스는 유선 연결 또는 무선 연결을 통해 네트워크(199)에 연결될 수 있다. 네트워크화된 디바이스(110)는 하나이상의 빌트인 또는 연결된 마이크로폰들(103) 또는 오디오 캡처 디바이스들을 이용하여 오디오를 캡처할 수 있고, 처리는 하나 이상의 서버(120)의 ASR(250), NLU(260) 등과 같은 네트워크(199)를 통해 연결된 동일한 디바이스 또는 다른 디바이스의 ASR, NLU, 또는 다른 컴포넌트에 의해 수행된다.
본 출원에 개시된 개념들은 예를 들어 범용 컴퓨팅 시스템, 화법 처리 시스템 및 분산 컴퓨팅 환경을 포함하는 다수의 상이한 디바이스 및 컴퓨터 시스템 내에 적용될 수 있다.
본 개시의 상기의 양태들은 예시적인 것을 의미한다. 이들은 개시 내용의 원리 및 응용을 설명하기 위해 선택되었으며, 본 개시를 망라하거나 제한하려고 의도 되지 않는다. 개시된 양태의 많은 수정 및 변형이 당업자에게 명백할 수 있다. 컴퓨터 및 화법 처리 분야의 당업자라면, 본 출원에 설명된 컴포넌트 및 처리 단계가 다른 컴포넌트 또는 단계, 또는 컴포넌트 또는 단계의 조합과 상호 교환 가능할 수 있으며, 여전히 본 개시의 이점 및 이점을 달성할 수 있다는 것을 인식해야 한다. 또한, 당업자는 본 개시가 본 출원에 개시된 특정 세부 사항 및 단계의 일부 또는 전부 없이 실시될 수 있음을 명백히 알 수 있다.
개시된 시스템의 양태는 컴퓨터 방법으로서 또는 메모리 디바이스 또는 비 일시적 컴퓨터 판독 가능 저장 매체와 같은 제조 물품으로서 구현될 수 있다. 컴퓨터 판독 가능한 스토리지 매체는 컴퓨터에 의해 판독 가능할 수 있으며, 컴퓨터 또는 다른 디바이스는 본 개시에서 설명된 처리를 수행하게 하는 명령을 포함할 수 있다. 컴퓨터 판독가능 스토리지 매체는 휘발성 컴퓨터 메모리, 비 휘발성 컴퓨터 메모리, 하드 드라이브, 고체 상태 메모리, 플래시 드라이브, 착탈식 디스크 및/또는 다른 매체에 의해 구현될 수 있다. 또한, 하나 이상의 모듈 및 엔진의 컴포넌트는 다른 것들 중에서 아날로그 및/또는 디지털 필터(예를 들어, 디지털 신호 프로세서 (DSP)에 펌웨어로 구성된 필터)를 포함하는 음향 프론트 엔드(256)와 같은 펌웨어 또는 하드웨어로 구현될 수 있다.
앞의 내용은 다음 항목을 고려하여 이해할 수도 있다.
1. 컴퓨터 구현 방법에 있어서,
제1 사용자 프로파일과 연관된 제1 화법 제어형 디바이스(speech-controlled device)로부터, 제1 웨이크워드(wakeword) 부분 및 제1 명령(command) 부분을 포함하는 제1 입력 오디오 데이터를 수신하는 단계;
제1 메시지 컨텐츠 및 제2 사용자 프로파일의 제2 이름을 나타내는 제1 텍스트 데이터를 결정하기 위해 상기 제1 명령 부분에 대한 화법 처리(speech processing)를 수행하는 단계;
상기 제1 사용자 프로파일을 사용하여, 상기 제2 사용자 프로파일과 연관된 제2 화법 제어형 디바이스를 결정하는 단계;
제1 시간에 상기 제2 화법 제어형 디바이스에 상기 제1 메시지 컨텐츠에 대응하는 제1 출력 오디오 데이터를 발송하는 단계;
상기 제1 시간 후에 제2 시간에 상기 제2 화법 제어형 디바이스로부터, 제2 웨이크워드 부분 및 제2 명령 부분을 포함하는 제2 입력 오디오 데이터를 수신하는 단계;
상기 제1 사용자 프로파일 및 제2 메시지 컨텐츠와 연관된 제1 이름을 나타내는 제2 텍스트 데이터를 결정하기 위해 상기 제2 명령 부분에 화법 처리를 수행하는 단계;
상기 제2 시간 후에 제3 시간에 상기 제1 화법 제어형 디바이스에 상기 제2 메시지 컨텐츠에 대응하는 제2 출력 오디오 데이터를 발송하는 단계;
상기 제1 시간 및 상기 제2 시간이 제1 임계 시간 기간 내에 있는지를 결정하는 단계;
상기 제1 화법 제어형 디바이스와 상기 제2 화법 제어형 디바이스 간의 메시징 연결을 수립하는(establishing) 단계;
웨이크워드 부분을 검출하지 않고서 처리를 위한 추가의 오디오 데이터를 발송하기 위해 상기 제1 화법 제어형 디바이스에 신호를 발송하는 단계;
상기 제3 시간 후에 제4 시간에 상기 제1 화법 제어형 디바이스로부터 제3 메시지 컨텐츠를 포함하지만 웨이크워드 부분을 포함하지 않는 제3 입력 오디오 데이터를 수신하는 단계;
상기 제3 메시지 컨텐츠를 나타내지만 상기 제2 사용자의 제2 이름은 나타내지 않는 제3 텍스트 데이터를 결정하기 위해 상기 제3 사용자 입력 오디오 데이터에 화법 처리를 수행하는 단계; 및
상기 제4 시간 후에 제 5 시간에 상기 제2 화법 제어형 디바이스에 상기 제3 메시지 컨텐츠를 포함하는 제3 출력 오디오 데이터를 발송하는 단계를 포함하는, 컴퓨터 구현 방법.
2. 항목 1에 있어서,
상기 제 5 시간 후에 제 6 시간에 상기 제2 화법 제어형 디바이스로부터, 제4 메시지 컨텐츠를 포함하지만 상기 제1 사용자의 웨이크워드 부분 또는 상기 제1 이름을 포함하지 않는 제4 입력 오디오 데이터를 수신하는 단계;
상기 제 6 시간 및 상기 제 5 시간이 제2 임계 시간 기간 내에 있는지를 결정하는 단계; 및
상기 제 6 시간 및 상기 제 5 시간이 상기 제2 임계 시간 내에 있는 것에 응답하여, 상기 제1 화법 제어형 디바이스와 상기 제2 화법 제어형 디바이스 사이의 제1 실시간 통신 세션 채널을 개방하는 단계로서, 상기 제1 실시간 통신 세션 채널은 화법 처리가 수행되지 않고 교환될 제1 및 제2 화법 제어형 디바이스로부터 수신된 오디오 데이터를 포함하는, 상기 통신 세션 채널을 개방하는 단계를 더 포함하는, 컴퓨터 구현 방법.
3. 항목 2에 있어서,
통신 변경 트리거(communication alteration trigger)가 발생할 때 상기 제1 실시간 통신 세션 채널을 폐쇄하는 단계(closing)를 더 포함하되, 상기 통신 변경 트리거는 상기 제1 화법 제어형 디바이스로부터 오디오 데이터가 수신되지 않거나, 상기 제1 화법 제어형 디바이스로부터 비 통신 명령의 수신 또는 상기 제1 화법 제어형 디바이스로부터 추가 입력 오디오 데이터를 수신하는 제3 임계 시간 기간 중 적어도 하나를 포함하고, 상기 추가 입력 오디오 데이터는 적어도 제1 실시간 통신 세션의 채널이 폐쇄되어야 한다는 부분을 포함하는, 컴퓨터 구현 방법.
4. 항목 1에 있어서,
상기 제2 화법 제어형 디바이스로부터 이미지 데이터를 수신하는 단계;
상기 이미지 데이터가 사람의 표현을 포함하는지를 결정하는 단계;
상기 이미지 데이터 내의 상기 표현의 위치에 기초하여 상기 제2 화법 제어형 디바이스에 대한 사람의 접근 여부를 결정하는 단계; 및
상기 제1 화법 제어형 디바이스와 상기 제2 화법 제어형 디바이스 사이에 제2 메시징 연결을 수립하는 단계로서, 상기 제2 메시징 연결은 말하여진 오디오의 요구된 웨이크워드 부분을 디폴트 웨이크워드로부터 말하여진 오디오 수신자의 이름으로 변경하는, 상기 제2 메시징 연결을 수립하는 단계를 더 포함하는, 컴퓨터 구현 방법.
5. 시스템에 있어서,
적어도 하나의 프로세서; 및
상기 적어도 하나의 프로세서에 의해 실행되도록 동작 가능한 지시들을 포함하는 메모리로서, 상기 지시들은 상기 적어도 하나의 프로세서가,
상기 제1 디바이스로부터 입력 오디오 데이터를 수신하고, 상기 입력 오디오 데이터는 웨이크워드 부분 및 명령 부분을 포함하고;
상기 입력 오디오 데이터에 기초하여 텍스트 데이터를 결정하고;
상기 텍스트 데이터에 기초하여 제2 디바이스로 제1 메시지를 발송하고;
상기 제1 디바이스를 위해 의도된 상기 제2 디바이스로부터의 제2 메시지를 결정하고;
제1 개수의 메시지가 상기 제1 디바이스로부터 상기 제2 디바이스로 발송되고, 제2개수의 메시지가 상기 제2 디바이스로부터 상기 제1 디바이스로 발송되는데 경과된 시간의 양을 결정하고;
상기 시간량이 제1 임계 시간 기간보다 작은지를 결정하고; 및
상기 제1 디바이스가 상기 제1 디바이스에 의해 검출되는 웨이크워드 없이 오디오 데이터를 상기 적어도 하나의 프로세서로 발송하게 하는 데이터를 상기 제1 디바이스로 발송하도록 구성하게 하는 동작들의 세트를 수행하는, 시스템.
6. 항목 5에 있어서, 상기 지시들은 상기 적어도 하나의 프로세서가,
제3 개수의 메시지가 상기 제1 디바이스로부터 상기 제2 디바이스로 발송하고, 제4 개수의 메시지가 상기 제2 디바이스로부터 상기 제1 디바이스로 발송될 때까지 경과 된 제2 시간량을 결정하고;
상기 제2 시간량이 제2 임계 시간 기간보다 작은지를 결정하고; 및
상기 제1 디바이스와 상기 제2 디바이스 사이에 실시간 통신 세션을 수립하도록 추가로 구성하게 하고, 상기 실시간 통신 세션은 화법 처리를 수행하지 않고 상기 제1 디바이스와 상기 제2 디바이스 사이에서 오디오 데이터를 교환하는 것을 포함하는, 시스템.
7. 항목 5에 있어서, 상기 지시들은 상기 적어도 하나의 프로세서가,
상기 제1 디바이스와 관련된 사용자 프로파일에 액세스하게 추가로 구성하게 하고,
상기 경과 시간의 양을 결정하는 것은 상기 사용자 프로파일 내의 상기 제2 디바이스와 연관된 상기 제1 개수의 메시지들을 식별하는 것을 포함하는, 시스템.
8. 항목 5에 있어서, 상기 지시들은 상기 적어도 하나의 프로세서가,
상기 제1 디바이스로부터 제2 입력 오디오 데이터를 수신하고;
상기 제2 입력 오디오 데이터가 사용자 이름을 포함하는지 결정하고;
상기 제1 디바이스와 연관된 사용자 프로파일을 사용하여 상기 사용자 이름과 연계된 제3 디바이스를 결정하고;
상기 사용자 프로파일을 사용하여 상기 사용자 이름을 포함하는 상기 제2 입력 오디오 데이터에 기초하여 실시간 통신 세션이 발생하여야 하는지 결정하고; 및
상기 제1 디바이스와 상기 제3 디바이스 사이에 실시간 통신 세션이 수립되도록 추가로 구성하게 하는, 시스템.
9. 항목 8에 있어서, 상기 지시들은 상기 적어도 하나의 프로세서가,
오디오 데이터가 수신되지 않거나, 웨이크워드 부분을 포함하는 오디오 데이터의 수신, 비 통신 명령을 포함하는 오디오 데이터의 수신, 또는 적어도 실시간 통신 세션이 폐쇄되어야 한다는 것을 표시하는 부분을 포함하는 오디오 데이터를 수신하는 제2 임계 시간 기간 중 적어도 하나를 결정하고; 및
상기 실시간 통신 세션을 폐쇄하도록 추가로 구성하게 하는, 시스템.
10. 항목 8에 있어서, 상기 실시간 통신 세션의 조장이 제1 사람이 제1 디바이스의 제1 접근 범위(proximity) 내에 있고 제2 사람이 제3 디바이스의 제2 접근 범위 내에 있는지에 응답하여 추가로 발생하게 하는, 시스템.
11. 항목 5에 있어서, 상기 지시들은 상기 적어도 하나의 프로세서가,
상기 제2 디바이스가 오디오 또는 텍스트 중 적어도 하나를 캡처하고 있을 때의 표시를 상기 제1 디바이스가 출력하게 추가로 구성하고, 상기 표시는 시각, 청각 또는 촉각 중 적어도 하나인, 시스템.
12. 항목 5에 있어서, 상기 지시들은 상기 적어도 하나의 프로세서가,
오디오 데이터가 실시간으로 상기 제2 디바이스로 발송될 것이고 상기 웨이크워드 기능이 디스에이블(disable)됨을 나타내는 합성된 화법(synthesized speech)을 상기 제1 디바이스가 출력하게 추가로 구성하는, 시스템.
13. 컴퓨터 구현 방법에 있어서,
상기 제1 디바이스로부터 입력 오디오 데이터를 수신하는 단계로서, 상기 입력 오디오 데이터는 웨이크워드 부분 및 명령 부분을 포함하는, 상기 수신하는 단계;
상기 입력 오디오 데이터에 기초하여 텍스트 데이터를 결정하는 단계;
상기 텍스트 데이터에 기초하여 제2 디바이스로 제1 메시지를 발송하는 단계;
상기 제1 디바이스를 향하도록 의도된 상기 제2 디바이스로부터의 제2 메시지를 결정하는 단계;
제1 개수의 메시지가 상기 제1 디바이스로부터 상기 제2 디바이스로 발송 되고, 제2개수의 메시지가 상기 제2 디바이스로부터 상기 제1 디바이스로 발송될 때까지 경과된 시간의 양을 결정하는 단계;
상기 시간량이 제1 임계 시간기간 보다 작은지를 결정하는 단계; 및
상기 제1 디바이스에 의해 검출되는 웨이크워드 없이 상기 제1 디바이스가 오디오 데이터를 발송하게 하는 데이터를 상기 제1 디바이스로 발송하는 단계를 포함하는, 컴퓨터 구현 방법.
14. 항목 13에 있어서,
제3 개수의 메시지가 상기 제1 디바이스로부터 상기 제2 디바이스로 발송 되고, 제4 개수의 메시지가 상기 제2 디바이스로부터 상기 제1 디바이스로 발송될 때까지 경과된 제2 시간량을 결정하는 단계;
상기 제2 시간량이 제2 임계 시간 기간보다 작은지를 결정하는 단계; 및
상기 제1 디바이스와 상기 제2 디바이스 사이에 실시간 통신 세션을 수립하게 하는 단계를 더 포함하되, 상기 실시간 통신 세션은 화법 처리를 수행하지 않고 상기 제1 디바이스와 상기 제2 디바이스 사이에서 오디오 데이터를 교환하는 단계를 포함하는, 컴퓨터 구현 방법.
15. 항목 13에 있어서,
상기 제1 디바이스와 연관된 사용자 프로파일에 액세스하는 단계를 더 포함하되,
상기 경과 시간의 양을 결정하는 단계는 상기 사용자 프로파일 내의 상기 제2 디바이스와 연관된 상기 제1 개수의 메시지들을 식별하는 단계를 포함하는, 컴퓨터 구현 방법.
16. 항목 13에 있어서,
상기 제1 디바이스로부터 제2 입력 오디오 데이터를 수신하는 단계;
상기 제2 입력 오디오 데이터가 사용자 이름을 포함하는지를 결정하는 단계;
상기 제1 디바이스와 연관된 사용자 프로파일을 사용하여, 상기 사용자 이름과 연계된 제3 디바이스를 결정하는 단계;
상기 사용자 프로파일을 사용하여, 상기 사용자 이름을 포함하는 상기 제2 입력 오디오 데이터에 기초하여 실시간 통신 세션이 발생해야 하는지를 결정하는 단계; 및
실시간 통신 세션이 상기 제1 디바이스와 상기 제3 디바이스간에 수립되게 하는 단계를 더 포함하는, 컴퓨터 구현 방법.
17. 항목 16에 있어서,
오디오 데이터가 수신되지 않거나, 웨이크워드 부분을 포함하는 오디오 데이터의 수신, 비 통신 명령을 포함하는 오디오 데이터의 수신, 또는 적어도 실시간 통신 세션이 폐쇄되어야 한다는 것을 표시하는 부분을 포함하는 오디오 데이터를 수신하는 제2 임계 시간 기간 중 적어도 하나를 결정하는 단계; 및
상기 실시간 통신 세션을 폐쇄하는 단계를 더 포함하는, 컴퓨터 구현 방법.
18. 항목 16에 있어서, 상기 실시간 통신 세션의 조장이 제1 사람이 제1 디바이스의 제1 접근 범위(proximity) 내에 있고 제2 사람이 제3 디바이스의 제2 접근 범위 내에 있는지에 응답하여 추가로 발생하게 하는, 컴퓨터 구현 방법.
19. 항목 13에 있어서,
상기 제2 디바이스가 오디오 또는 텍스트 중 적어도 하나를 캡처하고 있을 때의 표시를 상기 제1 디바이스가 출력하게 하는 단계를 더 포함하고, 상기 표시는 시각, 청각 또는 촉각 중 적어도 하나인, 컴퓨터 구현 방법.
20. 항목 13에 있어서,
오디오 데이터가 실시간으로 상기 제2 디바이스로 발송될 것이고 상기 웨이크워드 기능이 디스에이블(disable)됨을 나타내는 합성된 화법(synthesized speech)을 상기 제1 디바이스가 출력하게 하는 단계를 더 포함하는, 컴퓨터 구현 방법.
21. 컴퓨터 구현 방법에 있어서,
제1 화법 제어형 디바이스로부터 제1 입력 오디오 데이터를 수신하는 단계;
텍스트 데이터를 결정하기 위해 상기 제1 입력 오디오 데이터에 화법 처리(speech processing)를 수행하는 단계;
상기 텍스트 데이터의 제1 부분이 메시지 수신자의 이름에 대응하는 지를 결정하는 단계;
상기 텍스트 데이터의 제2 부분이 제1 메시지 컨텐츠에 대응하는 지를 결정하는 단계;
상기 제1 화법 제어형 디바이스가 상기 제1 입력 오디오 데이터에 대응하는 메시지가 발송되고 있음을 나타내는 제1 시각적 표시를 출력하게 하는 제1 신호를 상기 제1 화법 제어형 디바이스에 발송하는 단계;
상기 제1 화법 제어형 디바이스와 연관된 사용자 프로파일을 사용하여, 상기 메시지 수신자 의 이름과 관련된 제2 화법 제어형 디바이스를 결정하는 단계;
제1 시간에 상기 제2 화법 제어형 디바이스로 상기 제1 메시지 컨텐츠에 대응하는 제1 출력 오디오 데이터를 발송하는 단계;
상기 제2 화법 제어형 디바이스가 화법을 검출하고 있는 것을 나타내는 제2 신호를 상기 제2 화법 제어형 디바이스로부터 수신하는 단계; 및
상기 제2 화법 제어형 디바이스가 화법을 검출하고 있음을 나타내는 제2 시각적 표시를 상기 제1 화법 제어형 디바이스가 출력하게 하는 제3 신호를 상기 제1 시간 이후의 제2 시간에 상기 제1 화법 제어형 디바이스로 발송하는 단계를 포함하는, 컴퓨터 구현 방법.
22. 항목 21에 있어서,
상기 제1 시각적 표시는 제1 색상을 포함하고 상기 제2 시각적 표시는 제1 색상 및 제1 모션을 포함하고, 상기 제1 모션은 상기 제1 화법 제어형 디바이스의 에지를 따라 점멸, 스트로빙(strobing) 또는 이동 중 하나를 포함하고; 및
상기 제1 신호는 상기 제1 화법 제어형 디바이스로 하여금 상기 제1 입력 오디오 데이터에 대응하는 메시지가 발송되고 있음을 나타내는 가청 표시를 추가로 출력하게 하는, 컴퓨터 구현 방법.
23. 항목 21에 있어서,
상기 제2 화법 제어형 디바이스로 하여금 상기 제2 화법 제어형 디바이스의 사용자에게 상기 제1 메시지 컨텐츠에 응답하고자 하는지 여부를 묻는 오디오를 출력하게 하는 단계;
상기 제2 화법 제어형 디바이스로부터 제2 입력 오디오 데이터를 수신하는 단계;
제2 텍스트 데이터를 결정하기 위해 상기 제2 입력 오디오 데이터에 ASR을 수행하는 단계; 및
제2 텍스트 데이터가 단어 예(yes)를 포함하고 있는지를 결정하는 단계를 더 포함하는, 컴퓨터 구현 방법.
24. 항목 21에 있어서, 상기 제2 화법 제어형 디바이스를 결정하는 단계는,
상기 사용자 프로파일 내의 상기 수신자 이름과 연관된 디바이스들로부터 이미지 데이터를 수신하는 단계; 및
상기 제2 화법 제어형 디바이스로부터 수신된 이미지 데이터가 사람의 표현을 포함하는 지를 결정하는 단계를 더 포함하는, 컴퓨터 구현 방법.
25. 시스템에 있어서,
적어도 하나의 프로세서; 및
상기 적어도 하나의 프로세서에 의해 실행되도록 동작 가능한 지시들을 포함하는 메모리로서, 상기 적어도 하나의 프로세서는,
제1 디바이스로부터 오디오 데이터를 수신하고;
메시지 컨텐츠를 결정하기 위해 상기 입력 오디오 데이터를 처리하고;
제1 시간에 제2 디바이스로, 상기 메시지 컨텐츠에 대응하는 출력 오디오 데이터를 발송하고;
상기 제1 시간 후의 제2 시간에, 상기 제2 디바이스로부터 상기 제2 디바이스가 상기 출력 오디오 데이터에 대한 응답으로 화법을 검출했다는 표시를 수신하고; 및
상기 제2 시간 이후의 제3 시간에 시각적 표시자가 상기 제1 디바이스에 의해 출력되도록 구성하는 동작들의 세트를 수행하게 하되, 상기 시각적 표시자는 상기 제2 디바이스가 상기 메시지 컨텐츠에 대한 응답을 수신하고 있음을 나타내는, 시스템.
26. 항목 25에 있어서, 상기 시각적 표시자는 제1 색상 또는 제1 모션 중 적어도 하나를 포함하는, 시스템.
27. 항목 25에 있어서, 상기 지시들은 상기 적어도 하나의 프로세서가 상기 제1 디바이스와 관련된 사용자 프로필을 이용하여 상기 제2 디바이스를 식별하도록 추가로 구성하게 하는, 시스템.
28. 항목 25에 있어서, 상기 지시들은 상기 적어도 하나의 프로세서가,
상기 제2 디바이스가 TTS(text-to-speech) 처리에 의해 생성된 오디오 데이터를 출력하게 하고;
상기 제2 디바이스로부터 제2 입력 오디오 데이터를 수신하고;
제2 텍스트 데이터를 결정하기 위해 상기 제2 입력 오디오 데이터에 ASR을 수행하고;
상기 제2 텍스트 데이터가 예(yes)라는 단어를 포함하는지를 결정하고; 및
제2 텍스트 데이터가 단어 "예"를 포함한다는 결정에 기초하여 상기 화법이 출력 오디오 데이터에 응답하는 것으로 결정하도록 추가로 구성하게 하는, 시스템.
29. 항목 25에 있어서, 상기 지시들은 상기 적어도 하나의 프로세서가,
상기 제2 시간 후의 제3 시간에, 상기 제1 디바이스에 의해 가청 표시자를 출력하게 추가로 구성하게 하고, 상기 가청 표시자는 상기 제2 디바이스가 상기 출력 오디오 데이터에 대한 응답으로 화법을 검출하였음을 나타내는, 시스템.
30. 항목 29에 있어서, 상기 가청 표시자는 TTS(text-to-speech) 처리를 이용하여 생성되고, 상기 TTS 처리는 앞서 말하여진 사용자의 화법을 사용하는, 시스템.
31. 항목 25에 있어서, 상기 지시들은 상기 적어도 하나의 프로세서가,
상기 제2 디바이스가 TTS(text-to-speech) 처리에 의해 생성된 오디오 데이터를 출력하게 하고;
상기 제2 디바이스로부터 제2 입력 오디오 데이터를 수신하고;
음성 기반(voice-based) 스피커 ID를 사용하여, 상기 제2 입력 오디오 데이터가 상기 메시지 컨텐츠의 수신자에 의해 말하여진 오디오에 대응하는지를 결정하고; 및
상기 제2 입력 오디오 데이터가 상기 메시지 컨텐츠의 수신자에 의해 말하여진 오디오에 대응하는 것에 기초하여 상기 화법이 상기 출력 오디오 데이터에 응답하고 있는지를 결정하도록 추가로 구성하게 하는, 시스템.
32. 항목 25에 있어서, 상기 입력 오디오 데이터는 웨이크워드 부분 및 메시지 컨텐츠를 포함하는, 시스템.
33. 컴퓨터 구현 방법에 있어서,
제1 디바이스로부터 입력 오디오 데이터를 수신하는 단계;
메시지 컨텐츠를 결정하기 위해 상기 입력 오디오 데이터를 처리하는 단계;
제1 시간에 제2 디바이스로, 상기 메시지 컨텐츠에 대응하는 출력 오디오 데이터를 발송하는 단계;
상기 제1 시간 후의 제2 시간에, 상기 제2 디바이스로부터, 상기 제2 디바이스가 상기 출력 오디오 데이터에 대한 응답으로 화법(speech)을 검출했다는 표시를 수신하는 단계; 및
상기 제2 시간 이후의 제3 시간에 시각적 표시자가 상기 제1 디바이스에 의해 출력되도록 하는 단계를 포함하되, 상기 시각적 표시자는 상기 제2 디바이스가 상기 메시지 컨텐츠에 대한 응답을 수신하고 있음을 나타내는, 컴퓨터 구현 방법.
34. 항목 33에 있어서, 상기 시각적 표시자는 제1 색상 또는 제1 모션 중 적어도 하나를 포함하는, 컴퓨터 구현 방법.
35. 항목 34에 있어서, 상기 제1 디바이스와 관련된 사용자 프로필을 이용하여 상기 제2 디바이스를 식별하는 단계를 더 포함하는, 컴퓨터 구현 방법.
36. 항목 35에 있어서, 상기 지시들은 상기 적어도 하나의 프로세서가,
상기 제2 디바이스가 TTS(text-to-speech) 처리에 의해 생성된 오디오 데이터를 출력하게 하고;
상기 제2 디바이스로부터 제2 입력 오디오 데이터를 수신하고;
제2 텍스트 데이터를 결정하기 위해 상기 제2 입력 오디오 데이터에 ASR을 수행하고;
제2 텍스트 데이터가 단어 예(yes)를 포함하는 지를 결정하도록 추가로 구성하게 하고,
상기 화법이 출력 오디오 데이터에 응답하는 지를 결정하는 것은 제2 텍스트 데이터가 단어 예(yes)를 포함한다는 결정에 기반되는, 컴퓨터 구현 방법.
37. 항목 33에 있어서,
상기 제2 시간 후의 제3 시간에, 상기 제1 디바이스에 의해 가청 표시자를 출력하게 하는 단계를 더 포함하고, 상기 가청 표시자는 상기 제2 디바이스가 상기 출력 오디오 데이터에 대한 응답으로 화법을 검출하였음을 나타내는, 컴퓨터 구현 방법.
38. 항목 37에 있어서, 상기 가청 표시자는 TTS(text-to-speech) 처리를 이용하여 생성되고, 상기 TTS 처리는 앞서 말하여진 사용자의 화법을 사용하는, 시스템.
39. 항목 33에 있어서,
상기 제2 디바이스가 TTS(text-to-speech) 처리에 의해 생성된 오디오 데이터를 출력하게 하는 단계;
상기 제2 디바이스로부터 제2 입력 오디오 데이터를 수신하는 단계;
음성 기반 스피커 ID를 사용하여, 상기 제2 입력 오디오 데이터가 상기 메시지 컨텐츠의 수신자에 의해 말하여진 오디오에 대응하는 지를 결정하는 단계; 및
상기 메시지 컨텐츠의 수신자에 의해 말하여진 오디오에 대응하는 상기 제2 입력 오디오 데이터에 기초하여 상기 화법이 상기 출력 오디오 데이터에 응답하는 것인지를 결정하는 단계를 더 포함하는, 컴퓨터 구현 방법.
40. 항목 33에 있어서, 상기 입력 오디오 데이터는 웨이크워드 부분 및 메시지 컨텐츠를 포함하는, 컴퓨터 구현 방법.
41. 컴퓨터 구현 방법에 있어서,
제1 시간 기간 내에:
수신자 정보를 포함하는 제1 입력 오디오 데이터를 제1 화법 제어형 디바이스로부터 수신하는 단계;
제1 텍스트 데이터를 결정하기 위해 상기 제1 입력 오디오 데이터에 화법 처리를 수행하는 단계로서, 상기 제1 텍스트 데이터는 수신자 이름을 포함하는, 상기 화법 처리를 수행하는 단계;
상기 제1 화법 제어형 디바이스와 연관된 사용자 프로파일을 사용하여, 상기 수신자 이름과 연관된 제2 화법 제어형 디바이스를 결정하는 단계;
상기 제2 화법 제어형 디바이스가 메시지 컨텐츠가 다가 오는 것(forthcoming)을 나타내는 표시를 출력하게 하는 단계;
제2 시간 기간 내에:
상기 제1 화법 제어형 디바이스로부터 상기 메시지 컨텐츠를 포함하는 제2 입력 오디오 데이터를 수신하는 단계;
상기 제1 화법 제어형 디바이스와 연관된 사용자 프로파일을 사용하여, 상기 수신자 이름과 연관된 제3 화법 제어형 디바이스를 결정하는 단계; 및
상기 제3 화법 제어형 디바이스가 상기 메시지 컨텐츠를 출력하게 하는 단계를 포함하는, 컴퓨터 구현 방법.
42. 항목 41에 있어서, 상기 표시는 제1 색상, 제1 모션과 제1 색상 또는 제1 오디오 중 적어도 하나를 포함하고, 상기 제1 모션은 상기 제1 화법 제어형 디바이스의 에지를 따라 점멸, 스트로빙(strobing) 또는 이동 중 하나를 포함하고, 상기 제1 오디오는 TTS(text-to-speech) 에 의해 생성되는, 컴퓨터 구현 방법.
43. 항목 41에 있어서,
수신자 이름을 식별하기 위해 자연 언어 처리(natural language processing)를 수행하는 단계; 및
상기 제2 입력 오디오 데이터에 대응하는 제2 텍스트 데이터가 TTS(text-to-speech) 컴포넌트로 발송되는 동안 상기 제2 화법 제어형 디바이스로 하여금 상기 표시를 출력하게 하는 신호를 상기 제2 화법 제어 디바이스로 발송하는 단계를 더 포함하는, 컴퓨터 구현 방법.
44. 항목 41에 있어서, 상기 제2 화법 제어형 디바이스를 결정하는 단계는
상기 사용자 프로파일 내의 상기 수신자 이름과 연관된 디바이스들로부터 이미지 데이터를 수신하는 단계; 및
상기 제2 화법 제어형 디바이스로부터 수신된 이미지 데이터가 사람의 표현을 포함하는 지를 결정하는 단계를 더 포함하는, 컴퓨터 구현 방법.
45. 시스템에 있어서,
적어도 하나의 프로세서; 및
상기 적어도 하나의 프로세서에 의해 실행되도록 동작 가능한 지시들을 포함하는 메모리로서, 상기 적어도 하나의 프로세서는,
수신자 정보를 포함하는 제1 입력 오디오 데이터를 제1 디바이스로부터 수신하고;
상기 수신자 정보와 연관된 제2 디바이스를 결정하고;
상기 제2 디바이스가 메시지 컨텐츠가 다가 오는 것(forthcoming)을 나타내는 표시를 출력하게 하고;
상기 메시지 컨텐츠를 포함하는 제2 입력 오디오 데이터를 상기 제1 디바이스로부터 수신하고; 및
상기 제2 디바이스가 메시지 컨텐츠를 출력하게 구성하는 동작들의 세트를 수행하게 하는, 시스템.
46. 항목 45에 있어서, 상기 제2 디바이스를 결정하는 것은
상기 제1 디바이스와 관련된 사용자 프로파일에 액세스하고; 및
상기 사용자 프로파일 내의 수신자 정보를 식별하는 것을 포함하는, 시스템.
47. 항목 45에 있어서, 상기 제2 디바이스를 결정하는 것은
상기 수신자의 위치를 결정하는 것; 및
상기 제2 디바이스가 상기 수신자에 근접한 지에 기초하여, 수신자 프로파일과 관련된 복수의 디바이스들로부터 상기 제2 디바이스를 선택하는 것을 포함하는, 시스템.
48. 항목 45에 있어서, 상기 제2 디바이스를 결정하는 것은 상기 제2 디바이스가 현재 사용중 인지를 결정하는 것을 포함하는, 시스템.
49. 항목 45에 있어서, 상기 제2 디바이스를 결정하는 것은
상기 제2 디바이스를 포함하는 복수의 디바이스들로부터 제3 디바이스가 현재 사용중 인지를 결정하는 것; 및
상기 제3 디바이스에 대한 상기 제2 디바이스의 근접 여부에 기초하여 상기 제2 디바이스를 선택하는 것을 포함하는, 시스템.
50. 항목 45에 있어서, 상기 표시는 색상으로 구성되거나 상기 색상은 모션(motion)을 갖는, 시스템.
51. 항목 50에 있어서, 상기 제2 입력 오디오 데이터가 제1 디바이스로부터 수신하는 동안 상기 표시가 상기 제2 디바이스에 의해 출력되는, 시스템.
52. 항목 55에 있어서, 상기 표시는 가청 표시이고, 상기 가청 표시는 TTS(text-to-speech) 처리를 이용하여 생성되는, 시스템.
53. 컴퓨터 구현 방법에 있어서,
수신자 정보를 포함하는 제1 입력 오디오 데이터를 제1 디바이스로부터 수신하는 단계;
상기 수신자 정보와 연관된 제2 디바이스를 결정하는 단계;
상기 제2 디바이스로 하여금 메시지 컨텐츠가 다가 오는 것을 나타내는 표시를 출력하게 하는 단계;
상기 제1 디바이스로부터 메시지 컨텐츠를 포함하는 제2 입력 오디오 데이터를 수신하는 단계; 및
상기 제2 디바이스가 메시지 컨텐츠를 출력하게 하는 단계를 포함하는, 컴퓨터 구현 방법.
54. 항목 53에 있어서, 상기 제2 디바이스를 결정하는 단계는,
상기 제1 디바이스와 관련된 사용자 프로파일에 액세스하는 단계; 및
상기 사용자 프로파일 내의 수신자 정보를 식별하는 단계를 포함하는, 컴퓨터 구현 방법.
55. 항목 53에 있어서, 상기 제2 디바이스를 결정하는 단계는,
상기 수신자의 위치를 결정하는 단계; 및
상기 제2 디바이스가 상기 수신자에 근접한 지에 기초하여, 수신자 프로파일과 관련된 복수의 디바이스들로부터 상기 제2 디바이스를 선택하는 단계를 포함하는, 컴퓨터 구현 방법.
56. 항목 53에 있어서, 상기 제2 디바이스를 결정하는 단계는 상기 제2 디바이스가 현재 사용중 인지를 결정하는 단계를 포함하는, 컴퓨터 구현 방법.
57. 항목 53에 있어서, 상기 제2 디바이스를 결정하는 단계는,
상기 제2 디바이스를 포함하는 복수의 디바이스들로부터 제3 디바이스가 현재 사용중 인지를 결정하는 단계; 및
상기 제3 디바이스에 대한 상기 제2 디바이스의 근접 여부에 기초하여 상기 제2 디바이스를 선택하는 단계를 포함하는, 컴퓨터 구현 방법.
58. 항목 53에 있어서, 상기 표시는 색상으로 구성되거나 상기 색상은 모션을 갖는, 컴퓨터 구현 방법.
59. 항목 58에 있어서, 상기 제2 입력 오디오 데이터가 상기 제1 디바이스로부터 수신하는 동안 상기 표시가 상기 제2 디바이스에 의해 출력되는, 컴퓨터 구현 방법.
60. 항목 53에 있어서, 상기 표시는 가청 표시이고, 상기 가청 표시는 TTS(text-to-speech) 처리를 이용하여 생성되는, 컴퓨터 구현 방법.
본 출원에서 사용된, 용어 "임의의(a)" 또는 "하나(one)"는 달리 명시되지 않는 한 하나 이상의 아이템을 포함할 수 있다. 더구나, "에 기초한(based on)"이라는 어구는 특별히 지칭되지 않는 한 "적어도 부분적으로 기초함"을 의미하는 것으로 의도된다.

Claims (15)

  1. 컴퓨터 구현 방법에 있어서,
    제1 디바이스로부터 입력 오디오 데이터를 수신하는 단계로서, 상기 입력 오디오 데이터는 웨이크워드(wakeword) 부분 및 명령 부분을 포함하는, 상기 수신하는 단계;
    상기 입력 오디오 데이터에 기초하여 텍스트 데이터를 결정하는 단계;
    상기 텍스트 데이터에 기초하여 제2 디바이스로 제1 메시지를 발송하는 단계;
    상기 제1 디바이스를 향하도록 의도된 상기 제2 디바이스로부터의 제2 메시지를 결정하는 단계;
    제1 개수의 메시지가 상기 제1 디바이스로부터 상기 제2 디바이스로 발송 되고, 제2개수의 메시지가 상기 제2 디바이스로부터 상기 제1 디바이스로 발송될 때까지 경과된 시간의 양을 결정하는 단계;
    상기 시간의 양이 제1 임계 시간기간 보다 작은지를 결정하는 단계; 및
    상기 제1 디바이스에 의해 검출되는 웨이크워드 없이 상기 제1 디바이스가 오디오 데이터를 발송하게 하는 데이터를 상기 제1 디바이스로 발송하는 단계를 포함하는, 컴퓨터 구현 방법.
  2. 청구항 1에 있어서,
    상기 제1 디바이스로부터 제2 입력 오디오 데이터를 수신하는 단계;
    메시지 컨텐츠를 결정하기 위해 상기 제2 입력 오디오 데이터를 처리하는 단계;
    제1 시간에 상기 제2 디바이스로, 상기 메시지 컨텐츠에 대응하는 출력 오디오 데이터를 발송하는 단계;
    상기 제1 시간 후의 제2 시간에, 상기 제2 디바이스로부터, 상기 제2 디바이스가 상기 출력 오디오 데이터에 대한 응답으로 화법(speech)을 검출했다는 표시를 수신하는 단계; 및
    상기 제2 시간 이후의 제3 시간에 시각적 표시자가 상기 제1 디바이스에 의해 출력되도록 하는 단계를 포함하되, 상기 시각적 표시자는 상기 제2 디바이스가 상기 메시지 컨텐츠에 대한 응답을 수신하고 있음을 나타내는, 컴퓨터 구현 방법.
  3. 청구항 1 또는 2에 있어서,
    상기 지시들은 상기 적어도 하나의 프로세서가
    상기 제2 디바이스가 TTS(text-to-speech) 처리에 의해 생성된 오디오 데이터를 출력하게 하고;
    상기 제2 디바이스로부터 제3 입력 오디오 데이터를 수신하고;
    제2 텍스트 데이터를 결정하기 위해 상기 제3 입력 오디오 데이터에 ASR을 수행하고; 및
    상기 제2 텍스트 데이터가 예(yes)라는 단어를 포함하는지를 결정하도록 추가로 구성하고, 상기 화법이 상기 출력 오디오 데이터에 대한 응답하는 것인지를 결정하는 것은 상기 제2 텍스트 데이터가 상기 단어 예(yes)를 포함한다는 결정에 기반되는, 컴퓨터 구현 방법.
  4. 청구항 1 또는 2에 있어서,
    상기 제2 시간 후의 제3 시간에, 상기 제1 디바이스에 의해 가청 표시자를 출력하게 하는 단계를 더 포함하고, 상기 가청 표시자는 상기 제2 디바이스가 상기 출력 오디오 데이터에 대한 응답으로 화법을 검출하였음을 나타내는, 컴퓨터 구현 방법.
  5. 청구항 4에 있어서, 상기 가청 표시자는 TTS(text-to-speech) 처리를 이용하여 생성되고, 상기 TTS 처리는 앞서 말하여진 사용자의 화법을 사용하는, 컴퓨터 구현 방법.
  6. 청구항 1 또는 2에 있어서,
    상기 제2 디바이스가 TTS(text-to-speech) 처리에 의해 생성된 오디오 데이터를 출력하게 하는 단계;
    상기 제2 디바이스로부터 제4 입력 오디오 데이터를 수신하는 단계;
    음성 기반 스피커 ID를 사용하여, 상기 제4 입력 오디오 데이터가 상기 메시지 컨텐츠의 수신자에 의해 말하여진 오디오에 대응하는 지를 결정하는 단계; 및
    상기 메시지 컨텐츠의 수신자에 의해 말하여진 오디오에 대응하는 상기 제4 입력 오디오 데이터에 기초하여 상기 화법이 상기 출력 오디오 데이터에 응답하는 것인지를 결정하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  7. 청구항 1에 있어서,
    수신자 정보를 포함하는 제2 입력 오디오 데이터를 상기 제1 디바이스로부터 수신하는 단계;
    상기 수신자 정보와 연관된 상기 제2 디바이스를 결정하는 단계;
    상기 제2 디바이스로 하여금 메시지 컨텐츠가 다가 오는 것을 나타내는 표시를 출력하게 하는 단계;
    상기 제1 디바이스로부터 메시지 컨텐츠를 포함하는 제3 입력 오디오 데이터를 수신하는 단계; 및
    상기 제2 디바이스가 메시지 컨텐츠를 출력하게 하는 단계를 포함하는, 컴퓨터 구현 방법.
  8. 청구항 7 항에 있어서,
    상기 제2 디바이스를 결정하는 단계는,
    상기 수신자의 위치를 결정하는 단계; 및
    상기 제2 디바이스가 상기 수신자에 근접한 지에 기초하여, 수신자 프로파일과 관련된 복수의 디바이스들로부터 상기 제2 디바이스를 선택하는 단계를 포함하는, 컴퓨터 구현 방법.
  9. 청구항 1에 있어서,
    제3 개수의 메시지가 상기 제1 디바이스로부터 상기 제2 디바이스로 발송 되고, 제4 개수의 메시지가 상기 제2 디바이스로부터 상기 제1 디바이스로 발송될 때까지 경과된 제2 시간량을 결정하는 단계;
    상기 제2 시간량이 제2 임계 시간 기간보다 작은지를 결정하는 단계; 및
    상기 제1 디바이스와 상기 제2 디바이스 사이에 실시간 통신 세션을 수립하게 하는 단계를 더 포함하되, 상기 실시간 통신 세션은 화법 처리를 수행하지 않고 상기 제1 디바이스와 상기 제2 디바이스 간에 오디오 데이터를 교환하는 단계를 포함하는, 컴퓨터 구현 방법.
  10. 청구항 1에 있어서,
    상기 제1 디바이스와 연관된 사용자 프로파일에 액세스하는 단계를 더 포함하되,
    상기 경과 시간의 양을 결정하는 단계는 상기 사용자 프로파일 내의 상기 제2 디바이스와 연관된 상기 제1 개수의 메시지들을 식별하는 단계를 포함하는, 컴퓨터 구현 방법.
  11. 청구항 1에 있어서,
    상기 제1 디바이스로부터 제2 입력 오디오 데이터를 수신하는 단계;
    상기 제2 입력 오디오 데이터가 사용자 이름을 포함하는지를 결정하는 단계;
    상기 제1 디바이스와 연관된 사용자 프로파일을 사용하여, 상기 사용자 이름과 연계된 제3 디바이스를 결정하는 단계;
    상기 사용자 프로파일을 사용하여, 상기 사용자 이름을 포함하는 상기 제2 입력 오디오 데이터에 기초하여 실시간 통신 세션이 발생해야 하는지를 결정하는 단계; 및
    실시간 통신 세션이 상기 제1 디바이스와 상기 제3 디바이스간에 수립되게 하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  12. 청구항 11에 있어서,
    오디오 데이터가 수신되지 않거나, 웨이크워드 부분을 포함하는 오디오 데이터의 수신, 비 통신 명령을 포함하는 오디오 데이터의 수신, 또는 적어도 실시간 통신 세션이 폐쇄되어야 한다는 것을 표시하는 부분을 포함하는 오디오 데이터를 수신하는 제2 임계 시간 기간 중 적어도 하나를 결정하는 단계; 및
    상기 실시간 통신 세션을 폐쇄하는 단계를 더 포함하는, 컴퓨터 구현 방법.
  13. 청구항 12에 있어서,
    상기 실시간 통신 세션의 조장(facilitation)은 제1 사람이 제1 디바이스의 제1 접근 범위(proximity) 내에 있고 제2 사람이 제3 디바이스의 제2 접근 범위 내에 있는지에 응답하여 추가로 발생하게 하는, 컴퓨터 구현 방법.
  14. 청구항 1에 있어서,
    상기 제2 디바이스가 오디오 또는 텍스트 중 적어도 하나를 캡처하고 있을 때의 표시를 상기 제1 디바이스가 출력하게 하는 단계를 더 포함하고, 상기 표시는 시각, 청각 또는 촉각 중 적어도 하나인, 컴퓨터 구현 방법.
  15. 청구항 13에 있어서,
    오디오 데이터가 실시간으로 상기 제2 디바이스로 발송될 것이고 상기 웨이크워드 기능이 디스에이블(disable)됨을 나타내는 합성된 화법(synthesized speech)을 상기 제1 디바이스가 출력하게 하는 단계를 더 포함하는, 컴퓨터 구현 방법.
KR1020197005828A 2016-09-01 2017-08-31 음성 기반 통신 KR20190032557A (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US15/254,458 US10453449B2 (en) 2016-09-01 2016-09-01 Indicator for voice-based communications
US15/254,458 2016-09-01
US15/254,359 US10074369B2 (en) 2016-09-01 2016-09-01 Voice-based communications
US15/254,600 US10580404B2 (en) 2016-09-01 2016-09-01 Indicator for voice-based communications
US15/254,359 2016-09-01
US15/254,600 2016-09-01
PCT/US2017/049578 WO2018045154A1 (en) 2016-09-01 2017-08-31 Voice-based communications

Publications (1)

Publication Number Publication Date
KR20190032557A true KR20190032557A (ko) 2019-03-27

Family

ID=59846711

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197005828A KR20190032557A (ko) 2016-09-01 2017-08-31 음성 기반 통신

Country Status (4)

Country Link
EP (1) EP3507796A1 (ko)
KR (1) KR20190032557A (ko)
CN (1) CN109791764A (ko)
WO (1) WO2018045154A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10692496B2 (en) * 2018-05-22 2020-06-23 Google Llc Hotword suppression
US10701006B2 (en) * 2018-08-27 2020-06-30 VoiceCTRL Oy Method and system for facilitating computer-generated communication with user
CN109658924B (zh) * 2018-10-29 2020-09-01 百度在线网络技术(北京)有限公司 会话消息处理方法、装置及智能设备
CA3164009A1 (en) * 2020-01-06 2021-07-15 Strengths, Inc. Precision recall in voice computing

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102447647B (zh) * 2010-10-13 2014-06-18 腾讯科技(深圳)有限公司 一种基于新消息的通知方法、装置及系统
US20120259633A1 (en) * 2011-04-07 2012-10-11 Microsoft Corporation Audio-interactive message exchange
US8468022B2 (en) * 2011-09-30 2013-06-18 Google Inc. Voice control for asynchronous notifications
US20130342672A1 (en) * 2012-06-25 2013-12-26 Amazon Technologies, Inc. Using gaze determination with device input
US8977555B2 (en) * 2012-12-20 2015-03-10 Amazon Technologies, Inc. Identification of utterance subjects
US9349386B2 (en) * 2013-03-07 2016-05-24 Analog Device Global System and method for processor wake-up based on sensor data
US9026176B2 (en) * 2013-05-12 2015-05-05 Shyh-Jye Wang Message-triggered voice command interface in portable electronic devices
US9747899B2 (en) * 2013-06-27 2017-08-29 Amazon Technologies, Inc. Detecting self-generated wake expressions
US9412373B2 (en) * 2013-08-28 2016-08-09 Texas Instruments Incorporated Adaptive environmental context sample and update for comparing speech recognition
US20160044394A1 (en) * 2014-08-07 2016-02-11 Nxp B.V. Low-power environment monitoring and activation triggering for mobile devices through ultrasound echo analysis
WO2016054230A1 (en) * 2014-10-01 2016-04-07 XBrain, Inc. Voice and connection platform
CN105700363B (zh) * 2016-01-19 2018-10-26 深圳创维-Rgb电子有限公司 一种智能家居设备语音控制装置的唤醒方法及系统

Also Published As

Publication number Publication date
EP3507796A1 (en) 2019-07-10
WO2018045154A1 (en) 2018-03-08
CN109791764A (zh) 2019-05-21

Similar Documents

Publication Publication Date Title
US11264030B2 (en) Indicator for voice-based communications
US10074369B2 (en) Voice-based communications
US10453449B2 (en) Indicator for voice-based communications
US11496582B2 (en) Generation of automated message responses
US11062694B2 (en) Text-to-speech processing with emphasized output audio
US10365887B1 (en) Generating commands based on location and wakeword
JP6705008B2 (ja) 話者照合方法及びシステム
US10643609B1 (en) Selecting speech inputs
US10140973B1 (en) Text-to-speech processing using previously speech processed data
US9484030B1 (en) Audio triggered commands
US20200184967A1 (en) Speech processing system
US10963497B1 (en) Multi-stage query processing
US11798559B2 (en) Voice-controlled communication requests and responses
US11302329B1 (en) Acoustic event detection
KR20190032557A (ko) 음성 기반 통신
US10143027B1 (en) Device selection for routing of communications
US11348579B1 (en) Volume initiated communications
US11721347B1 (en) Intermediate data for inter-device speech processing
US11693622B1 (en) Context configurable keywords
US20230186902A1 (en) Multiple wakeword detection
US11172527B2 (en) Routing of communications to a device
US11735178B1 (en) Speech-processing system
US11176930B1 (en) Storing audio commands for time-delayed execution
US12001260B1 (en) Preventing inadvertent wake in a speech-controlled device
US20240096316A1 (en) Multi-assistant device control

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right