KR20210024240A - 공유된 음성 작동 디바이스상의 호출 핸들링 - Google Patents

공유된 음성 작동 디바이스상의 호출 핸들링 Download PDF

Info

Publication number
KR20210024240A
KR20210024240A KR1020217005692A KR20217005692A KR20210024240A KR 20210024240 A KR20210024240 A KR 20210024240A KR 1020217005692 A KR1020217005692 A KR 1020217005692A KR 20217005692 A KR20217005692 A KR 20217005692A KR 20210024240 A KR20210024240 A KR 20210024240A
Authority
KR
South Korea
Prior art keywords
voice
user
call
activated device
utterance
Prior art date
Application number
KR1020217005692A
Other languages
English (en)
Other versions
KR102303810B1 (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 구글 엘엘씨
Priority to KR1020217029035A priority Critical patent/KR102396729B1/ko
Publication of KR20210024240A publication Critical patent/KR20210024240A/ko
Application granted granted Critical
Publication of KR102303810B1 publication Critical patent/KR102303810B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42008Systems for anonymous communication between parties, e.g. by use of disposal contact identifiers
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L17/00Speaker identification or verification techniques
    • H04L61/1594
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4594Address books, i.e. directories containing contact information about correspondents
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1096Supplementary features, e.g. call forwarding or call holding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42025Calling or Called party identification service
    • H04M3/42034Calling party identification service
    • H04M3/42059Making use of the calling party identifier
    • 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
    • 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/225Feedback of the input speech
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/226Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
    • G10L2015/227Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of the speaker; Human-factor methodology

Landscapes

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

Abstract

일부 구현예에서, 음성 호출을 요청하는 발언이 수신되고, 그 발언은 특정 공지 사용자가 발화한 것으로 분류되고, 특정 공지 사용자는 개인 음성 번호와 관련되는 것으로 결정되고, 특정 공지 사용자가 개인 음성 번호와 관련된다는 결정에 응답하여 개인 음성 번호로 음성 호출이 개시된다.

Description

공유된 음성 작동 디바이스상의 호출 핸들링{HANDLING CALLS ON A SHARED SPEECH-ENABLED DEVICE}
본 출원은 2017년 5월 16일자로 출원된 "음성 제어를 사용하여 개인 전화 호출 핸들링"라는 제목의 미국 가출원 번호 62/506,805호의 이점을 주장하며, 그 전체는 본원에 참조로 포함된다.
본 명세서는 일반적으로 자연어 처리와 관련된다.
음성 작동 디바이스(Speech-enabled device)는 사용자가 발화한 발언에 응답하여 액션을 수행할 수 있다. 예를 들어, 사용자는 "OK 컴퓨터, 오늘 비가 올까?"라고 말할 수 있고, 음성 작동 디바이스는 "하루 종일 맑을 것 같습니다"라고 가청으로 응답할 수 있다. 음성 작동 디바이스를 사용하는 이점은 그 음성 작동 디바이스와의 상호 작용이 일반적으로 핸즈프리일 수 있다는 점이다. 예를 들어, 사용자가 질문을 할 때, 음성 작동 디바이스는 사용자가 자신의 손을 사용하여 어떤 것과 물리적으로 상호 작용할 필요 없이 가청 응답을 제공할 수 있다. 그러나, 일반적인 음성 작동 디바이스는 지원되는 상호 작용 유형이 제한된다.
음성 작동 디바이스는 음성 호출(voice call)하는데 사용될 수 있다. 예를 들어, 존 도우(John Doe)는 "OK 컴퓨터, (555) 555-5555 호출"이라고 말하여 음성 작동 디바이스가 전화 번호(555) 555-5555로 호출하도록 할 수 있다. 일반적으로 아웃바운드 호출(outbound calls)은 발신자(caller)를 식별하는데 사용될 수 있는 발신자 번호와 관련된다. 예를 들어, 존 도우가 전화기를 사용하여(555) 555-5555를 호출할 때, 그 호출을 수신하는 전화기는 존 도우의 전화기와 관련된 전화 번호로부터 호출이 오고 있음을 나타낼 수 있다.
호출에 응답할지 여부를 결정하고 또한 콜백할 필요가 있는 경우 발신자 번호를 사용하기 위해 상기 호출 수신자가 발신자 번호를 사용할 수 있으므로 발신자 번호를 호출과 연관시키는 것이 유용할 수 있다. 그러나, 종래의 전화기와 달리, 일부 음성 작동 디바이스는 호출을 위한 발신자 번호로서 사용될 수 있는 전화 번호와 관련되지 않을 수 있다.
호출할 때 발신자 번호를 제공하기 위해, 음성 작동 디바이스는 화자의 개인 음성 번호를 발신자 번호로 사용하려고 할 수 있다. 개인 음성 번호는 사용자를 호출할 때 사용되는 번호일 수 있다. 예를 들어, 존이 "OK 컴퓨터, (555) 555-5555 호출"이라고 말할 때, 음성 작동 디바이스는 존 도우의 전화기의 전화 번호 (555) 999-9999를 발신자 번호로 사용할 수 있다. 만약 음성 작동 디바이스가 화자의 개인 음성 번호를 결정할 수 없는 경우, 음성 작동 디바이스는 익명으로 대신 호출하여, 그 호출이 콜백하는데 사용될 수 있는 음성 번호와 관련되지 않도록 할 수 있다. 예를 들어, 이러한 호출은 발신자 번호로서 "미지 번호(Unknown Number)" 또는 "개인 번호(Private Number)"를 나타낼 수 있다.
일부 상황에서, 만약 호출이 긴급 서비스에 대한 것이면, 그 호출은 수신자가 음성 작동 디바이스를 콜백하는데 사용할 수 있는 임시 번호를 사용하여 이루어질 수 있다. 예를 들어, 이러한 호출은 다음 몇 시간 동안 음성 작동 디바이스로 콜백하기 위해 사용될 수 있는 전화 번호 (555) 888-8888을 나타낼 수 있다.
부가적으로 또는 대안적으로, 음성 작동 디바이스는 호출할 음성 번호를 결정하기 위해 화자의 신원을 사용할 수 있다. 예를 들어, 존이 "OK 컴퓨터, 아빠 호출"이라고 말할 때, 음성 작동 디바이스는 존을 인식하거나 인증한 다음 존의 연락처 기록(records)에 액세스하여 "아빠"의 전화 번호를 결정할 수 있다. 다른 예에서, 제인이 "OK 컴퓨터, 아빠 호출해 줘"라고 말할 때, 음성 작동 디바이스는 음성 인식 또는 다른 인증 기술로 제인과 존을 구별한 후 제인의 연락처 기록에 액세스하여 "아빠"의 전화 번호를 결정할 수 있다. 또 다른 예에서, 게스트가 "OK 컴퓨터, 아빠 호출"이라고 말할 때, 음성 작동 디바이스는 음성(또는 다른 인증 기술)으로 게스트를 인식하지 않으며 "아빠"의 전화 번호를 결정하기 위해 임의의 사용자의 연락처 기록에 액세스할 수 없다. 따라서, 이들 3개의 예에서 볼 수 있는 바와 같이, "OK 컴퓨터, 아빠 호출"은 화자의 신원에 기초하여 상이한 결과를 가질 수 있다.
부가적으로 또는 대안적으로, 음성 작동 디바이스는 음성 작동 디바이스에 의해 이루어진 음성 호출 동안 사용자로부터의 발언에 응답할 수 있다. 예를 들어, 호출 중에 음성 작동 디바이스는 "OK 컴퓨터, 끊어(hang up)", "OK 컴퓨터, 스피커 볼륨 증가", "OK 컴퓨터, 오늘 날씨는 어때?"라는 커맨드에 응답할 수 있다. 음성 호출 중의 발언에 응답하여, 음성 작동 디바이스는 그 발언의 적어도 일부를 수신자로부터 차단할 수 있다. 예를 들어, 사용자가 "OK 컴퓨터, 스피커 볼륨 증가"라고 말할 때, 음성 작동 디바이스는 스피커의 볼륨을 높이고 "스피커 볼륨 증가"는 차단하여 수신자가 "OK 컴퓨터"만 들을 수 있도록 할 수 있다. 다른 예에서, 음성 작동 디바이스는 수신자에게 오디오를 제공할 때 대기 시간(latency)을 가질 수 있으므로, 발언이 "OK 컴퓨터"로 시작할 때 수신자가 전체 발언을 듣는 것을 차단할 수 있다.
따라서, 일부 구현예에서 장점은 다수의 사용자에 의해 공유되는 음성 작동 디바이스가 여전히 사용자가 호출할 수 있고, 수신자의 전화기상의 호출 번호를 사용자의 모바일 컴퓨팅 디바이스의 음성 번호로 가질 수 있다는 것일 수 있다. 사람은 일반적으로 미인식 번호로부터의 호출을 받지 않을 수 있으므로, 이렇게 하면 음성 작동 디바이스를 사용하여 이루어진 호출이 응답될 가능성을 증가시킬 수 있다. 게다가, 호출되는 사람은 사용자와 관련된 음성 번호의 사용에 기초하여 호출하는 사람을 이미 알고 있을 수 있기 때문에 호출들이 더 효율적일 수 있다. 동시에, 음성 작동 디바이스가 화자의 음성과 매칭하는 음성 번호를 사용하기 때문에 사용자는 음성 작동 디바이스의 임의의 다른 사용자의 음성 번호를 사용할 수 없다는 점에서 보안이 제공될 수 있다.
일부 구현예에서 다른 장점은, 음성 작동 디바이스에서 연락처의 사용을 허용하는 것이 사용자가 음성 번호의 숫자(digit)를 말하는 대신 연락처의 이름을 빠르게 말할 수 있으므로 사용자들이 보다 빠르게 호출할(전화를 걸) 수 있다는 것이다. 음성 작동 디바이스는 또한 다수의 사용자들 간의 연락처를 명확하게 할 수 있다. 예를 들어, 상이한 사용자들은 상이한 전화 번호와 관련된 "엄마"라는 동일한 이름을 갖는 개별 연락처 항목(entry)을 가질 수 있다. 음성 작동 디바이스는 사용된 연락처가 화자의 음성과 매칭하는 연락처임을 보장할 수 있기 때문에 사용자가 음성 작동 디바이스의 다른 사용자들의 연락처을 사용할 수 없다는 점에서 보안이 제공될 수 있다.
일부 구현예에서의 또 다른 장점은 음성 호출 중에 쿼리들의 처리(handling)를 허용하는 것이 호출을 위한 더 나은 핸즈프리 경험을 가능하게 할 수 있다는 것이다. 예를 들어, 사용자는 특정 번호 누름(press)으로 호출자 응답을 요청하는 자동 전환 장치(automated attendant)에 응답하여 실제로 숫자를 누를 수 있다. 또한 쿼리가 처리되는 동안 양방향 홀드(two-way hold)가 설정(place)되고 쿼리가 해결되면 자동으로 종료되도록 보안이 제공될 수 있다. 부가적으로, 양방향 홀드는 음성 작동 가상 어시스턴트로부터의 쿼리에 대한 응답이 상대방으로부터의 소리에 의해 가려지지(obscured) 않도록 보장할 수 있다. 예를 들어, 양방향 홀드가 없으면, 음성 작동 가상 어시스턴트로부터 응답이 출력되는 것과 동시에 상대방이 발언할 수 있다.
일부 양태에서, 본 명세서에 기술된 주제는 음성 호출을 요청하는 발언을 수신하는 단계, 그 발언을 특정 공지 사용자가 발화한 것으로 분류하는 단계, 특정 공지 사용자가 개인 음성 번호와 관련되는지 여부를 결정하는 단계 및 특정 공지 사용자가 개인 음성 번호와 관련된다는 결정에 응답하여 개인 음성 번호로 음성 호출을 개시하는 단계의 액션들을 포함할 수 있는 방법들로 구현될 수 있다.
일부 구현예에서, 발언을 특정 공지 사용자가 발화한 것으로 분류하는 단계는 그 발언 내의 음성(speech)이 특정 공지 사용자에 대응하는 음성과 매칭하는지 여부를 결정하는 단계를 포함한다. 소정 구현예에서, 발언을 특정 공지 사용자가 발화한 것으로 분류하는 단계는 화자의 적어도 일부의 시각적 이미지가 특정 공지 사용자에 대응하는 시각적 정보와 매칭하는지 여부를 결정하는 단계를 포함한다. 일부 구현예에서, 특정 공지 사용자가 개인 음성 번호와 관련되는지 여부를 결정하는 단계는 특정 공지 사용자의 계정 정보에 액세스하는 단계와 사용자의 계정 정보가 특정 공지 사용자에 대한 음성 번호를 저장하는지 여부를 결정하는 단계를 포함한다.
소정 구현예에서, 특정 공지 사용자가 개인 음성 번호와 관련되는지 여부를 결정하는 단계는 서버로, 특정 공지 사용자의 표시 및 발언의 표현을 제공하는 단계와, 서버로부터, 특정 공지 사용자의 개인 음성 번호, 호출할 음성 번호 및 음성 호출을 지시하는 명령을 수신하는 단계를 포함한다.
일부 구현예에서, 특정 공지 사용자가 개인 음성 번호와 관련되는지 여부를 결정하는 단계는 특정 공지 사용자의 계정에 액세스하는 단계와, 사용자의 계정이 전화기를 나타내는지 여부를 결정하는 단계와, 그 전화기가 음성 작동 디바이스와 연결되어 있는지 결정하는 단계를 포함한다.
소정 구현예에서, 개인 음성 번호로 음성 호출을 개시하는 단계는 음성 작동 디바이스와 연결된 전화기를 통해 음성 호출을 개시하는 단계를 포함한다. 일부 구현예에서, 특정 공지 사용자가 개인 음성 번호와 관련된다는 결정에 응답하여, 개인 음성 번호로 음성 호출을 개시하는 단계는 VoIP(Voice over Internet Protocol) 호출 제공자를 통해 음성 호출을 개시하는 단계를 포함한다.
일부 양태에서, 본 명세서에 기술된 주제는 음성 호출을 요청하는 발언을 수신하는 단계와, 발언을 특정 공지 사용자가 발화한 것으로 분류하는 단계와, 발언을 특정 공지 사용자가 발화한 것으로 분류한 것에 응답하여, 특정 공지 사용자에 대한 연락처에 기초하여 호출할 수신자 음성 번호를 결정하는 단계와, 수신자 음성 번호에 대해 음성 호출을 개시하는 단계의 액션들을 포함할 수 있는 방법들로 구현될 수 있다.
일부 구현예에서, 발언을 특정 공지 사용자가 발언한 것으로 분류하는 것에 응답하여, 특정 공지 사용자에 의해 생성된 연락처 항목을 획득하는 단계는, 발언을 특정 공지 사용자가 발화한 것으로 분류하는 것에 응답하여, 특정 공지 사용자의 연락처 항목이 이용 가능한지 결정하는 단계와, 특정 공지 사용자의 연락처 항목이 이용 가능하다는 결정에 응답하여, 특정 공지 사용자에 의해 생성된 연락처 항목을 획득하는 단계를 포함한다. 소정 구현예에서, 발언을 특정 공지 사용자가 발언한 것으로 분류하는 것에 응답하여, 특정 공지 사용자에 대한 음성 연락처에 기초하여 호출할 수신자 음성 번호를 결정하는 단계는, 발언을 특정 공지 사용자가 발화한 것으로 분류하는 것에 응답하여, 특정 공지 사용자에 의해 생성된 연락처 항목을 획득하는 단계와, 특정 연락처 항목이 발언과 매칭하는 이름을 포함하는 연락처 항목들 중에서 특정 연락처 항목을 식별하는 단계와, 그 특정 연락처 항목에 의해 표시되는 음성 번호를 수신자 음성 번호로 결정하는 단계를 포함한다.
일부 구현예에서, 특정 연락처 항목이 발언과 매칭하는 이름을 포함하는 연락처 항목들 중에서 특정 연락처 항목을 식별하는 단계는 발언의 전사를 생성하는 단계와 그 전사가 이름을 포함하는지 결정하는 단계를 포함한다. 소정 구현예에서, 발언을 특정 공지 사용자가 발언한 것으로 분류하는 단계는 발언 내의 음성이 특정 공지 사용자에 대응하는 음성을 매칭시키기 위해 음성 가능 디바이스에 의해 결정되었다는 표시를 획득하는 단계를 포함한다. 일부 구현예에서, 발언을 특정 공지 사용자가 발언한 것으로 분류하는 단계는 발언 내의 음성이 특정 공지 사용자에 대응하는 음성과 매칭하는지를 결정하는 단계를 포함한다. 소정 구현예에서, 수신자 음성 번호로 음성 호출을 개시하는 단계는 음성 작동 디바이스로, 수신자 음성 번호 및 그 수신자 음성 번호에 대한 음성 호출을 개시하기 위한 명령을 제공하는 단계를 포함한다.
액션들은 제 2 음성 호출을 요청하는 제 2 발언을 수신하는 단계와, 제2 발언을 음성 작동 디바이스의 임의의 공지 사용자가 발화하지 않은 것으로 분류하는 단계와, 제2 발언을 음성 작동 디바이스의 임의의 공지 사용자가 발화하지 않은 것으로 분류하는 것에 응답하여, 음성 작동 디바이스의 임의의 공지 사용자에 대한 음성 연락처에 액세스하지 않고 제2 음성 호출을 개시하는 단계를 포함한다.
일부 양태에서, 본 명세서에 기술된 주제는 제1 당사자가 제1 당사자와 제2 당사자 간의 음성 호출 동안 음성 작동 가상 어시스턴트에 대한 쿼리를 발화했는지를 결정하는 단계와, 제1 당사자가 제1 당사자와 제2 당사자 간의 음성 호출 동안 음성 작동 가상 어시스턴트에 대한 쿼리를 발화했다는 결정에 응답하여, 제1 당사자와 제2 당사자 간의 음성 호출을 홀드하는 단계와, 음성 작동 가상 어시스턴트가 쿼리를 해결했는지를 결정하는 단계와, 음성 작동 가상 어시스턴트가 쿼리를 처리했다는 결정에 응답하여, 홀드로부터 제1 당사자와 제2 당사자 간의 음성 호출을 재개하는 단계의 액션들을 포함할 수 있는 방법들로 구현될 수 있다.
일부 구현예에서, 제1 당사자가 제1 당사자와 제2 당사자 간의 음성 호출 동안 음성 작동 가상 어시스턴트에 대한 쿼리를 발화했는지를 결정하는 단계는 음성 작동 디바이스에 의해, 음성 호출 중에 핫 워드가 제1 당사자에 의해 발화되었는지 결정하는 단계를 포함한다. 소정 구현예에서, 제1 당사자와 제2 당사자 간의 음성 호출을 홀드하는 단계는 음성 호출을 홀드시키기 위한 명령을 음성 호출 제공자에게 제공하는 단계를 포함한다. 일부 구현예에서, 제1 당사자와 제2 당사자 간의 음성 호출을 홀드하는 단계는 마이크로폰으로부터의 오디오를 음성 서버 대신에 음성 작동 가상 어시스턴트로 라우팅하는 단계와, 음성 작동 가상 어시스턴트로부터의 오디오를 음성 서버로부터의 오디오 대신에 스피커로 라우팅하는 단계를 포함한다.
소정 구현예에서, 음성 작동 가상 어시스턴트가 쿼리를 해결했는지를 결정하는 단계는 음성 작동 가상 어시스턴트로, 상기 쿼리 및 상기 음성 호출이 음성 작동 디바이스상에서 진행 중이라는 표시를 제공하는 단계와, 음성 작동 가상 어시스턴트로부터, 쿼리에 대한 응답 및 그 쿼리가 해결되었다는 표시를 수신하는 단계를 포함한다. 일부 구현예에서, 음성 작동 가상 어시스턴트로부터, 쿼리에 대한 응답 및 그 쿼리가 해결되었다는 표시를 수신하는 단계는 쿼리에 대한 응답으로서 출력 될 오디오 및 그 질의가 해결되는지 여부를 나타내는 값을 갖는 이진 플래그를 수신하는 단계를 포함한다. 소정 구현예에서, 음성 작동 가상 어시스턴트는 쿼리에 대응하는 커맨드를 식별하고, 커맨드가 음성 호출 중에 실행될 수 있는지 결정하고, 커맨드가 음성 호출 중에 실행될 수 있다는 결정에 응답하여, 커맨드에 대한 답변을 나타낼 응답을 결정하는 단계를 포함한다.
일부 구현예에서, 음성 작동 가상 어시스턴트는 쿼리에 대응하는 커맨드를 식별하고, 커맨드가 음성 호출 중에 실행될 수 없는지 결정하고, 커맨드가 음성 통화 중에 실행될 수 없다는 결정에 응답하여, 커맨드가 실행될 수 없음을 나타낼 응답을 결정하는 단계를 포함한다. 소정 구현예에서, 커맨드가 음성 호출 중에 실행될 수 없는지 결정하는 단계는 음성 호출 중에 정상적으로 실행될 수 있는 커맨드 목록을 획득하는 단계와, 식별된 커맨드가 그 커맨드 목록에 없는지 결정하는 단계를 포함한다. 일부 구현예에서, 커맨드가 음성 호출 중에 실행될 수 없는지 결정하는 단계는 음성 호출 중에 정상적으로 실행될 수 없는 커맨드 목록을 획득하는 단계와, 식별된 커맨드가 그 커맨드 목록에 있는지 결정하는 단계를 포함한다.
소정 구현예에서, 음성 작동 가상 어시스턴트가 쿼리를 해결했다는 결정에 응답하여, 홀드로부터 제1 당사자와 제2 당사자 간의 음성 호출을 재개하는 단계는 홀드로부터 음성 호출을 재개하기 위한 명령을 음성 호출 제공자에게 제공하는 단계를 포함한다. 일부 구현예에서, 음성 작동 가상 어시스턴트가 쿼리를 해결했다는 결정에 응답하여, 홀드로부터 제1 당사자와 제2 당사자 간의 음성 호출을 재개하는 단계는 마이크로폰으로부터의 오디오를 음성 작동 가상 어시스턴트 대신에 음성 서버로 라우팅하는 단계와, 음성 서버로부터의 오디오를 음성 작동 가상 어시스턴트로부터의 오디오 대신에 스피커로 라우팅하는 단계를 포함한다. 소정 구현예에서, 음성 작동 가상 어시스턴트가 쿼리를 해결했다는 결정에 응답하여, 홀드로부터 제1 당사자와 제2 당사자 간의 음성 호출을 재개하는 단계는 듀얼 톤 다중 주파수 신호를 생성하기 위한 명령을 음성 작동 가상 어시스턴트로부터 명령을 수신하는 단계와, 듀얼 톤 다중 주파수 신호를 생성하기 위한 명령을 음성 작동 가상 어시스턴트로부터 수신한 것에 응답하여, 홀드로부터 음성 호출을 재개하기 위한 명령을 음성 호출 제공자에게 제공한 후 듀얼 톤 다중 주파수 신호를 생성하기 위한 제2 명령을 음성 호출 제공자에게 제공하는 단계를 포함한다. 일부 구현예에서, 음성 작동 가상 어시스턴트는 쿼리가 하나 이상의 듀얼 톤 다중 주파수 신호 및 그 하나 이상의 듀얼 톤 다중 주파수 신호에 대응하는 하나 이상의 숫자를 생성하기 위한 커맨드를 나타내는지 결정하도록 구성될 수 있다.
이 양태 및 다른 양태의 다른 구현예들은 컴퓨터 저장 디바이스 상에 인코딩 된 방법의 액션들을 수행하도록 구성된, 대응하는 시스템, 장치 및 컴퓨터 프로그램을 포함한다. 하나 이상의 컴퓨터로 구성된 시스템은 소프트웨어, 펌웨어, 하드웨어 또는 그 시스템상에 설치된 이들의 조합으로, 동작시 시스템으로 하여금 그 액션들을 수행하도록 구성될 수 있다. 하나 이상의 컴퓨터 프로그램은 데이터 처리 장치에 의해 실행될 때 그 장치로 하여금 액션들을 수행하게 하는 명령들을 구비함으로써 구성될 수 있다.
본 명세서에 기술된 주제의 하나 이상의 구현예의 세부 사항은 첨부 도면 및 이하의 설명에서 기술된다. 주제의 다른 특징, 양태 및 잠재적 장점은 상세한 설명, 도면 및 청구 범위로부터 명백해질 것이다.
도 1a 내지 도 1d는 호출하는 음성 작동 디바이스와의 예시적인 상호 작용을 나타내는 블록도이다.
도 2는 호출을 하기 위한 프로세스의 예를 도시하는 흐름도이다.
도 3은 호출할 음성 번호를 결정하기 위한 프로세스의 예를 도시하는 흐름도이다.
도 4는 호출 중에 음성 작동 디바이스와의 예시적인 상호 작용을 나타내는 블록도이다.
도 5는 호출하는 음성 작동 디바이스와 상호 작용하기 위한 시스템의 예를 나타내는 블록도이다.
도 6은 발신자 번호를 결정하는 프로세스의 예를 나타내는 흐름도이다.
도 7은 호출할 수신자 번호를 결정하기 위한 프로세스의 예를 나타내는 흐름도이다.
도 8은 음성 호출 중에 쿼리를 처리하기 위한 프로세스의 예를 나타내는 흐름도이다.
도 9는 컴퓨팅 디바이스의 예의 도면이다.
다양한 도면에서 유사한 참조 번호 및 명칭은 유사한 요소를 나타낸다.
도 1a 내지 도 1d는 시스템(100)에서의 상이한 예시적인 상호 작용을 나타내는 블록도이다. 시스템(100)은 사용자(110)가 터치에 의해 시스템(100)과 물리적으로 상호 작용하지 않고 수신자(155)를 호출하도록 사용자(110)에 의해 사용될 수 있는 음성 작동 디바이스(125)를 포함한다.
일부 구현예에서, 음성 작동 디바이스(125)는 사용자가 음성 작동 디바이스(125)를 어드레싱하기 위해 말하는 핫 워드(hotword)라고도 지칭되는 사전 결정된 문구를 포함하는 발언(utterance)을 검출하는 것에 응답하여 액션들을 수행할 수 있다. 예를 들어, 핫 워드는 사용자가 음성 작동 디바이스(125)에 말하는 임의의 요청에 앞서 사용자가 바로 말해야 하는 "OK 컴퓨터" 또는 일부 다른 문구일 수 있다.
발신자 번호로 호출하기 위해, 음성 작동 디바이스(125)는 특정 공지 사용자들에 의해 발화된 발언을 분류하여, 그 특정 공지 사용자의 발신자 번호로 호출할 수 있다. 공지 사용자는 시스템(100)의 사용자로서 등록된 사용자일 수 있고, 게스트 사용자는 시스템(100)의 사용자로서 등록되지 않은 사용자일 수 있다. 예를 들어, "엄마"는 음성 작동 디바이스(125)의 공지 사용자로 등록할 수 있고, 음성 작동 디바이스(125)는 발언이 공지 사용자 "엄마"에 의해 발화되었는지 여부를 차후에 분류할 수 있다.
예를 들어, 도 1a는 "OK 컴퓨터, 상점 X 호출(OK Computer, call Store X)"이라는 발언을 수신하여, 화자(speaker)를 공지 화자 "매트(Matt)"로 분류하고, "매트"에 대해 저장된 전화 번호로 상점 X에 대해 호출하는 음성 작동 디바이스(125)를 도시한다. 다른 예에서, 도 1b는 "OK 컴퓨터, 상점 X 호출"이라는 발언을 수신하여, 화자를 공지 화자 "아빠"로 분류하고, 상점 X로 익명 호출을 하는 음성 작동 디바이스(125)를 도시한다. 또 다른 예에서, 도 1c는 "OK 컴퓨터, 상점 X 호출"이라는 발언을 수신하여, 화자를 게스트 화자로 분류하고, 상점 X로 익명 호출을 하는 음성 작동 디바이스(125)를 도시한다.
또 다른 예에서, 도 1d는 "OK 컴퓨터, 긴급 호출"을 수신하여, 화자를 게스트 화자로 분류하고, 임시 번호로 긴급 서비스에 대한 호출을 하는 음성 작동 디바이스(125)를 도시한다. 임시 번호는 긴급 서비스가 적어도 특정 기간, 예를 들어 1 시간, 2 시간, 24 시간 동안 음성 작동 디바이스(125)로 콜백하는데 사용할 수 있는 음성 번호일 수 있다. 임시 번호는 그 임시 번호가 단지 긴급 상황 동안 콜백하도록 긴급 서비스에 의해 사용될 수 있도록 화자에게 알려지지 않을 수 있다.
보다 구체적으로, 음성 작동 디바이스(125)는 하나 이상의 마이크로폰과 하나 이상의 스피커를 포함할 수 있다. 음성 작동 디바이스(125)는 하나 이상의 마이크로폰을 사용하여 발언을 수신하여 하나 이상의 스피커를 통해 발언에 대한 가청 응답을 출력할 수 있다.
음성 작동 디바이스(125)는 음성 작동 디바이스(125)의 각각의 공지 사용자에 대한 사용자 계정 정보를 저장할 수 있다. 예를 들어, 음성 작동 디바이스(125)는 공지 사용자 "엄마"에 대한 제1 세트의 사용자 계정 정보(132), 공지 사용자 "아빠"에 대한 제2 세트의 사용자 계정 정보(134) 및 공지 사용자 "매트"에 대한 제3 세트의 사용자 계정 정보(136)를 저장할 수 있다.
사용자의 사용자 계정 정보는 사용자가 호출을 할 때 발신자 번호로 사용될 수 있는 음성 번호를 나타낼 수 있다. 예를 들어, "엄마"에 대한 제1 세트의 사용자 계정 정보(132)는 (555) 111-1111의 제1 전화 번호(140)를 저장하고, "아빠"에 대한 제2 세트의 사용자 계정 정보(134)는 비어 있고(즉, 저장된 전화 번호가 없음), "매트"에 대한 제3 세트의 사용자 계정 정보(136)는 (555) 222-2222의 제2 전화 번호(142)를 저장할 수 있다. 특정 실시예에서, 사용자에 대한 사용자 계정 정보는 "집", "직장", "모바일"등과 같은 다수의 번호를 저장할 수 있다.
사용자의 사용자 계정 정보는 화자가 사용자인지 여부를 인식하는데 사용될 수 있는 화자 식별 특징을 나타낼 수 있다. 예를 들어, "엄마"에 대한 제1 세트의 사용자 계정 정보(132)는 이전에 핫 워드를 여러 번 말한 사용자 "엄마"를 나타내는 특징 벡터를 집합적으로 형성할 수 있는 MFCC(mel-frequency cepstral coefficients) 특징을 저장할 수 있다.
일부 구현예에서, 사용자는 모바일 컴퓨팅 디바이스가 로컬 무선 연결을 통해 음성 작동 디바이스(125)와 통신하는 모바일 컴퓨팅 디바이스상의 컴패니언(동반) 애플리케이션을 통해 공지 사용자로 등록할 수 있다. 예를 들어, 사용자 "엄마"는 그녀의 전화기의 컴패니언 애플리케이션을 통해 자신의 계정에 로그인한 다음, 컴패니언 애플리케이션에서 자신이 음성 작동 디바이스(125)의 공지 사용자로 등록하고 싶다고 표시한 다음 그녀의 전화기에 핫 워드를 여러 번 말할 수 있다.
등록의 일부로서 또는 이후에, 사용자는 사용자가 음성 작동 디바이스 (125)를 사용하여 발신하는 호출에 대한 발신자 번호로서 사용하기 위해 음성 번호를 관련시키고자 하는지 여부를 나타낼 수 있다. 예를 들어, 사용자 "엄마"는 발신자 번호가 자신의 전화기의 전화 번호임을 나타내는 호출이 음성 작동 디바이스(125)에 의해 발신되기를 원한다는 것을 나타낼 수 있다. 다른 예에서, 사용자 "엄마"는 자신의 전화기가 예를 들어, 블루투스 연결을 통해 음성 작동 디바이스(125)에 연결될 때, 음성 작동 디바이스(125)에 의해 발신된 자신의 호출이 자신의 전화기를 통과하게 하고 싶다고 나타낼 수 있다 .
음성 작동 디바이스(125)는 호출 제공자의 유형을 통해 호출할 수 있다. 예를 들어, 음성 작동 디바이스(125)는 인터넷 연결을 가질수 있고 VoIP(Voice over Internet Protocol)를 사용하여 호출할 수 있다. 다른 예에서, 음성 작동 디바이스 (125)는 셀룰러 네트워크와 통신하여 셀룰러 네트워크를 사용하여 호출할 수 있다. 또 다른 예에서, 음성 작동 디바이스(125)는 셀룰러(또는 유선) 전화기와 통신하여, 전화기를 통해 전화를 걸기 때문에 사용자는 음성 작동 디바이스(125)에 말하고 들을 수 있지만 호출은 전화기를 통해 이루어진다.
일부 구현예에서, 사용자는 사용자가 사용하고 싶은 호출 제공자를 선택하는 것에 기초하여 사용자가 음성 작동 디바이스(125)를 사용하여 발신하는 호출에 대한 발신자 번호로 사용할 음성 번호를 나타낼 수 있다. 예를 들어, "엄마"는 자신이 또한 전화 번호(555) 111-1111을 사용하여 호출을 수신할 수 있는 제1 호출 제공자(예를 들어, 셀룰러 네트워크 제공자)를 통해 자신의 호출이 발신되기 원한다고 나타낸 후, 나중에 대신 전화 번호(555) 111-2222를 사용하여 호출을 수신할 수 있는 제2 호출 제공자(예를 들어, VoIP 제공자)를 통해 자신의 호출이 발신되기 원한다는 것을 나타낼 수 있다.
일부 구현예에서, 음성 작동 디바이스(125)는 컨텍스트 정보에 기초하여 발언을 특정 사용자가 발화한 것으로 분류할 수 있다. 컨텍스트 정보는 오디오, 시각 또는 다른 정보 중 하나 이상을 포함할 수 있다. 오디오 정보와 관련하여, 음성 작동 디바이스(125)는 공지 사용자의 하나 이상의 발언의 화자 식별 특징(예를 들어, 집합적으로 특징 벡터를 형성할 수 있는 MFCC 특징)에 기초하여 발언을 분류할 수 있다. 예를 들어, 음성 작동 디바이스(125)는 "OK 컴퓨터"라고 말하는 공지 사용자들 각각에 대한 화자 식별 특징을 저장할 수 있다.
"OK 컴퓨터"라고 말하는 공지 사용자 "아빠"의 저장된 화자 식별 특징들에 충분히 매칭하는 현재 수신된 발언의 화자 식별 특징들에 응답하여, 음성 작동 디바이스(125)는 발언을 공지 사용자 "아빠"에 의해 발화된 것으로 분류할 수 있다.
다른 예에서, 음성 작동 디바이스(125)는 발언의 전체 오디오에 기초하여 발언들을 분류할 수 있다. 예를 들어, 음성 작동 디바이스(125)는 전체 수신된 발언의 음성(speech)이 공지 사용자 "아빠"에 대응하는 음성과 매칭하는지 여부를 결정할 수 있다.
시각 정보와 관련하여, 음성 작동 디바이스(125)는 화자의 적어도 일부의 하나 이상의 이미지를 수신하고, 그 하나 이상의 이미지에 기초하여 화자를 인식하려고 시도할 수 있다. 예를 들어, 음성 작동 디바이스(125)는 카메라를 포함할 수 있고, 그 카메라의 시야 내의 화자가 음성 작동 디바이스(125)가 공지 사용자 "아빠"에 대응하는 얼굴과 매칭하는 것으로 분류하는 얼굴을 갖는지를 결정할 수 있다. 다른 예에서, 음성 작동 디바이스(125)는 화자의 지문, 망막 스캔, 얼굴 인식, 자세, 다른 디바이스의 공존, 또는 다른 디바이스 또는 소프트웨어 요소로부터의 신원 확인 중 하나 이상을 매칭시키려고 시도할 수 있다.
음성 작동 디바이스(125)는 원격 서버와 협력하여 호출을 하는 로컬 프론트-엔드 디바이스일 수 있다. 예를 들어, 음성 작동 디바이스(125)가 "OK 컴퓨터, 상점 X 호출"이라는 발언을 수신할 때, 음성 작동 디바이스(125)는 화자가 "OK 컴퓨터"라는 핫 워드를 말하는 시점을 검출하고, "OK 컴퓨터"라는 발언내의 화자 식별 특징에 기초하여 사용자를 "엄마"로 분류하고, "상점 X 호출(Call Store X)이라는 표현과 화자가 "엄마"라는 표시를 서버로 제공한다. 그런 다음 서버는 "상점 X 호출"를 전사(transcribe)하여, "상점 X 호출"이라는 텍스트가 호출을 발신하는 액션에 해당하는지, 상점 X가 (555) 999-9999의 전화 번호를 가지는지, "엄마"는 자신의 호출이 (555) 111-1111의 발신자 번호로 자신의 VoIP 계정을 통해 발신되어야한다고 표시했는지 결정할 수 있다. 서버는 "VoIP 계정(555) 111-1111로 (555) 999-9999 호출"이라는 명령을 음성 작동 디바이스(125)로 전송할 수 있다. 다른 구현예에서, 음성 작동 디바이스(125)는 원격 서버와 독립적으로 원격 서버에 의해 기술된 액션들을 수행할 수 있다.
일부 구현예에서, 음성 작동 디바이스(125)는 오디오 정보 및 시각 정보 외에 다른 정보에 기초하여 발언들을 분류할 수 있다. 구체적으로, 음성 작동 디바이스(125)는 발화한 사용자의 신원을 검증하기 위해 화자 식별 특징 및 사용자의 확인(confirmation)에 기초하여 발언을 분류할 수 있다. 부가적으로, 음성 작동 디바이스(125)는 발화한 사용자의 신원을 검증하기 위해 화자의 적어도 일부의 하나 이상의 수신된 이미지 및 사용자의 확인에 기초하여 발언을 분류할 수 있다. 예를 들어, 위에서 언급한 바와 같이, 음성 작동 디바이스(125)는 발화한 사용자로부터 하나 이상의 발언을 수신할 수 있다. 음성 작동 디바이스(125)는 하나 이상의 수신된 발언 내의 화자 식별 특징들이 "OK 컴퓨터"라고 말하는 공지 사용자 "아빠"의 저장된 화자 식별 특징들과 충분히 매칭되는지 결정할 수 있다. 이에 응답하여, 음성 작동 디바이스(125)는 사용자에게 "아빠가 말하고 있습니까?"라고 물음으로써 말하고 있는 사용자가 "아빠"라는 결정을 확인할 수 있다. 화자는 음성 작동 디바이스(125)의 확인을 검증하기 위해 "예" 또는 "아니오"로 답변함으로써 응답할 수 있다. 화자가 "아니오"라고 답변하면, 음성 작동 디바이스(125)는 화자의 이름은 무엇입니까?"와 같은 추가 질문을 물어, 그 이름이 음성 작동 디바이스(125)에 저장된 공지 사용자 이름과 매칭하는지 여부를 결정할 수 있다.
도 2는 호출하기 위한 프로세스(200)의 예를 도시하는 흐름도이다. 프로세스(200)의 동작들은 도 1a 내지 도 1d의 시스템(100)과 같은 하나 이상의 컴퓨팅 시스템에 의해 수행될 수 있다.
프로세스(200)는 발언을 수신하는 단계를 포함한다(210). 예를 들어, 음성 작동 디바이스(125)는 "OK 컴퓨터, (555) 999-9999 호출"이라는 발언을 수신할 수 있다.
프로세스(200)는 호출이 긴급 서비스에 대한 것인지 여부를 결정하는 단계를 포함한다(212). 예를 들어, 음성 작동 디바이스(125)는 (555) 999-9999가 임의의 긴급 서비스와 관련되지 않기 때문에 그 번호에 대한 호출이 긴급 서비스에 대한 호출이 아니라고 결정할 수 있다. 다른 예에서, 음성 작동 디바이스(125)는 번호 "911"이 긴급 서비스와 관련되기 때문에 그 번호 "911"에 대한 호출이 긴급 호출이라고 결정할 수 있다.
만약 프로세스(200)가 호출이 긴급 서비스에 대한 것이라고 결정하면, 프로세스(200)는 임시 번호로 호출을 개시하는 단계를 포함한다(214). 예를 들어, 음성 작동 디바이스(125)는 24시간 동안 음성 작동 디바이스(125)로 콜백하기 위해 사용될 수 있는 전화 번호를 호출 제공자가 생성한 다음, 임시 번호를 발신자 번호로 나타내는 긴급 서비스에 대한 호출을 개시하도록 요청할 수 있다.
만약 프로세스(200)가 호출이 긴급 서비스에 대한 것이 아니라고 결정하면, 프로세스(200)는 발언의 화자가 공지 사용자인지의 여부를 결정하는 단계를 포함한다(216). 예를 들어, 음성 작동 디바이스(125)는 화자를 공지 사용자 "매트"로 분류하는 것에 응답하여 "OK 컴퓨터, (555) 999-9999 호출"의 화자가 공지 사용자라고 결정할 수 있다. 다른 예에서, 음성 작동 디바이스(125)는 화자를 공지 사용자 "아빠"로 분류하는 것에 응답하여 화자가 공지 사용자라고 결정할 수 있다. 또 다른 예에서, 음성 작동 디바이스(125)는 화자를 게스트 사용자로 분류하는 것에 응답하여 화자가 공지 사용자가 아니라고 결정할 수 있다.
일부 구현예에서, 발언의 화자가 공지 사용자인지의 여부를 결정하는 단계는 발언 내의 음성이 특정 공지 사용자에 대응하는 음성과 매칭하는지 여부를 결정하는 단계를 포함한다. 예를 들어, 음성 작동 디바이스(125)는 화자가 "OK 컴퓨터"를 말한 방식이 공지 사용자 "매트"가 "OK 컴퓨터"를 말하는 방식과 매칭한다고 결정하고, 이에 응답하여 화자를 공지 사용자 "매트"로 분류할 수 있다. 다른 예에서, 음성 작동 디바이스(125)는 화자가 "OK 컴퓨터"를 말한 방식이 공지 사용자 "아빠"가 "OK 컴퓨터"를 말하는 방식과 매칭한다고 결정하고, 이에 응답하여 화자를 공지 사용자 "아빠"로 분류할 수 있다. 추가적으로 또는 대안적으로, 발언의 화자가 공지 사용자인지의 여부를 결정하는 단계는 화자의 적어도 일부의 시각적 이미지가 특정 공지 사용자에 대응하는 시각적 정보와 매칭하는지 여부를 결정하는 단계를 포함한다.
프로세스(200)가 발언의 화자가 공지 사용자라고 결정하면, 프로세스(200)는 공지 사용자가 개인 음성 번호와 관련되어 있는지 여부를 결정하는 단계를 포함한다(218). 예를 들어, 음성 작동 디바이스(125)는 공지 사용자 "매트"가 음성 작동 디바이스(125)를 통해 호출할 때 공지 사용자가 사용하고자 하는 호출 제공자를 나타내는 계정 정보를 가지고 있다고 결정하고, 이에 응답하여, 공지 사용자가 개인 전화 번호와 관련이 있다고 결정할 수 있다. 다른 예에서, 음성 작동 디바이스 (125)는 공지 사용자 "아빠"가 음성 작동 디바이스(125)를 통해 호출할 때 공지 사용자가 사용하고자 하는 호출 제공자를 나타내는 계정 정보를 가지고 있지 않다고 결정하고, 이에 응답하여, 공지 사용자가 개인 전화 번호와 관련이 없다고 결정할 수 있다.
프로세스(200)가 공지 사용자가 개인 음성 번호와 관련되어 있다고 결정하면, 프로세스(200)는 개인 음성 번호로 호출을 개시하는 단계를 포함한다(220). 예를 들어, 음성 작동 디바이스(125)는 "매트"의 계정 정보에 의해 표시된 호출 제공자에게 연락하여, 전화 번호(555) 999-9999로 "매트"를 호출하도록 요청할 수 있다.
단계(218)로 돌아가서, 프로세스(200)가 공지 사용자가 개인 음성 번호와 관련이 없다고 결정하면, 프로세스는 익명의 호출을 개시하는 단계를 포함한다(222). 예를 들어, 음성 작동 디바이스(125)는 호출 제공자에게 (555) 999-9999로 익명의 호출을 하도록 요청할 수 있다.
단계(216)로 돌아가서, 프로세스(200)가 발언의 화자가 공지 사용자가 아니라고 결정하면, 프로세스(200)는 단계(222)에 대해 전술한 바와 같이 익명의 호출을 개시하는 단계(222)를 포함한다.
호출이 긴급 서비스에 대한 호출인지 여부를 결정하는 단계(212)가 프로세스(200)에서 먼저 도시되었만, 프로세스(200)는 상이할 수 있다. 예를 들어, 프로세스(200)는 대신에 단계(216)에서 설명된 바와 같이 먼저 화자가 공지 사용자인지 결정한 다음, 단계(218)에서 전술한 바와 같이 공지 사용자가 개인 음성 번호와 관련되어 있는지 결정하고, 다음으로 단계(212)에서 전술한 바와 같이 호출이 긴급 서비스에 대한 것인지 결정한 다음 공지 사용자의 개인 음성 번호를 사용한다. 음성 작동 디바이스(125)를 위한 임시 번호 대신에, 공지 사용자의 개인 음성 번호를 긴급 응답자에게 제공하는 한 가지 이유는, 긴급 응답자는 공지 사용자가 음성 작동 디바이스(125) 근처에 있는지 여부에 관계없이 공지 사용자에게 연락할 수 있기 때문이다.
도 3은 호출할 음성 번호를 결정하기 위한 프로세스(300)의 예를 예시하는 흐름도이다. 프로세스(300)의 동작들은 도 1a 내지 도 1d의 시스템(100)과 같은 하나 이상의 컴퓨팅 시스템에 의해 수행될 수 있다.
프로세스(300)는 호출을 요청하는 발언을 수신하는 단계를 포함한다(310). 예를 들어, 음성 작동 디바이스(125)는 "OK 컴퓨터, 할머니 호출"과 같은 호출을 요청하는 사용자(110)의 발언을 수신할 수 있다.
프로세스(300)는 발언의 화자가 공지 사용자인지 여부를 결정하는 단계를 포함한다(312). 예를 들어, 음성 작동 디바이스(125)는 화자를 공지 사용자 "엄마"로 분류할 수 있다.
프로세스(300)가 발언의 화자가 공지 사용자라고 결정하면, 프로세스(300)는 개인 연락처가 그 공지 사용자에 대해 이용 가능한지 여부를 결정하는 단계를 포함한다(314). 예를 들어, 음성 작동 디바이스(125)는 음성 작동 디바이스(125)가 공지 사용자 "엄마"에 대한 연락처 기록에 액세스할 수 있다는 결정에 기초하여 개인 연락처가 공지 사용자 "엄마"에 대해 이용 가능하다고 결정할 수 있다. 공지 사용자의 개인 연락처는 공지 사용자를 위해 작성된 전화 연락처 항목(entries)을 참조할 수 있다. 예를 들어, 공지 사용자는 새로운 전화 연락처 항목을 만들기 위한 인터페이스 열고, 전화 번호 "(123) 456-7890"과 연락처 이름 "존 도우"를 입력(typing)한 다음, "존 도우"의 이름으로 라벨링되고 "(123) 456-7890"의 전화 번호를 나타내는 전화 항목을 생성하도록 선택함으로써 공지 사용자에 대한 전화 연락처 항목을 생성할 수 있다. 공지 사용자의 연락처 목록은 공지 사용자에 대한 모든 개인 연락처들에 의해 형성될 수 있다. 예를 들어, 공지 사용자에 대한 연락처 목록에는 "존 도우"에 대한 연락처 항목과 공지 사용자가 생성한 다른 연락처 항목들이 포함될 수 있다.
프로세스(300)가 개인 연락처가 공지 사용자에 대해 이용 가능하다고 결정하면, 프로세스(300)는 개인 연락처를 사용하여 수신자와 관련된 번호를 결정하는 단계를 포함한다(316). 예를 들어, 음성 작동 디바이스(125)는 공지 사용자 "엄마"의 연락처 기록으로부터, 수신자 "할머니"에 대한 개인 연락처 목록을 스캔하여 "할머니"와 관련된 번호들을 검색한다.
단계(314)로 돌아가서, 프로세스(300)가 공지 사용자에 대한 개인 연락처가 이용 가능하지 않다고 결정하면, 프로세스(300)는 공지 사용자와 관련된 개인 연락처 없이 수신자 번호를 결정하는 단계를 포함한다(318). 예를 들어, 음성 작동 디바이스(125)는 인터넷을 통해 수신자 번호를 검색할 수 있다. 이 예에서, 음성 작동 디바이스(125)는 지리적 위치 서비스를 사용하여 공지 사용자 근처에 있을 수 있고 수신자 번호를 식별할 수 없는 "할머니"에 대응하는 수신자 번호들을 인터넷에서 검색하여, "연락처를 찾을 수 없습니다"라는 음성 메시지를 공지 사용자에게 제공할 수 있다. 수신자 번호가 발견되지 않으면, 음성 작동 디바이스(125)는 화자에게 호출할 음성 번호를 말하도록 프롬프트한 후 해당 번호로 호출할 수 있다.
단계(312)로 돌아가서, 프로세스(300)가 발언의 화자가 공지 사용자가 아니라고 결정하면, 프로세스(300)는 전술한 바와 같이 개인 연락처 없이 수신자 번호를 결정하는 단계를 포함한다(318).
도 4는 호출 중에 음성 작동 디바이스와의 예시적인 상호 작용을 나타내는 블록도이다. 도 4는 표시된 순서로 또는 다른 순서로 수행될 수 있는 스테이지(A) 내지 (C)에서의 다양한 동작을 도시한다.
일부 구현예에서, 음성 작동 디바이스(125)는 사용자가 호출 중에 음성 작동 디바이스(125)를 어드레싱하기 위해 말하는 핫 워드와 같은 미리 결정된 문구를 포함하는 발언을 검출하는 것에 응답하여 액션들을 수행할 수 있다. 예를 들어, 도 4는 "OK 컴퓨터, 상점 X 호출"이라는 발언을 수신하고, 화자를 공지 화자 "매트"로 분류하고, "매트"에 대한 저장된 전화 번호로 상점 X를 호출하는 음성 작동 디바이스(125)를 도시한다. 또한, 화자 "매트"는 수신자(155)에게 들리지 않는 호출 중에 음성 작동 디바이스(125)로 커맨드(음성 명령)를 전달할 수 있다. 전화 호출 중 커맨드에 응답하여, 음성 작동 디바이스(125)는 수신자로부터의 발언의 적어도 일부를 차단할 수 있다.
스테이지(A) 동안, 음성 작동 디바이스(125)는 "OK 컴퓨터, 상점 X 호출"이라는 발언(120)을 수신한다. 발언(120)을 수신한 것에 응답하여, 음성 작동 디바이스(125)는 전술한 방법 중 하나를 사용하여 화자를 공지 화자 "매트"로 분류하고, "당신의 번호로 상점 X 호출"을 낭송하는(reciting) 응답을 "매트"에게 반환한다. 그 응답은 음성 작동 디바이스(125)가 화자를 분류하고, 커맨드와 관련된 액션을 취하고, "매트"와 관련된 숫자를 사용함으로써 그 발언을 이해했음을 사용자(110)에게 표시한다. 스테이지(B) 동안, 음성 작동 디바이스(125)는 수신자(155), 예를 들어 상점 X에 대한 호출을 개시한다. 예를 들어, 음성 작동 디바이스(125)는 사용자(110)와 수신자(155) 사이의 전화 호출을 개시한다. 음성 작동 디바이스(125)는 사용자를 콜백하기 위해 수신자(155)가 사용할 수 있는 사용자(110)의 번호를 사용하여 수신자(155)를 호출한다. 수신자(155)는 "안녕하세요(Hello)?"라고 말함으로써 전화 호출에 응답한다. 이에 응답하여, 사용자(110)는 음성 작동 디바이스(125)를 통해 수신자(155)에게 "저기(Hey) 상점 열었습니까?"라고 말한다. 수신자(155)는 "예, 오후 10시에 닫습니다"로 응답한다.
스테이지(B) 동안, 음성 작동 디바이스(125)는 수신자(155)와의 전화 호출 중에 사용자(110)의 커맨드로부터 핫 워드를 검출한다. 예를 들어, 음성 작동 디바이스(125)는 "OK 컴퓨터, 몇시야?"라고 낭송하는 커맨드를 사용자(110)로부터 획득한다. 전화 호출 중 수신된 발언에 응답하여, 음성 작동 디바이스(125)는 사용자(110)가 말한 핫 워드 "OK 컴퓨터"를 전송하지만 그 핫 워드 이후의 커맨드를 차단하으로, 수신자(155)는 "OK 컴퓨터"는 들을 수 있지만 "몇시야?"는 들을 수 없다. 음성 작동 디바이스(125)는 수신자가 응답을 듣지 않도록 "오후 9시 입니다"를 낭송하여 사용자(110)에게만 응답한다. 대안적으로, 음성 작동 디바이스(125)가 호출의 일부로서 수신자에게 동일한 것을 브로드캐스트하기 전에 핫 워드를 검출할 수 있게 하기 위해 통신에 대기 시간(latency)이 도입될 수 있다. 이러한 방식으로, 핫 워드와 관련된 명령뿐만 아니라 핫 워드 자체가 호출의 일부로서 수신자에게 전달되는 것을 차단할 수 있다.
일부 구현예에서, 음성 작동 디바이스(125)는 사용자(110)가 핫 워드를 말한 것을 검출한 후 사용자(110)와 수신자(155) 사이에 양방향 홀드(2-way hold)를 설정(place)함으로써 수신자(155)가 사용자(110)와 음성 작동 디바이스(125) 사이의 통신을 청취하는 것을 방지할 수 있다. 양방향 홀드 동안, 수신자(155)와 사용자(110)는 서로를 들을 수 없을 수 있다. 예를 들어, "OK 컴퓨터, 몇 시야"라는 발언을 수신하는 것에 응답하여, 음성 작동 디바이스(125)는 "OK 컴퓨터" 직후 및 "몇 시야?"전에 양방향 홀드를 설정하여, 상점 X에 있는 수신자(155)가 "OK 컴퓨터"만 들을 수 있도록 할 수 있다.
음성 작동 디바이스(125)는 일단 음성 작동 디바이스(125)가 사용자로부터의 커맨드가 해결되었다고 결정하면 양방향 홀드를 종료할 수 있다. 예를 들어, 음성 작동 디바이스(125)는 "오후 9시 입니다"라는 응답이 "몇시야"라는 사용자의 질문에 대답한다고 결정하고, 이에 응답하여 양방향 홀드를 종료한다. 다른 예에서, 음성 작동 디바이스(125)는 "어느 날 오후 7시에 알람을 설정하겠습니까?"라고 응답하고, 사용자(110)가 "OK 컴퓨터, 오후 7시에 알람을 설정해 줘"라고 말하는 사용자(110)에 응답하여 사용자(110)가 날짜(day)를 제공하도록 양방향 홀드를 계속할 수 있다. 다른 실시예에서, 사용자(110)는 예를 들어 "OK 컴퓨터, 호출 홀드"를 낭송함으로써, 음성 작동 디바이스(125)가 호출을 홀드하도록 요청할 수 있다. 음성 작동 디바이스(125)는 사용자가 예를 들어 "OK 컴퓨터, 호출 재개"라고 낭송함으로써 그 홀드를 종료하도록 사용자가 요청할 때까지 호출을 계속 홀드할 수 있다.
일부 구현예에서, 음성 작동 디바이스(125)는 사용자(110)와 긴 상호 작용을 갖는 커맨드를 차단할 수 있다. 예를 들어, 음성 작동 디바이스(125)는 음악, 뉴스 또는 팟캐스트와 같은 미디어 재생, 일일 브리핑 재생, 제3자 대화 액션; 추가 전화 호출 및 퀴즈 같은 게임 재생과 관련된 특징을 차단할 수 있다. 음성 작동 디바이스(125)는 이들 특징을 차단할 때 "죄송합니다, 호출 중에 음악을 재생할 수 없습니다"를 출력하거나 이러한 작업들 중 하나와 관련된 임의의 커맨드를 무시하고 전화 호출을 계속할 때 오류를 제공할 수 있다.
스테이지(C) 동안, 음성 작동 디바이스(125)는 상점 X의 수신자(155)와의 전화 호출 동안 사용자(110)의 다른 커맨드로부터 핫 워드를 검출한다. 예를 들어, 음성 작동 디바이스(125)는 "OK 컴퓨터, 끊어(hang up)"를 낭송하는 커맨드를 사용자로부터 획득한다. 전화 호출 중 수신된 발언에 응답하여, 음성 작동 디바이스(125)는 "호출이 종료되었습니다(Call Ended)" 또는 비언어적 오디오 큐를 낭송하여 사용자(110)에게 응답한다. 부가적으로, 음성 작동 디바이스(125)는 "호출 종료" 또는 비언어적 오디오 큐를 상점 X의 수신자(155)에게 전송하지 않는다.
도 5는 호출하는 음성 작동 디바이스와 상호 작용하기 위한 시스템(500)의 예를 나타내는 블록도이다. 시스템(500)은 음성 작동 디바이스(125), 어시스턴트 서버(502), 연락처 데이터베이스(504), 음성 서버(506), 클라이언트 디바이스 (510), 네트워크(508) 및 통신 링크(512, 514)를 포함한다.
일부 구현예에서, 음성 작동 디바이스(125)는 하나 이상의 컴퓨터를 포함할 수 있고, 다수의 지리적 위치에 걸쳐 분산된 컴퓨터를 포함할 수 있다. 음성 작동 디바이스(125)는 하나 이상의 클라이언트 디바이스(510), 어시스턴트 서버(502) 및 음성 서버(506)와 통신한다.
일부 구현예에서, 어시스턴트 서버(502)와 음성 서버(506)는 각각 하나 이상의 컴퓨터를 포함할 수 있고, 다수의 지리적 위치에 걸쳐 분산된 컴퓨터를 포함할 수 있다. 어시스턴트 서버(502)는 음성 작동 디바이스(125) 및 연락처 데이터베이스(504)와 통신한다. 음성 서버(506)는 음성 작동 디바이스(125) 및 상점 X와 같은 하나 이상의 수신자와 통신한다.
클라이언트 디바이스(510)는 예를 들어 데스크탑 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 웨어러블 컴퓨터, 셀룰러 폰, 스마트폰, 음악 플레이어, 전자 책 리더, 내비게이션 시스템 또는 임의의 다른 적절한 컴퓨팅 디바이스일 수 있다. 네트워크(508)는 둘의 조합의 유선 또는 무선일 수 있고, 인터넷을 포함할 수 있다.
일부 구현예에서, 음성 작동 디바이스(125)는 블루투스, WiFi 또는 다른 단거리 통신 프로토콜들과 같은 단거리 통신 프로토콜들을 사용하여 통신 링크들(512)을 통해 클라이언트 디바이스들(510)에 연결될 수 있다. 예를 들어, 음성 작동 디바이스(125)는 각각 관련 통신 링크(512)와 최대 7개의 상이한 클라이언트 디바이스(510)를 페어링하고 연결할 수 있다. 일부 구현예에서, 음성 작동 디바이스(125)는 임의의 주어진 시간에 클라이언트 디바이스들(510) 중 하나로부터의 오디오를 라우팅할 수 있다.
일부 구현예에서, 음성 작동 디바이스(125)는 사용자(110)로부터 "OK 컴퓨터, 상점 X 호출"이라는 발언(120)를 수신할 수 있다. 음성 작동 디바이스(125)는 화자(사용자(110))를 공지 화자 "매트(매트)"로 분류할 수 있다. 예를 들어, 음성 작동 디바이스(125)는 "매트"와 관련된 사용자 계정 정보에 포함된 화자 식별 특징을 사용자(110)가 말한 상기 수신된 핫 워드와 비교할 수 있다. 음성 작동 디바이스(125)는 그 비교에 응답하여 사용자(110)가 "매트"라고 결정할 수 있다. 일부 구현예에서, 그런 다음 음성 작동 디바이스(125)는 추가 처리를 위해 그 발언의 오디오 표현을 어시스턴트 서버(502)에 쿼리로서 전송할 수 있다.
일부 구현예에서, 음성 작동 디바이스(125)는 사용자(110)가 호출하도록 요청할 때 다양한 이벤트를 중지할 수 있다. 예를 들어, 음성 작동 디바이스(125)는 일단 사용자가 "OK 컴퓨터, 상점 X 호출"이라고 말하면 음악 또는 알람의 재생을 중지할 수 있다. 사용자(110)가 호출하도록 요청할 때 다양한 이벤트를 중지하기 위해, 음성 작동 디바이스(125)는 사용자가 호출을 요청할 때 중지되어야 하는 특정 유형의 이벤트들을 저장할 수 있고, 사용자가 호출하고 있음을 검출하는 것에 응답하여, 저장된 특정 유형의 이벤트들을 종료한다. 예를 들어, 음성 작동 디바이스(125)는 사용자가 호출할 때 음악 및 알람을 재생하는 이벤트가 중지되어야 한다는 것을 저장할 수 있고, 사용자가 호출하고 있음을 검출하는 것에 응답하여, 음악 및 알람을 재생하는 임의의 이벤트를 종료하지만 다른 이벤트는 계속할 수 있다.
일부 구현예에서, 음성 작동 디바이스(125)는 전화 호출을 하기 전에 사용자(110)가 임의의 이벤트들을 디스에이블하도록 요구할 수 있다. 예를 들어, 음성 작동 디바이스(125)는 알람 또는 타이머로 인해 현재 음악 재생 또는 링잉 (ringing) 중일 수 있다. 음성 작동 디바이스(125)는 사용자(110)가 알람 또는 타이머로 인한 음악 또는 링잉을 해제할 때까지 사용자(110)가 임의의 호출을 하도록 허용하지 않을 수 있다. 일부 구현예에서, 사용자(110)는 각각 "OK 컴퓨터 음악 꺼" 또는 "OK 컴퓨터, 알람 꺼"라고 말함으로써 알람 또는 타이머로 인한 음악 또는 링잉을 디스에이블할 수 있다. 다른 구현예에서, 사용자(110)는 음성 작동 디바이스(125)상의 대화식 버튼을 탭핑(tapping)함으로써 알람 또는 타이머로 인한 음악 또는 링잉을 디스에이블할 수 있다. 예를 들어, 음성 작동 디바이스(125)는 사용자가 호출하도록 요청할 때 디스에이블하기 위해 사용자 상호 작용을 필요로 하는 특정 이벤트들을 저장할 수 있다. 사용자가 호출하도록 요청하고 특정 이벤트 중 적어도 하나가 발생하고 있음을 검출한 것에 응답하여, 음성 작동 디바이스(125)는 "호출하기 전에 이벤트를 디스에이블하십시오"라는 말하는 경고 메시지를 사용자에게 낭독하고, 호출하라는 요청을 무시할 수 있다. 일단 사용자가 음성 작동 디바이스(125)에게 특정 이벤트를 디스에이블하도록 커맨드하면, 음성 명령을 음성 작동 디바이스(125)에 전송하거나 음성 작동 디바이스(125)상의 대화식 버튼을 탭함으로써, 사용자는 음성 작동 디바이스(125)에게 호출하도록 요청할 수 있다.
일부 구현예에서, 음성 작동 디바이스(125)는 호출하라는 커맨드를 사용자 (110)로부터 수신하는 것에 응답하여 사용자(110)에게 다가올(upcoming) 알람을 경고할 수 있다. 예를 들어, 사용자(110)는 오후 6시 30분에 음성 작동 디바이스 (125)에서 울리도록 알람을 설정할 수 있다. 사용자(110)는 오후 6시 29분에 음성 작동 디바이스(125)에게 "OK 컴퓨터, 상점 X" 호출"이라는 발언을 말할 수 있다. 그 발언을 수신한 것에 응답하여, 음성 작동 디바이스(125)는 "전화 호출하기 전에 알람을 디스에이블하십시오" 또는 "알람이 1분 내인 오후 6시 30분에 설정되어 있습니다, 호출하기 전에 알람을 비활성화하시겠습니까?"라고 사용자에게 출력할 수 있다. 이어서, 사용자(110)는 음성 작동 디바이스(125)를 이용하여 호출하기 전에알람을 디스에이블하거나 알람을 패스하도록 할 수 있다.
일부 구현예에서, 음성 작동 디바이스(125)는 알람이 사전 결정된 길이의 시간, 예를 들어, 호출되고 있는 전화 호출의 1분, 5분, 15분 또는 일부 다른 길이의 시간 내에 울리도록 설정되어 있는지 여부를 결정하는 것에 기초하여 다가올 알람을 사용자(110)에게 경고할 수 있다. 예를 들어, 음성 작동 디바이스(125)는 오후 6시 29분에 호출하라는 요청을 수신하여, 오후 6시 29분의 5분 내에 알람이 오후 6시 30분으로 설정되어 있는지 결정하고, 알람이 오후 6시 29분의 5분 내에 설정되어 있다는 결정에 응답하여, 다가올 알람의 경고를 사용자(110)에게 제공할 수 있다.
일부 구현예에서, 어시스턴트 서버(502)는 요청(516)을 획득한다. 예를 들어, 음성 작동 디바이스(125)는 사용자(110)로부터 수신된 발언의 오디오 표현을 나타내는 검색 요청을 포함하는 데이터를 전송할 수 있다. 데이터는 식별된 공지 화자 "매트", 발언의 오디오 표현, "OK 컴퓨터, 상점 X 호출"(120), 음성 작동 디바이스(125)와 관련된 고유 ID 및 식별된 공지 화자 "매트"와 관련된 개인 결과 비트를 나타낼 수 있다. 음성 작동 디바이스(125)와 관련된 고유 ID는 어시스턴트 서버(502)에게 응답을 전송할 곳을 지시한다. 예를 들어, 고유 ID는 IP 어드레스, URL 또는 음성 작동 디바이스(125)와 관련된 주소일 수 있다.
일부 구현예에서, 어시스턴트 서버(502)는 획득된 요청(516)을 처리한다. 구체적으로, 어시스턴트 서버(502)는 획득된 요청(516)을 분석하여 발언와 관련된 커맨드를 결정한다. 예를 들어, 어시스턴트 서버(502)는 발언의 오디오 표현을 발언의 텍스트 표현으로 변환함으로써 획득된 요청(516)을 처리할 수 있다. 변환에 응답하여, 어시스턴트 서버(502)는 핫 워드 "상점 X 호출" 다음의 커맨드에 대한 텍스트 표현을 분석한다. 일부 구현예에서, 어시스턴트 서버(502)는 텍스트 커맨드와 관련된 액션을 결정한다. 예를 들어, 어시스턴트 서버(502)는 텍스트 액션 "호출"을 저장된 텍스트 액션과 비교함으로써 상기 획득된 요청(516)의 액션이 "상점 X" 호출"인 것으로 결정한다.
또한, 어시스턴트 서버(502)는 연락처 데이터베이스(504)에 액세스함으로써 수신자 "상점 X"에 대한 번호를 분석한다. 일부 구현예에서, 어시스턴트 서버(502)는 연락처 데이터베이스(504)에 액세스하여 공지 사용자와 관련된 연락처를 검색한다. 연락처 데이터베이스(504)는 연락처들과 관련된 공지 사용자 이름으로 연락처들을 색인화함으로써 연락처를 저장한다. 예를 들어, 연락처 데이터베이스(504)는 "매트"와 관련된 개인 연락처를 더 포함하는 "매트"를 위한 항목을 포함한다. 개인 연락처는 "엄마"-(555) 111-1111, "아빠"-(555) 222-2222 및 "상점 X"-(555) 333-3333과 같은 이름 및 관련 번호를 포함한다.
부가적으로, 어시스턴트 서버(502)는 개인 결과 비트가 인에이블될 때 상기 획득된 요청(516)에서 수신된 수신자에 대한 번호만을 분석할 수 있다. 만약 개인 결과 비트가 인에이블되지 않거나 "0"이면, 어시스턴트 서버(502)는 음성 작동 디바이스(125)에게 나타내기 위하여 액션 메시지(518)에 식별자를 전송하여, "컴퓨터가 개인 연락처에 액세스하도록 하십시요"를 낭송하는 메시지를 사용자(110)에게 중계한다. 만약 개인 결과 비트가 인에이블되거나 "1"이면, 어시스턴트 서버(502)는 식별된 공지 화자의 개인 연락처에 대한 연락처 데이터베이스(504)에 액세스한다. 일부 구현예에서, 어시스턴트 서버(502)는 식별된 공지 화자의 개인 연락처에서 수신자와 관련된 번호를 검색한다. 이 예에서, 어시스턴트 서버(502)는 상점 X에 대한 번호(555) 333-3333을 검색한다. 다른 구현예에서, 수신자의 번호는 핫 워드 다음의 커맨드에 대한 텍스트 표현에 포함될 수 있다. 예를 들어, 커맨드는 "OK 컴퓨터, 555-333-3333 호출"을 포함할 수 있다.
일부 구현예에서, 어시스턴트 서버(502)는 획득된 요청(516)에서 연락처 데이터베이스(504) 내의 식별된 공지 화자의 개인 연락처에서 발견되지 않은 수신자를 식별할 수 있다. 예를 들어, 어시스턴트 서버(502)는 획득된 요청(516)으로부터 핫 워드 다음에 오는 커맨드에 대한 텍스트 표현이 "할머니 호출"를 포함한다고 결정할 수 있다. 그러나, "매트"와 관련된 연락처 데이터베이스(504)로부터의 개인 연락처는 "할머니"에 대한 항목을 포함하지 않는다. 오히려, 그 연락처는 "엄마", "아빠" 및 "상점 X"를 포함한다. 수신자 "할머니"에 대한 번호를 분석하기 위해, 어시스턴트 서버(502)는 "할머니"에 대한 번호를 찾기 위해 다른 데이터베이스 및/또는 인터넷을 검색할 수 있다.
다른 데이터베이스 및/또는 인터넷을 검색할 때, 어시스턴트 서버(502)는 지식 그래프를 검색할 수 있다. 예를 들어, 어시스턴트 서버(502)는 "회사 X 고객 서비스"를 사용자의 개인 연락처의 임의의 기록과 매칭시키지 않고, "회사 X 고객 서비스"라는 이름을 갖는 엔티티에 대한 지식 그래프를 검색하여, 해당 엔티티에 대해 지식 그래프에 저장된 전화 번호를 식별할 수 있다.
일부 구현예에서, 커맨드는 음성 작동 디바이스(125)에 지리적으로 근접한 업체를 호출하는 것을 포함할 수 있다. 어시스턴트 서버(502)는 음성 작동 디바이스(125)에 가장 가까운 업체와 관련된 음성 번호에 대해 인터넷을 검색할 수 있다. 그러나, 어시스턴트 서버(502)가 상기 요청된 수신자와 관련된 번호를 찾지 못하면, 어시스턴트 서버(502)는 음성 작동 디바이스(125)에게 지시하도록 액션 메시지(518)에 식별자를 전송하여, "연락처를 찾을 수 없습니다(Contact Not Found)"를 낭송하는 메시지를 사용자(110)에게 중계할 수 있다. 예를 들어, 어시스턴트 서버(502)는 개인 연락처 기록 또는 지식 그래프에서 "상점 X"에 대한 전화 번호를 찾지 못하면, "상점 X"라는 이름의 인근 지역 업체에 대해 지도 데이터베이스에서 검색할 수 있다.
일부 구현예에서, 어시스턴트 서버(502)는 커맨드에 포함된 번호가 지원되지 않는 음성 번호일 수 있다고 결정할 수 있다. 예를 들어, 번호는 123-4567과 같은 7자리만 포함할 수 있다. 이에 응답하여, 어시스턴트 서버(502)는 음성 작동 디바이스(125)에게 지시하도록 액션 메시지(518)에 식별자를 전송하여, "지원되지 않는 전화 번호입니다(Phone Number Not Supported)"를 낭송하는 메시지를 사용자(110)에게 중계할 수 있다.
수신자와 관련된 연락처 번호를 결정하는 것에 응답하여, 어시스턴트 서버(502)는 음성 작동 디바이스(125)에 액션 메시지(518)를 생성한다. 구체적으로, 액션 메시지(518)는 연락처 번호 및 호출을 트리거하는 액션을 포함할 수 있다. 예를 들어, 액션 메시지(518)는 555-333-3333로 "상점 X"에 대한 전화 번호 및 "상점 X"를 즉시 호출하도록 음성 작동 디바이스(125)에 지시하는 액션을 포함할 수 있다. 일부 구현예에서, 어시스턴트 서버(502)는 커맨드의 컨텍스트에 기초하여 사용할 아웃바운드 번호를 액션 메시지(518)에 포함할 수 있다. 예를 들어, 커맨드가 긴급 서비스에 대한 호출을 포함하면, 어시스턴트 서버(502)는 수신자(155)가 특정 기간의 시간 동안 음성 작동 디바이스(125)를 콜백하는데 사용할 수 있는 번호를 액션 메시지(518)에 포함할 수 있다. 예를 들어, (555) 888-8888의 전화 번호가 다음 몇 시간 동안 음성 작동 디바이스(125)로 콜백하는데 사용될 수 있다.
일부 구현예에서, 음성 작동 디바이스(125)는 어시스턴트 서버(502)로부터 액션 메시지(518)를 획득한다. 액션 메시지(518)를 획득한 것에 응답하여, 음성 작동 디바이스(125)는 액션 메시지(518)에 대해 액션을 취한다. 예를 들어, 액션 메시지는 표시된 전화 번호(555-333-3333)를 사용하여 "상점 X"를 호출하도록 음성 작동 디바이스(125)에 지시한다.
일부 구현예에서, 음성 작동 디바이스(125)는 사용자(110)의 선호도에 기초하여 음성 서버(506) 또는 관련 클라이언트 디바이스(510)를 사용하여 어시스턴트 서버(502)에 의해 지정된 수신자를 호출할 수 있다. 구체적으로, 사용자(110)의 선호도는 음성 작동 디바이스(125)에 저장될 수 있다. 예를 들어, 음성 작동 디바이스(125)는 사용자(110)의 선호도가 임의의 아웃바운드 호출에 대해 음성 서버(506) 또는 VoIP를 사용하는지 것인지 결정할 수 있다. 이와 같이, 음성 작동 디바이스(125)는 수신자를 호출하라는 표시를 음성 서버(506)로 전송한다. 일부 구현예에서, 음성 서버(506)는 아웃바운드 호출에 대해 관련 번호를 사용할 수 있다. 일부 구현예에서, 음성 작동 디바이스(125)는 사용자가 다수의 상이한 VoIP 제공자들 중에서 하나의 VoIP 제공자를 사용하도록 선택하고, 그 사용자가 향후 호출을 개시할 때 해당 VoIP 제공자를 사용할 수 있게 한다.
일부 구현예에서, 음성 작동 디바이스(125)는 사용자(110)가 음성 작동 디바이스(125) 근처에 있다는 결정에 응답하여 음성 서버(506)와 연관된 번호를 사용하여 긴급 서비스들을 호출할 수 있다. 예를 들어, 음성 작동 디바이스(125)는 클라이언트 디바이스들(510) 중 하나가 음성 작동 디바이스(125)에 연결되었다는 결정에 응답하여 음성 서버(506)와 연련된 번호를 사용하여 긴급 서비스를 호출할 수 있다. 클라이언트 디바이스(510)와 음성 작동 디바이스(125) 사이의 연결을 보장함으로써 음성 작동 디바이스(125)는 사용자(110)가 음성 작동 디바이스(125) 근처에 있음을 보장할 수 있다.
대안적으로, 음성 작동 디바이스(125)는 사용자(110)의 제2(secondary) 선호도가 수신자에게 아웃바운드 호출을 하도록 기존 클라이언트 디바이스(510)를 사용하는 것이라고 결정할 수 있다. 음성 작동 디바이스(125)가 사용자(110)의 제2 선호도가 관련 클라이언트 디바이스(510)를 사용하여 수신자를 호출하는 것이라고 결정하면, 음성 작동 디바이스(125)는 클라이언트 디바이스(510)에 대한 통신 링크(512)를 검증할 것이다. 예를 들어, 음성 작동 디바이스(125)는 클라이언트 디바이스(510)에 대한 블루투스 연결을 검증할 수 있다. 음성 작동 디바이스(125)가 클라이언트 디바이스(510)에 대한 블루투스 연결을 생성할 수 없다면, 음성 작동 디바이스(125)는 "블루투스 연결이 활성화되어 있는지 확인하십시오"라고 낭송하는 메시지를 사용자(110)에게 중계할 수 있다. 일단 블루투스 연결이 설정되면, 음성 작동 디바이스(125)는 수신자를 호출하라는 표시를 클라이언트 디바이스(510)로 전송한다. 다른 실시예에서, 음성 작동 디바이스(125)가 단거리 통신 프로토콜의 임의의 수단으로 클라이언트 디바이스(510)를 발견할 수 없는 경우, 음성 작동 디바이스(125)는 수신자에 대한 음성 서버(506)와의 개인 번호를 사용하여 수신자에게 전화 호출할 수 있다.
일부 구현예에서, 음성 작동 디바이스(125)는 수신자 전화기에 대한 연결에 응답하여 사용자(110)가 들을 수 있는 가청 사운드를 재생할 수 있다. 예를 들어, 음성 작동 디바이스(125)는 수신자 전화기가 응답할 수 있는 경우 가청 링톤 (ringing tone)를 재생할 수 있다. 다른 예에서, 음성 작동 디바이스(125)는 수신자 전화기가 응답할 수 없는 경우 통화중 신호음(busy signal tone)을 재생할 수 있다. 다른 예에서, 음성 작동 디바이스(125)는 "지원되지 않는 전화 번호입니다"와 같이, 수신자 전화 번호가 유효하지 않으면 사용자에게 음성 메시지를 제공할 수 있다. 다른 실시예들에서, 사용자(110)는 음성 작동 디바이스(125)의 대화식 버튼을 탭하여, 수신자 전화기로 호출을 연결하려는 시도하는 동안에 수신자 전화기에 대한 호출을 끊을 수 있다.
일부 구현예에서, 음성 작동 디바이스(125)는 사용자(110)에 의해 행해진 가장 최근의 호출을 재다이얼할 수 있다. 예를 들어, 사용자(110)는 번호를 말하지 않고 "OK 컴퓨터, 재다이얼"라고 말할 수 있고, 음성 작동 디바이스(125)는 호출된 마지막 수신자 번호를 재다이얼할 것이다. 일부 구현예에서, 음성 작동 디바이스(125)가 가장 최근 호출을 재 다이얼하기 위해, 음성 작동 디바이스 (125)는 가장 최근 호출과 관련된 설정을 각각의 호출 후 메모리에 저장한다. 메모리에서 가장 최근 호출과 관련된 설정은 호출할 사용자, 호출하는데 사용된 번호 및 수신자 번호를 포함한다.
일부 구현예에서, 음성 작동 디바이스(125)는 대화식 음성 응답 시스템을 탐색하기 위해 DTMF(Dual Tone Multiple Frequencies) 톤들을 수신할 수 있다. 예를 들어, 사용자(110)는 "OK 컴퓨터, N 프레스(press)"라고 말할 수 있는데, 여기서 N은 * 키, # 키 또는 0과 9 사이의 수이다. 이에 응답하여, 음성 작동 디바이스(125)는 "OK 컴퓨터"를 검출한 후 양방향 홀드를 설정하고, 수신자(155)에게 전송되는 숫자 N에 대한 다이얼 톤을 생성하고, 그 양방향 홀드를 종료할 수 있다.
일부 구현예에서, 음성 작동 디바이스(125)는 상태 표시등(status light)을 사용자(110)에게 제공할 수 있다. 예를 들어, 상태 표시등은 음성 작동 디바이스(125)의 상태를 나타내기 위한 LED 조명일 수 있다. 상태 표시등은 호출 연결 중, 연결된 호출, 호출 종료, 사용자로부터의 음성 커맨드 수신 및 사용자(110)로의 메시지 제공을 나타내기 위해 컬러, 깜박임 지속 기간 또는 밝기를 변경할 수 있다.
일부 구현예에서, 사용자(110)는 특정 음성 커맨드로 호출을 종료할 수 있다. 예를 들어, 사용자(110)는 "OK 컴퓨터, 호출 중지", "OK 컴퓨터, 끊어" 또는 "OK 컴퓨터, 호출 끊어"라고 말할 수 있다. 일부 구현예에서, 수신자는 전화 호출을 종료할 수 있다. 호출이 종료된 후, 음성 작동 디바이스(125)는 가청 통화중 신호음을 재생하고, 그 전화 호출을 연결하기 전에 이전 상태로 음성 작동 디바이스(125)를 복귀시킬 수 있다. 예를 들어, 음성 작동 디바이스(125)를 이전 상태로 복귀시키는 것은 그 호출이 개시되었을 때 미디어가 정지된 지점에서 노래와 같은 미디어를 계속 재생하는 것을 포함할 수 있다.
일부 구현예에서, 음성 작동 디바이스(125)는 착신 전화(incoming call)가 수신된 시점을 표시할 수 있다. 예를 들어, 음성 작동 디바이스(125)는 음성 작동 디바이스(125)가 호출을 수신하고 있음을 나타내기 위해 LED를 깜박이거나, 링잉 노이즈(ringing noise)를 청각적으로 출력하거나, "호출 수신중입니다(Incoming call)"를 청각적으로 출력할 수 있다. 이에 응답하여, 사용자(110)는 그 착신 전화에 대해 액션을 취할 수 있다. 예를 들어, 사용자(110)는 "OK 컴퓨터, 픽업(pick up)", "OK 컴퓨터, 응답해(Answer)", "OK 컴퓨터, 받아(Accept)" 또는 "OK 컴퓨터, 예스(Yes)" 중 하나를 말함으로써 그 호출에 응답할 수 있다. 다른 예에서, 사용자(110)는 "OK 컴퓨터, 노(No)", "OK 컴퓨터, 거절(Refuse)" 또는 "OK 컴퓨터, 끊어(Hang-up)"중 하나를 말함으로써 그 호출을 거부하고 연결 시도를 차단할 수 있다.
일부 구현예에서, 음성 작동 디바이스(125)는 임시 번호를 통해 이루어진 착신 호출만을 수용할 수 있다. 구체적으로, 음성 작동 디바이스(125)는 착신 호출이 긴급 서비스에 대한 발신 호출(outgoing call)을 하는데 사용된 임시 번호에 대한 호출로부터 수신될 때만 링잉할 수 있다. 예를 들어, 음성 작동 디바이스(125)는 긴급 서비스를 다이얼링하기 위한 아웃바운드 호출에 대한 임시 번호로서 (555) 555-5555 번호를 사용할 수 있고, 그 번호(555) 555-5555에 대한 착신 전화만을 수용할 수 있다.
일부 구현예에서, 사용자(110)는 스피커 폰으로 사용하기 위해 다른 디바이스상의 착신 호출을 음성 작동 디바이스(125)로 전환(transfer)할 수 있다. 사용자(110)는 호출이 울리는 동안 또는 호출 중에 그 호출을 전환할 수 있다. 예를 들어, 사용자(110)는 "OK 컴퓨터, 내 폰에서 네게로 호출 전환해 줘"이라고 말할 수 있다. 일부 구현예에서, 음성 작동 디바이스(125)는 근거리 통신 프로토콜을 사용하여 다른 디바이스와 통신하여 그 폰 호출을 전환할 수 있다. 예를 들어, 음성 작동 디바이스(125)는 예를 들어 블루투스 또는 WiFi를 사용하여 다른 디바이스에 연결하여, 현재의 폰 호출을 음성 작동 디바이스(125)의 화자에게 라우팅하도록 다른 디바이스에게 지시할 수 있다.
일부 구현예에서, 사용자(110)는 음성 작동 디바이스(125)로부터 클라이언트 디바이스(510)로 호출을 전환할 수 있다. 구체적으로, 사용자(110)는 호출이 울리는 동안 또는 호출 중에 호출을 전환할 수 있다. 이는 클라이언트 디바이스(510)가 블루투스와 같은 단거리 통신 프로토콜 중 적어도 하나를 사용하여 음성 작동 디바이스(125)에 연결된 경우 수행될 수 있다. 예를 들어, 사용자(110)는 "OK 컴퓨터, 호출을 내 폰으로 전환해 줘"라고 말할 수 있다. 부가적으로, 사용자(110)는 하나의 음성 작동 디바이스(125)로부터 별도의 방에 위치한 다른 음성 작동 디바이스(125)로 호출을 전송할 수 있다. 예를 들어, 사용자(110)는 "OK 컴퓨터, 침실 컴퓨터로 호출을 전환해 줘"라고 말할 수 있다. 클라이언트 디바이스(510) 또는 다른 음성 작동 디바이스(125)의 전원이 켜져 있지 않거나 음성 작동 디바이스(125)에 연결되어 있지 않으면, 음성 작동 디바이스(125)는 "연결을 설정하기 위해 디바이스를 켜십시오"를 낭송할 수 있다.
도 6은 발신자 번호를 결정하기 위한 프로세스(600)의 예를 도시하는 흐름도이다. 프로세스(600)의 동작들은 시스템(500)과 같은 하나 이상의 컴퓨팅 시스템에 의해 수행될 수 있다.
프로세스(600)는 음성 호출을 요청하는 발언을 수신하는 단계를 포함한다 (610). 예를 들어, 음성 작동 디바이스(125)는 사용자가 "OK 컴퓨터, (123) 456-7890 호출"이라고 말하고 음성 작동 디바이스(125)의 마이크로폰이 그 발언에 대응하는 오디오 데이터를 생성할 때 발언을 수신할 수 있다. 일부 구현예에서, 음성 호출은 오디오만을 포함하는 호출을 지칭할 수 있다. 다른 구현예에서, 음성 호출은 오디오만을 포함하지 않는 호출, 예를 들어 오디오와 비디오를 모두 포함하는 화상 회의 호출을 지칭할 수 있다.
프로세스(600)는 그 발언을 특정 공지 사용자가 발화한 것으로 분류하는 단계를 포함한다(620). 예를 들어, 음성 작동 디바이스(125)는 "OK 컴퓨터, (123) 456-7890 호출"이라는 발언을 특정 공지 사용자 "매트"가 말한 것으로 분류할 수 있다. 다른 예에서, 음성 작동 디바이스(125)는 "OK 컴퓨터, (123) 456-7890 호출"이라는 발언을 음성 작동 디바이스에게 알려지지 않은 사용자가 말한 것으로 분류할 수 있다.
발언을 특정 공지 사용자가 발화한 것으로 분류하는 단계는 그 발언 내의 음성(speech)이 특정 공지 사용자에 해당하는 음성과 매칭하는지 여부를 결정하는 단계를 포함할 수 있다. 예를 들어, 전술한 바와 같이, 음성 작동 디바이스(125)는 이전에 핫 워드 "OK 컴퓨터"를 말한 공지 사용자 "매트"에 대응하는 MFCC들을 저장하고, 방금 수신된 발언 내의 핫 워드 "OK 컴퓨터"로부터 MFCC들을 결정한 다음, 그 발언으로부터의 MFCC들이 공지 사용자 "매트"에 대해 저장된 MFCC들과 매칭한다고 결정하고, 이에 응답하여 발언을 공지 사용자 "매트"가 발화한 것으로 분류한다. 다른 예에서, 음성 작동 디바이스(125)는 이전에 핫 워드 "OK 컴퓨터"를 말한 공지 사용자 "매트"에 대응하는 MFCC들을 저장하고, 방금 수신된 발언 내의 핫 워드 "OK 컴퓨터"로부터 MFCC들을 결정한 다음, 그 발언으로부터의 MFCC들이 공지 사용자 "매트"에 대해 저장된 MFCC들과 매칭하지 않는다고 결정하고, 이에 응답하여 그 발언을 공지 사용자 "매트"가 발화한 것으로 분류하지 않는다.
발언을 특정 공지 사용자가 발화한 것으로 분류하는 단계는 화자의 적어도 일부의 시각적 이미지가 특정 공지 사용자에 해당하는 시각적 정보와 매칭하는지 여부를 결정하는 단계를 포함할 수 있다. 예를 들어, 전술한 바와 같이, 음성 작동 디바이스(125)는 카메라를 포함하여, 그 카메라에 의해 캡처된 화자의 얼굴 이미지를 획득하고, 그 이미지 내의 화자의 얼굴이 공지 사용자 "매트"의 얼굴을 기술하는 정보와 매칭한다고 결정하고, 이에 응답하여 화자가 공지 사용자 "매트"인 것으로 분류할 수 있다. 다른 예에서, 음성-작동 디바이스(125)는 카메라를 포함하여, 그 카메라에 의해 캡처된 화자의 얼굴 이미지를 획득하고, 그 이미지 내의 화자의 얼굴이 공지 사용자 "매트"의 얼굴을 기술하는 정보와 매칭하지 않는다고 결정하고, 이에 응답하여 화자가 공지 사용자 "매트"가 아닌 것으로 분류할 수 있다. 일부 구현예에서, 시각적 이미지 및 음성은 발언이 특정 공지 사용자가 발화하였는지 여부를 분류하기 위해 조합하여 고려될 수 있다.
프로세스(600)는 특정 공지 사용자가 개인 음성 번호와 관련되는지 여부를 결정하는 단계를 포함한다(630). 예를 들어, 음성 작동 디바이스(125)는 공지 사용자 "매트"가 (555) 222-2222의 개인 전화 번호와 관련되는 것으로 결정할 수 있다. 다른 예에서, 음성 작동 디바이스(125)는 특정 공지 사용자 "아빠"가 개인 번호와 관련되지 않은 것으로 결정할 수 있다.
특정 공지 사용자가 개인 음성 번호와 관련되는지 여부를 결정하는 단계는 특정 공지 사용자의 계정 정보에 액세스하는 단계 및 사용자의 계정 정보가 특정 공지 사용자에 대한 음성 번호를 저장하는지 여부를 결정하는 단계를 포함할 수 있다. 예를 들어, 음성 작동 디바이스(125)는 그 음성 작동 디바이스(125)에 저장된 공지 사용자 "매트"의 계정 정보에 액세스하여, 그 계정 정보가 (555) 222-2222의 개인 전화 번호를 포함한다고 결정하고, 이에 응답하여 공지 사용자 "매트"가 개인 번호와 관련된다고 결정한다. 다른 예에서, 음성 작동 디바이스(125)는 그 음성 작동 디바이스(125)에 저장된 공지 사용자 "아빠"의 계정 정보에 액세스하여, 그 계정 정보가 개인 전화 번호를 포함하지 않는다고 결정하고, 이에 응답하여, 공지 사용자 "아빠"가 개인 번호와 관련되지 않는다고 결정할 수 있다.
부가적으로 또는 대안적으로, 특정 공지 사용자가 개인 음성 번호와 관련되는지 여부를 결정하는 단계는 서버로, 특정 공지 사용자의 표시 및 발언의 표현을 제공하는 단계 및 그 서버로부터, 특정 공지 사용자의 개인 음성 번호, 호출할 음성 번호 및 음성 호출을 지시하는 명령을 수신하는 단계를 포함한다. 예를 들어, 일부 구현예에서 음성 작동 디바이스(125)는 개인 전화 번호를 저장하지 않을 수 있고, 어시스턴트 서버(502)는 개인 전화 번호를 저장할 수 있다. 따라서, 음성 작동 디바이스(125)는 화자가 공지 사용자 "매트"라는 표시와 함께 "OK 컴퓨터, (123) 456-7890 호출"이라는 발언의 오디오 표현을 어시스턴트 서버(502)로 제공할 수 있다. 이어서 어시스턴트 서버(502)는 발언을 전사하고, 전사내의 "호출"로부터 그 발언이 호출을 개시하도록 요청하고 있다고 결정하고, 전사로부터 "(123) 456-7890"이 호출할 번호라고 결정하고, 그 발언이 호출을 요청하고 있다는 결정에 응답하여, 공지 사용자 "매트"에 대한 저장된 계정 정보에 액세스하고, 공지 사용자 "매트"에 대한 저장된 계정이 (555) 222-2222의 개인 음성 번호를 포함하고 있다고 결정하고, 이에 응답하여, 호출을 개시하는 전화 번호로서 (555) 222-222를 나타내는 번호(123) 456-7890로 호출하도록 명령을 음성 작동 디바이스(125)로 제공한다.
특정 공지 사용자가 개인 음성 번호와 관련되는지 여부를 결정하는 단계는 특정 공지 사용자의 계정에 액세스하는 단계와, 그 사용자의 계정이 전화기를 나타내는지 여부를 결정하고, 그 전화기가 음성 작동 디바이스와 연결되어 있는지 여부를 결정하는 단계를 포함할 수 있다. 예를 들어, 음성 작동 디바이스(125)가 발언을 공지 사용자 "매트"가 발화한 것으로 분류한 후, 음성 작동 디바이스(125)는 저장된 계정 정보에 액세스하여 특정 전화기가 공지 사용자 "매트"와 관련되는지 여부를 결정하고, 그 계정이 특정 전화기를 나타낸다는 결정에 응답하여, 특정 전화기가 예를 들어, 블루투스를 통해 연결되는지 여부를 결정하고, 특정 전화기가 연결되어 있다는 결정에 응답하여 그 특정 전화기를 통해 음성 호출을 개시한다.
프로세스(600)는 개인 음성 번호로 음성 호출을 개시하는 단계를 포함한다(640). 예를 들어, 음성 작동 디바이스(125)는 "(555) 222-2222"의 개인 번호를사용하여 "(123) 456-7890"으로 호출을 개시하라는 명령을 음성 서버(506)로 제공할 수 있다. 일부 구현예에서, 개인 음성 번호로 전화 호출을 개시하는 단계는 VoIP 호출 제공자를 통해 전화 호출을 개시하는 단계를 포함할 수 있다. 예를 들어, 음성 서버(506)는 VoIP 제공자일 수 있고, 음성 작동 디바이스(125)는 음성 서버(506)가 호출을 개시하도록 요청할 수 있다. 다른 예에서, 음성 작동 디바이스(125)는 그 음성 작동 디바이스에 접속된 것으로 결정된 공지 사용자 "매트"와 관련된 전화기에 대한 호출을 개시하기 위한 명령을 제공할 수 있다.
도 7은 호출할 수신자 번호를 결정하기 위한 프로세스의 예를 나타내는 흐름도이다. 프로세스(600)의 동작들은 시스템(500)과 같은 하나 이상의 컴퓨팅 시스템에 의해 수행될 수 있다.
프로세스(700)는 음성 호출을 요청하는 발언을 수신하는 단계를 포함한다 (710). 예를 들어, 어시스턴트 서버(502)는 음성 작동 디바이스(125)로부터, "할머니 호출"이라는 발언의 표현 및 그 발언이 공지 사용자 "매트"에 의해 발화된 것으로 음성 작동 디바이스(125)가 결정하였다는 표시를 수신할 수 있다. 그 표시는 다른 사용자들의 계정에서 매트의 계정을 고유하게 식별하는 영숫자 값을 포함하거나, 그 발언의 화자가 영숫자 값에 의해 식별된 계정과 관련되어 있는지를 나타내는 영숫자 값과 관련된 2진 값을 포함할 수 있다.
프로세스는 발언을 특정 공지 사용자가 발화한 것으로 분류하는 단계를 포함한다(720). 예를 들어, 어시스턴트 서버(502)는 발언을 공지 사용자 "매트"가 발화한 것으로 분류할 수 있다. 발언을 특정 공지 사용자가 발화한 것으로 분류하는 단계는 그 발언 내의 음성이 특정 공지 사용자에 대응하는 음성을 매칭시키기 위해 음성 작동 디바이스에 의해 결정되었다는 표시를 획득하는 단계를 포함할 수 있다. 예를 들어, 어시스턴트 서버(502)는 음성 작동 디바이스(125)가 발언 "할머니 호출해 줘"의 화자와 매칭하는 것으로 공지 사용자 "매트"의 계정을 고유하게 식별하는 "854978"의 값을 제공했다고 결정하고, 이에 응답하여, 그 발언을 공지 사용자 "매트"가 발화한 것으로 분류할 수 있다.
부가적으로 또는 대안적으로, 발언을 특정 공지 사용자가 발화한 것으로 분류하는 단계는 발언 내의 음성이 특정 공지 사용자에 대응하는 음성과 매칭하는지 여부를 결정하는 단계를 포함할 수 있다. 예를 들어, 어시스턴트 서버(502)는 발언의 오디오 표현으로부터 MFCC들을 생성하고, 그 발언으로부터의 MFCC들이 공지 사용자 "매트"에 대해 저장된 MFCC들과 매칭하는지 여부를 결정하고, MFCC들이 매칭한다고 결정한 것에 응답하여 그 발언을 공지 사용자 "매트"에 의해 발화된 것으로 분류할 수 있다.
프로세스(700)는 발언을 특정 공지 사용자가 발화한 것으로 분류하는 것에 응답하여, 특정 공지 사용자에 대한 연락처에 기초하여 호출할 수신자 음성 번호를 결정하는 단계를 포함한다(730). 예를 들어, "할머니 호출"을 공지 사용자 "매트"가 발화한 것으로 분류하는 것에 응답하여, 어시스턴트 서버(502)는 공지 사용자 "매트"에 대해 저장된 전화 연락처에 기초하여 호출할 "(987) 654-3210"의 수신자 번호를 결정할 수 있다. 다른 예에서, "할머니 호출"을 공지 사용자 "아빠"가 발화한 것으로 분류하는 것에 응답하여, 어시스턴트 서버(502)는 공지 사용자 "아빠"에 대해 저장된 전화 연락처에 기초하여 호출할 "(876) 543-2109"의 수신자 번호를 결정할 수 있다.
특정 공지 사용자에 의해 생성된 연락처 항목들을 획득하는 단계는 발언을 특정 공지 사용자가 발화한 것으로 분류하는 것에 응답하여, 특정 공지 사용자의 연락처 항목들이 이용 가능한지 결정하는 단계 및 특정 공지 사용자의 연락처 항목들이 이용 가능하다고 결정한 것에 응답하여, 특정 공지 사용자에 의해 생성된 연락처 항목들을 획득하는 단계를 포함할 수 있다. 예를 들어, 발언을 공지 사용자 "매트"가 발화한 것으로 분류하는 것에 응답하여, 어시스턴트 서버(502)는 공지 사용자 "매트"에 대한 전화 연락처 항목들이 이용 가능하다고 결정하고, 이에 응답하여, 공지 사용자 "매트"의 전화 연락처 항목들에 액세스할 수 있다.
특정 공지 사용자의 연락처 항목들이 이용 가능한지 결정하는 단계는 특정 공지 사용자가 이전에 특정 공지 사용자가 개인화된 결과를 원한다고 표시했는지 여부를 결정하는 단계를 포함할 수 있다. 예를 들어, 어시스턴트 서버(502)는 발언과 함께 음성 작동 디바이스(125)로부터 개인화된 결과 비트를 수신하여, 그 개인화된 결과 비트가 공지 사용자 "매트"가 개인화된 결과를 원함을 나타내는 값으로 설정되었다고 결정하고, 이에 응답하여, 공지 사용자 "매트"의 전화 연락처 항목들이 이용 가능하다고 결정할 수 있다. 다른 예에서, 어시스턴트 서버(502)는 발언과 함께 음성 작동 디바이스(125)로부터 개인화된 결과 비트를 수신하여, 그 개인화된 결과 비트가 공지 사용자 "아빠"가 개인화된 결과를 원하지 않음을 나타내는 값으로 설정되었다고 결정하고, 이에 응답하여, 공지 사용자 "아빠"의 전화 연락처 항목들이 이용 가능하지 않다고 결정할 수 있다.
발언을 특정 공지 사용자가 발화한 것으로 분류하는 것에 응답하여, 특정 공지 사용자에 대한 연락처에 기초하여 호출할 수신자 음성 번호를 결정하는 단계는 발언을 특정 공지 사용자가 발화한 것으로 분류하는 것에 응답하여, 특정 공지 사용자에 의해 생성된 연락처 항목들을 획득하는 단계와, 특정 연락처 항목이 발언과 매칭하는 이름을 포함하는 연락처 항목들 중에서 특정 연락처 항목을 식별하는 단계와, 특정 연락처 항목에 의해 표시된 음성 번호를 수신자 음성 번호로 결정하는 단계를 포함한다. 예를 들어, "할머니 호출해 줘"라는 발언을 공지 사용자 "매트"가 발화한 것으로 분류한 것에 응답하여, 어시스턴트 서버(502)는 공지 사용자 "매트"에 의해 생성된 전화 연락처 항목들을 획득하고, 그 전화 연락처 항목들 중 하나가 발언 내의 "할머니"와 매칭하는 "할머니"로 명명되고 "(987) 654- 3210의 번호를 갖는다고 식별하고, 수신자 전화 번호가 번호 "(987) 654-3210"이라고 결정한다.
특정 연락처 항목이 발언과 매칭하는 이름을 포함하는 연락처 항목들 중에서 특정 연락처 항목을 식별하는 단계는 발언의 전사를 생성하는 단계 및 그 전사가 이름을 포함하는지 결정하는 단계를 포함할 수 있다. 예를 들어, 어시스턴트 서버 (502)는 발언 "할머니 호출해 줘"의 전사를 생성하고, 그 전사의 "할머니"가 공지 사용자 "매트"의 전화 연락처 항목에 대한 "할머니" 이름과 동일하다고 결정하고, 이에 응답하여 "할머니"라고 명명된 연락처 항목을 식별한다.
프로세스(700)는 수신자 음성 번호에 대한 음성 호출을 개시하는 단계를 포함한다(740). 예를 들어, 어시스턴트 서버(502)는 "할머니"라고 명명된 공지 사용자의 전화 연락처 항목으로부터 획득된 "(987) 654-3210"의 수신자 전화 번호에 대한 호출을 개시할 수 있다. 수신자 음성 번호에 대한 음성 호출을 개시하는 단계는 음성 작동 디바이스로, 수신자 음성 번호 및 그 수신자 음성 번호에 대한 음성 호출을 개시하기 위한 명령을 제공하는 단계를 포함할 수 있다. 예를 들어, 어시스턴트 서버(502)는 음성 작동 디바이스(125)로 명령을 제공하여, (555) 222-2222의 번호로 번호(987) 654-3210에 대한 호출을 개시할 수 있다.
일부 구현예에서, 프로세스(700)는 제2 음성 호출을 요청하는 제2 발언을 수신하는 단계와, 제2 발언을 음성 작동 디바이스(125)의 임의의 공지 사용자가 발화하지 않은 것으로 분류하는 단계와, 제2 발언을 음성 작동 디바이스의 임의의 공지 사용자가 발화하지 않은 것으로 분류하는 것에 응답하여, 음성 작동 디바이스의 임의의 공지 사용자에 대한 연락처에 액세스하지 않고 제2 음성 호출을 개시하는 단계를 포함할 수 있다. 예를 들어, 어시스턴트 서버(502)는 "상점 X 호출해 줘"라는 제2 발언을 수신하고, 그 제2 발언을 음성 작동 디바이스(125)의 임의의 공지 사용자가 발화하지 않은 것으로 분류하고 그 발화 내의 "상점 X"가 전화 번호가 아니라고 결정하고, 제2 발언을 음성 작동 디바이스의 공지 사용자가 발화하지 않은 것으로 분류한 것 및 그 발언 내의 "상점 X"가 전화 번호가 아니라는 것에 응답하여, "상점 X"라는 이름을 갖는 근처 지역 업체에 대한 지도 데이터베이스를 검색하고, 이름이 "상점 X"이고 "(765) 432-1098"의 전화 번호를 갖는 근처 단일 지역 업체를 식별하고, 이에 응답하여, 음성 작동 디바이스의 임의의 공지 사용자에 대한 전화 연락처에 액세스하지 않고 (765) 432-1098에 대한 제2 전화 호출을 개시한다.
도 8은 음성 호출 중에 쿼리들을 핸들링하기 위한 프로세스의 예를 나타내는 흐름도이다. 프로세스(800)의 동작들은 시스템(500)과 같은 하나 이상의 컴퓨팅 시스템에 의해 수행될 수 있다.
프로세스(800)는 제1 당사자가 제1 당사자와 제2 당사자 간의 음성 호출 중에 제1 당사자가 음성 작동 가상 어시스턴트에 대한 쿼리를 발화했는지 결정하는 단계를 포함한다(810). 예를 들어, 음성 작동 디바이스(125)는 사용자와 다른 사람사이의 전화 호출 동안 사용자가 어시스턴트 서버(502)에 대한 쿼리를 말한 것으로 결정할 수 있다. 제1 당사자와 제2 당사자 간의 전화 호출 중에 제1 당사자가 음성 작동 가상 어시스턴트에 대한 쿼리를 발화했는지 결정하는 단계는 음성 작동 디바이스에 의해, 핫 워드가 전화 호출 중에 제1 당사자에 의해 발화되었다고 결정하는 단계를 포함할 수 있다. 예를 들어, 음성 작동 디바이스(125)는 음성 작동 디바이스(125)를 통해 호출이 진행되는 동안 핫 워드 "OK 컴퓨터"가 발화되었다고 결정할 수 있다. 음성 작동 디바이스(125)의 마이크로폰 및 스피커가 상대방(the other person)을 위해 사용자로부터의 음성을 픽업하고 상대방의 음성을 사용자에게 출력하기 위해 사용되는 경우, 호출은 음성 작동 디바이스(125)를 통해 진행중인 것으로 간주될 수 있다.
프로세스(800)는 제1 당사자와 제2 당사자 사이의 전화 호출 중에 제1 당사자가 음성 작동 가상 어시스턴트에 대한 쿼리를 발화하였다는 결정에 응답하여, 제1 당사자와 제2 당사자 간의 음성 호출을 홀드(hold, 보류)시키는 단계를 포함한다(810). 예를 들어, 제1 당사자와 제2 당사자 사이의 전화 호출 중에 음성 작동 가상 어시스턴트에 대해 제1 당사자가 "OK 컴퓨터, "나의 다음 약속은 뭐야?"라는 쿼리를 발화한 것에 응답하여, 음성 작동 디바이스(125)는 전화 호출을 양방향 홀드에 놓을 수 있다. 상기 음성 호출은 상대방이 사용자로부터의 음성 작동 가상 어시스턴트에 대한 쿼리를 듣지 않을 수 있고 그 음성 작동 가상 어시스턴트로부터의 쿼리에 대한 응답을 듣지 않을 수 있도록 양방향 홀드에 놓일 수 있다.
프로세스(800)는 음성 호출을 홀드시키는 단계를 포함한다(820). 예를 들어, 음성 작동 디바이스(125)는 전화 호출을 양방향 홀드에 둘 수 있다. 제1 당사자와 제2 당사자 간의 음성 호출을 홀드시키는 단계는 음성 호출을 홀드하도록 음성 호출 제공자에게 명령을 제공하는 단계를 포함할 수 있다. 예를 들어, 음성 작동 디바이스(125)는 진행중인 호출을 홀드하도록 음성 서버(506)에 지시할 수 있다. 부가적으로 또는 대안적으로, 제1 당사자와 제2 당사자 간의 음성 호출을 홀드시키는 단계는 마이크로폰으로부터의 오디오를 음성 서버 대신 음성 작동 가상 어시스턴트로 라우팅하는 단계와, 음성 작동 가상 어시스턴트로부터의 오디오를 음성 서버로부터의 오디오 대신 스피커로 라우팅하는 단계를 포함할 수 있다. 예를 들어, 음성 작동 디바이스(125)는 음성 작동 디바이스(125)의 마이크로폰으로부터의 오디오를 음성 서버(506) 대신 어시스턴트 서버(502)로 라우팅하고, 어시스턴트 서버(502)로부터의 오디오를 음성 서버(506)로부터의 오디오 대신에 음성 작동 디바이스(125)의 스피커로 라우팅할 수 있다.
프로세스(800)는 음성 작동 가상 어시스턴트가 쿼리를 해결했는지 결정하는 단계(830)를 포함한다. 예를 들어, 음성 작동 디바이스(125)는 어시스턴트 서버(502)가 "OK 컴퓨터, 나의 다음 약속은 뭐야"라는 쿼리를 해결했다고 결정할 수 있다. 음성 작동 가상 어시스턴트가 쿼리를 해결했는지 결정하는 단계는 음성 작동 가상 어시스턴트로, 쿼리 및 음성 작동 디바이스상에서 음성 호출이 진행 중이라는 표시를 제공하는 단계 및 음성 작동 가상 어시스턴트로부터, 쿼리에 대한 응답 및 그 쿼리가 해결되었다는 표시를 수신하는 단계를 포함할 수 있다. 예를 들어, 음성 작동 디바이스(125)는 "OK 컴퓨터, 나의 다음 약속은 뭐야?"라는 쿼리의 표현 및 "진행중인 호출 = 참(true)"의 표시를 제공하고, 이에 응답하여, 쿼리에 대한 응답으로 "당신의 다음 약속은 오후 3시 30분의 '커피 브레이크'입니다"라는 합성 음성의 표현 및 "쿼리 해결됨(Query resolved) = 참(True)"의 표시를 수신한다.
일부 구현예에서, 음성 작동 가상 어시스턴트는 쿼리에 대응하는 커맨드를 식별하고, 그 커맨드가 음성 호출 중에 실행될 수 있는지 결정하고, 그 커맨드가 음성 호출 중에 실행될 수 있다고 결정하는 것에 응답하여, 그 커맨드에 대한 답변을 표시할 응답을 결정하도록 구성될 수 있다. 예를 들어, 어시스턴트 서버(502)는 "OK 컴퓨터, 나의 다음 약속은 뭐야"의 발언을 수신하고, 그 발언의 표현으로부터의 전사에서 "다음 약속 식별"이라는 커맨드를 식별하고, "다음 약속 식별"이라는 커맨드가 전화 호출 중에 실행될 수 있는지 결정하고, 그 커맨드가 전화 호출 중에 실행될 수 있다는 결정에 응답하여, "당신의 다음 약속은 오후 3시 30분의 '커피 브레이크'입니다"라는 답변을 나타낼 응답을 결정할 수 있다.
일부 구현예에서, 음성 작동 가상 어시스턴트는 쿼리에 대응하는 커맨드를 식별하고, 그 커맨드가 음성 호출 중에 실행될 수 없는지 결정하고, 그 커맨드가 음성 호출 중에 실행될 수 없다는 결정에 응답하여, 커맨드가 실행될 수 없음을 나타내는 응답을 결정하도록 구성될 수 있다. 예를 들어, 어시스턴트 서버(502)는 "OK 컴퓨터, 음악 좀 재생해 줘"라는 발언의 표현을 수신하여, 그 발언의 표현으로부터의 전사에서 "음악 재생"의 커맨드를 식별하고, 그 음악 재생" 커맨드가 음성 호출 중에 실행될 수 없는지 결정하고, 커맨드가 음성 호출 중에 실행될 수 없다는 결정에 응답하여, "죄송합니다. 호출 중에 음악을 재생할 수 없습니다"라는 답변을 나타낼 응답을 결정할 수 있다.
일부 구현예에서, 커맨드가 음성 호출 중에 실행될 수 없는지 결정하는 단계는 음성 호출 중에 정상적으로 실행될 수 있는 커맨드 목록을 획득하는 단계 및 식별된 커맨드가 명령 목록에 없는지 결정하는 단계를 포함한다. 예를 들어, 어시스턴트 서버(502)는 "다음 약속 식별"을 포함하고 "음악 재생"을 포함하지 않는, 실행될 수 있는 커맨드 목록을 획득하고, 그 "음악 재생" 커맨드가 목록에서 식별되지 않는다고 결정하고, 이에 응답하여, "음악 재생" 커맨드가 전화 호출 중에 정상적으로 실행될 수 없다고 결정할 수 있다.
일부 구현예에서, 커맨드가 음성 호출 중에 실행할 수 없는지 결정하는 단계는 음성 호출 중에 정상적으로 실행할 수 없는 커맨드 목록을 획득하는 단계 및 식별된 커맨드가 커맨드 목록에 있는지 결정하는 단계를 포함한다. 예를 들어, 어시스턴트 서버(502)는 "음악 재생"을 포함하고 "다음 약속 식별"을 포함하지 않는, 실행될 수 없는 커맨드 목록을 획득하고, 그 "음악 재생" 커맨드가 목록에서 식별된다고 결정하고, 이에 응답하여, "음악 재생" 커맨드가 전화 호출 중에 정상적으로 실행될 수 없다고 결정할 수 있다.
프로세스(800)는 음성 작동 가상 어시스턴트가 쿼리를 처리(handle)했다는 결정에 응답하여, 제1 당사자와 제2 당사자 간의 음성 호출을 홀드로부터 재개한다(840). 예를 들어, 음성 작동 디바이스(125)는 전화 호출을 재개할 수 있다. 음성 작동 가상 어시스턴트가 쿼리를 처리했다는 결정에 응답하여, 제1 당사자와 제2 당사자 간의 음성 호출을 홀드로부터 재개하는 단계는 그 홀드로부터 음성 호출을 재개하도록 음성 호출 제공자에게 명령을 제공하는 단계를 포함할 수 있다. 예를 들어, 음성 작동 디바이스(125)는 홀드로부터 전화 호출을 재개하기 위한 명령을 음성 서버(506)로 제공할 수 있다.
부가적으로 또는 대안적으로, 음성 작동 가상 어시스턴트가 쿼리를 처리했다는 결정에 응답하여, 홀드로부터 제1 당사자와 제2 당사자 간의 음성 호출 재개하는 단계는 마이크로폰으로부터의 오디오를 음성 작동 가상 어시스턴트 대신에 음성 서버로 라우팅하는 단계 및 음성 서버로부터의 오디오를 음성 작동 가상 어시스턴트로부터의 오디오 대신에 스피커로 라우팅하는 단계를 포함할 수 있다. 예를 들어, 음성 작동 디바이스(125)는 마이크로폰으로부터의 오디오를 어시스턴트 서버 (502) 대신에 음성 서버(506)로 라우팅할 수 있고, 음성 서버로부터의 오디오를 어시스턴트 서버(502)로부터의 오디오 대신에 스피커로 라우팅할 수 있다.
일부 구현예에서, 음성 작동 가상 어시스턴트가 쿼리를 처리했다는 결정에 응답하여, 홀드로부터 제1 당사자와 제2 당사자 간의 음성 호출 재개하는 단계는 듀얼 톤 다중 주파수 신호를 생성하기 위한 명령을 음성 작동 가상 어시스턴트로부터 수신하는 단계 및 듀얼 톤 다중 주파수 신호를 생성하기 위한 명령을 음성 작동 가상 어시스턴트로부터 수신하는 것에 응답하여, 홀드로부터 음성 호출을 재개하기 위한 명령을 음성 호출 제공자에게 제공한 후 듀얼 톤 다중 주파수 신호를 생성하기 위한 제2 명령을 음성 호출 제공자에게 제공하는 단계를 포함한다. 예를 들어, 음성 작동 디바이스(125)는 "1에 대한 DTMF 생성"이라는 명령을 수신하고, 이에 응답하여 "1" 키의 누름을 나타내는 DTMF를 생성하도록 음성 서버(506)에 지시할 수 있다.
일부 구현예에서, 음성 작동 어시스턴트 서버는 쿼리가 하나 이상의 듀얼 톤 다중 주파수 신호 및 그 하나 이상의 듀얼 톤 다중 주파수 신호에 대응하는 하나 이상의 숫자를 생성하기 위한 명령을 나타내는지를 결정하도록 구성된다. 예를 들어, 어시스턴트 서버(502)는 "OK 컴퓨터, 1을 눌러 줘"라는 발언의 표현을 수신하여, 전사로부터 "1 누름(press one)"이 그 전사 내에서 "1"로 표시되는 숫자에 대한 DTMF 신호를 생성하는 것을 나타내는 것으로 결정하고, 이에 응답하여, "1"에 대한 DTMF를 생성하도록 음성 서버(506)에게 지시하기 위해 음성 작동 디바이스(125)에게 지시하는 명령을 음성 작동 디바이스(125)에 제공한다. 부가적으로 또는 대안적으로, 일부 구현예에서, 음성 작동 디바이스(125)는 DTMF를 생성할 수 있다. 예를 들어, 음성 작동 디바이스(125)는 어시스턴트 서버(502)로부터 "1"에 대한 DTMF를 생성하라는 명령을 수신하고, 이에 응답하여 "1"에 대한 DTMF 톤을 생성하여 이들 톤을 음성 서버(506)로 전송할 수 있다.
위의 설명에 더하여, 사용자는 본 명세서에 기술된 시스템, 프로그램 또는 특징이 사용자 정보(예를 들어, 사용자의 소셜 네트워크, 소셜 액션 또는 활동에 관한 정보, 직업, 사용자의 선호도 또는 사용자의 현재 위치)의 수집을 가능하게 할 수 있는지 여부 및 시점에 대해 그리고 사용자가 서버로부터 컨텐츠 또는 통신을 전송받을 수 있는지 여부에 대해 사용자가 선택할 수 있게 하는 컨트롤들을 제공받을 수 있다. 또한, 특정 데이터는 개인 식별 정보가 제거되도록 저장 또는 사용하기 전에 하나 이상의 방식으로 처리될 수 있다. 예를 들어, 사용자의 신원은 사용자에 대한 개인 식별 정보가 결정되지 않도록 처리될 수 있거나, 사용자의 지리적 위치는 사용자의 특정 위치가 결정될 수 없도록 위치 정보가 획득되는 곳(도시, 우편 번호 또는 주 수준과 같은)으로 일반화될 수 있다. 따라서, 사용자는 사용자에 대해 어떤 정보가 수집되는지, 그 정보가 어떻게 사용되는지, 그리고 어떤 정보가 사용자에게 제공되는지를 제어할 수 있다.
음성 작동 디바이스(125), 어시스턴트 서버(502) 및 음성 서버(506)의 기능이 결합, 추가 분리, 분산 또는 교환될 수 있는 시스템(100)의 상이한 구성이 사용될 수 있다. 예를 들어, 어시스턴트 서버(502)가 전사할 쿼리에 발언의 오디오 표현을 포함시키는 대신, 음성 작동 디바이스(125)는 발언을 전사하여 그 전사를 어시스턴트 서버(502)에 대한 쿼리에 포함시킬 수 있다.
도 9는 본 명세서에 설명된 기술을 구현하는데 사용될 수 있는 컴퓨팅 디바이스(900)와 모바일 컴퓨팅 디바이스(950)의 예를 도시한다. 컴퓨팅 디바이스(900)는 랩탑, 데스크탑, 워크스테이션, 개인용 디지털 어시스턴트, 서버, 블레이드 서버, 메인 프레임 및 다른 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타내도록 의도된다. 모바일 컴퓨팅 디바이스(950)는 개인용 디지털 어시스턴트, 셀룰러 전화기, 스마트폰 및 다른 유사한 컴퓨팅 디바이스와 같은 다양한 형태의 모바일 디바이스를 나타내도록 의도된다. 본 명세서에 도시딘 구성 요소, 그의 연결 및 관계 및 해당 기능은 단지 예일 뿐이며 제한하려는 것이 아니다.
컴퓨팅 디바이스(900)는 프로세서(902), 메모리(904), 저장 디바이스(906), 메모리(904) 및 다수의 고속 확장 포트(910)에 연결되는 고속 인터페이스(908), 및 저속 확장 포트(914)와 저장 디바이스(906)에 연결되는 저속 인터페이스(912)를 포함한다. 프로세서(902), 메모리(904), 저장 디바이스(906), 고속 인터페이스(908), 고속 확장 포트(910) 및 저속 인터페이스(912) 각각은 다양한 버스를 사용하여 상호 연결되며 공통 마더 보드상에 또는 적절한 다른 방식으로 장착될 수 있다. 프로세서(902)는 메모리(904) 또는 저장 디바이스(906)에 저장된 명령을 포함하여 컴퓨팅 디바이스(900) 내에서 실행하기 위한 명령을 처리하여, 고속 인터페이스(908)에 결합된 디스플레이(916)와 같은 외부 입/출력 디바이스에 그래픽 사용자 인터페이스(GUI)에 대한 그래픽 정보를 디스플레이할 수 있다. 다른 구현예에서, 다중 프로세서 및/또는 다중 버스는 다중 메모리 및 다수 유형의 메모리와 함께 적절하게 사용될 수 있다. 또한, 각각이 (예를 들어, 서버 뱅크, 블레이드 서버 그룹, 또는 멀티 프로세서 시스템으로서) 필요한 동작들의 일부를 제공하는 다수의 컴퓨팅 디바이스가 연결될 수 있다.
메모리(904)는 컴퓨팅 디바이스(900) 내에 정보를 저장한다. 일부 구현예에서, 메모리(904)는 휘발성 메모리 유닛(들)이다. 일부 구현예에서, 메모리(904)는 비 휘발성 메모리 유닛(들)이다. 메모리(904)는 또한 자기 또는 광 디스크와 같은 다른 형태의 컴퓨터-판독 가능 매체일 수 있다.
저장 디바이스(906)는 컴퓨팅 디바이스(900)에 대한 대용량 저장소(storage)를 제공할 수 있다. 일부 구현예에서, 저장 디바이스(906)는 저장 영역 네트워크 또는 다른 구성 내의 디바이스를 포함하여, 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스, 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 고체 상태 메모리 디바이스, 또는 디바이스 어레이와 같은 컴퓨터-판독 가능 매체이거나 이를 포함할 수 있다. 명령들은 정보 매체에 저장될 수 있다. 명령들은 하나 이상의 처리 디바이스(예를 들어, 프로세서(902))에 의해 실행될 때, 전술한 것과 같은 하나 이상의 방법을 수행한다. 명령들은 또한 컴퓨터- 또는 기계-판독 가능 매체(예를 들어, 메모리(904), 저장 디바이스(906), 또는 프로세서(902)상의 메모리)와 같은 하나 이상의 저장 디바이스에 의해 저장될 수 있다.
고속 인터페이스(908)는 컴퓨팅 디바이스(900)에 대한 대역폭-집약 동작을 관리하는 반면, 저속 인터페이스(912)는 보다 낮은 대역폭-집약 동작을 관리한다. 이러한 기능 할당은 단지 예일 뿐이다. 일부 구현예에서, 고속 인터페이스(908)는 메모리(904), 디스플레이(916)(예를 들어, 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드(미도시)를 수용할 수 있는 고속 확장 포트에 결합된다. 구현예에서, 저속 인터페이스(912)는 저장 디바이스(906) 및 저속 확장 포트(914)에 결합된다. 다양한 통신 포트(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트(914)는 예를 들어 네트워크 어댑터를 통해 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입력/출력 디바이스, 또는 스위치 또는 라우터와 같은 네트워킹 디바이스에 연결될 수 있다.
컴퓨팅 디바이스(900)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 이것은 표준 서버(920)로 구현되거나 그러한 서버 그룹에서 여러 번 구현될 수 있다. 또한, 이것은 랩톱 컴퓨터(922)와 같은 개인용 컴퓨터에서 구현될 수 있다. 이것은 또한 랙 서버 시스템(924)의 일부로 구현될 수 있다. 대안적으로, 컴퓨팅 디바이스(900)로부터의 구성 요소는 모바일 컴퓨팅 디바이스 (950)와 같은 모바일 디바이스(미도시)의 다른 구성 요소와 결합될 수 있다. 이러한 디바이스들 각각은 컴퓨팅 디바이스(900)와 모바일 컴퓨팅 디바이스(950) 중 하나 이상을 포함할 수 있으며, 전체 시스템은 서로 통신하는 다수의 컴퓨팅 디바이스로 구성될 수 있다.
모바일 컴퓨팅 디바이스(950)는 다른 구성 요소 중에서 프로세서(952), 메모리(964), 디스플레이(954)와 같은 입/출력 디바이스, 통신 인터페이스(966) 및 송수신기(968)를 포함한다. 모바일 컴퓨팅 디바이스(950)는 또한 추가 저장을 제공하기 위해 마이크로 드라이브 또는 다른 디바이스와 같은 저장 디바이스를 제공받을 수 있다. 프로세서(952), 메모리(964), 디스플레이(954), 통신 인터페이스(966) 및 송수신기(968) 각각은 다양한 버스를 사용하여 상호 연결되며, 몇몇 구성 요소는 공통 마더 보드 상에 또는 다른 방식으로 적절하게 장착될 수 있다.
프로세서(952)는 메모리(964)에 저장된 명령들을 포함하여 모바일 컴퓨팅 디바이스(950) 내의 명령들을 실행할 수 있다. 프로세서(952)는 개별 및 다수의 아날로그 및 디지털 프로세서를 포함하는 칩의 칩셋으로서 구현될 수 있다. 프로세서(952)는 예를 들어, 사용자 인터페이스의 제어, 모바일 컴퓨팅 디바이스(950)에 의해 실행되는 애플리케이션 및 모바일 컴퓨팅 디바이스(950)에 의한 무선 통신과 같은 모바일 컴퓨팅 디바이스(950)의 다른 컴포넌트의 조정을 제공할 수 있다.
프로세서(952)는 제어 인터페이스(958) 및 상기 디스플레이(954)에 연결된 디스플레이 인터페이스(956)를 통해 사용자와 통신할 수 있다. 디스플레이(954)는 예를 들어 TFT(Thin-Film-Transistor Liquid Crystal Display) 디스플레이 또는 OLED(Organic Light Emitting Diode) 디스플레이 또는 다른 적절한 디스플레이 기술일 수 있다. 디스플레이 인터페이스(956)는 그래픽과 다른 정보를 사용자에게 제시하기 위해 디스플레이(954)를 구동하기 위한 적절한 회로를 포함할 수 있다. 제어 인터페이스(958)는 사용자로부터 커맨드를 수신하여 이를 프로세서(952)에 제출하기 위해 변환할 수 있다. 또한, 외부 인터페이스(962)는 프로세서(952)와의 통신을 제공하여, 다른 디바이스들과 모바일 컴퓨팅 디바이스(950)의 근거리 통신을 가능하게 한다. 외부 인터페이스(962)는 예를 들어 일부 구현예에서는 유선 통신 또는 다른 구현예에서는 무선 통신을 제공할 수 있고, 다수의 인터페이스가 사용될 수도 있다.
메모리(964)는 모바일 컴퓨팅 디바이스(950) 내에 정보를 저장한다. 메모리(964)는 컴퓨터-판독 가능 매체 또는 미디어, 휘발성 메모리 유닛(들) 또는 비 휘발성 메모리 유닛(들)로 구현될 수 있다. 확장 메모리(974)는 또한 확장 인터페이스(972)를 통해 모바일 컴퓨팅 디바이스(950)에 제공되고 연결될 수 있으며, 예를 들어 SIMM(Single In Line Memory Module) 카드 인터페이스를 포함할 수 있다. 확장 메모리(974)는 모바일 컴퓨팅 디바이스(950)를 위한 여분의 저장 공간을 제공하거나, 모바일 컴퓨팅 디바이스(950)를 위한 애플리케이션 또는 다른 정보를 저장할 수도 있다. 구체적으로, 확장 메모리(974)는 전술한 프로세스를 수행 또는 보완하기 위한 명령들을 포함할 수 있고, 또한 보안 정보를 포함할 수 있다. 따라서, 예를 들어, 확장 메모리(974)는 모바일 컴퓨팅 디바이스(950)를 위한 보안 모듈로서 제공될 수 있고, 모바일 컴퓨팅 디바이스(950)의 안전한 사용을 허용하는 명령들로 프로그램될 수 있다. 또한, 보안 애플리케이션은 SIMM 카드상의 식별 정보를 해킹 불가능한 방식으로 배치하는 것과 같이 추가 정보와 함께 SIMM 카드를 통해 제공될 수 있다.
메모리는, 예를 들어, 후술하는 바와 같이 플래시 메모리 및/또는 NVRAM 메모리(비 휘발성 랜덤 액세스 메모리)를 포함할 수 있다. 일부 구현예에서, 명령들은 하나 이상의 처리 디바이스(예를 들어, 프로세서(952))에 의해 실행될 때, 그 명령들이 전술한 것과 같은 하나 이상의 방법을 수행하는 정보 매체에 저장된다. 명령들은 또한 하나 이상의 컴퓨터- 또는 기계-판독 가능 매체(예를 들어, 메모리(964), 확장 메모리(974) 또는 프로세서(952)상의 메모리)와 같은 하나 이상의 저장 디바이스에 의해 저장될 수 있다. 일부 구현예에서, 명령들은 예를 들어 송수신기(968) 또는 외부 인터페이스(962)를 통해 전파된 신호로 수신될 수 있다.
모바일 컴퓨팅 디바이스(950)는 필요한 경우 디지털 신호 처리 회로를 포함할 수 있는 통신 인터페이스(966)를 통해 무선으로 통신할 수 있다. 통신 인터페이스(966)는 GSM((Global System for Mobile communications) 음성 호출, SMS(Short Message Service), EMS(Enhanced Messaging Service) 또는 MMS 메시징(Multimedia Messaging Service), CDMA(code division multiple access), TDMA(time division multiple access), PDC(Personal Digital Cellular), WCDMA(Wideband Code Division Multiple Access), CDMA2000 또는 GPRS(General Packet Radio Service)와 같은 다양한 모드 또는 프로토콜 하에서 통신을 제공할 수 있다. 이러한 통신은 예를 들어 무선 주파수를 사용하는 송수신기(968)를 통해 발생할 수 있다. 또한, 블루투스, WiFi 또는 다른 그러한 송수신기(미도기)를 사용하는 것과 같은 단거리 통신이 발생할 수 있다. 또한, GPS(Global Positioning System) 수신기 모듈(970)은 추가적인 내비게이션- 및 위치-관련 무선 데이터를 모바일 컴퓨팅 디바이스(950)로 제공할 수 있으며, 이는 모바일 컴퓨팅 디바이스(950)상에서 실행되는 애플리케이션에 의해 적절하게 사용될 수 있다.
모바일 컴퓨팅 디바이스(950)는 또한 발화된 정보를 사용자로부터 수신하여 이를 사용 가능한 디지털 정보로 변환할 수 있는 오디오 코덱(960)을 사용하여 청각적으로 통신할 수 있다. 오디오 코덱(960)은 마찬가지로 예를 들어 모바일 컴퓨팅 디바이스(950)의 핸드셋에서 스피커를 통한 것과 같이 사용자를 위한 가청 사운드를 생성할 수 있다. 이러한 사운드는 음성 전화 호출로부터의 사운드를 포함할 수 있고, 녹음된 사운드(예를 들어, 음성 메시지, 음악 파일 등)를 포함할 수 있으며, 모바일 컴퓨팅 디바이스(950)상에서 동작하는 애플리케이션에 의해 생성된 사운드를 포함할 수도 있다.
모바일 컴퓨팅 디바이스(950)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 이것은 셀룰러 전화기(980)로 구현될 수 있다. 이것은 또한 스마트 폰(982), 개인용 디지털 어시스턴트 또는 다른 유사한 모바일 디바이스의 일부로서 구현될 수 있다.
본 명세서에 기술된 시스템 및 기술의 다양한 구현예는 디지털 전자 회로, 집적 회로, 특별히 설계된 ASIC, 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합으로 실현될 수 있다. 이러한 다양한 구현은 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스로부터 데이터 및 명령을 수신하고 데이터 및 명령을 송신하도록 결합된 특수 또는 범용일 수 있는 적어도 하나의 프로그램 가능 프로세서를 포함하는 프로그램 가능 시스템상에서 실행 가능하고 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램에서의 구현을 포함할 수 있다.
프로그램, 소프트웨어, 소프트웨어 애플리케이션 또는 코드로도 공지 이들 컴퓨터 프로그램은 프로그램 가능 프로세서를 위한 기계 명령들을 포함하고, 고급 절차적 및/또는 객체 지향적 프로그래밍 언어 및/또는 어셈블리/기계 언어로 구현될 수 있다. 프로그램은 다른 프로그램 또는 데이터를 보유하는 파일의 일부, 예를 들어 마크 업 언어 문서에 저장된 하나 이상의 스크립트, 해당 프로그램 전용의 단일 파일 또는 다수의 조정된 파일(예를 들어, 하나 이상의 모듈, 서브 프로그램 또는 코드의 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 한 사이트에 위치하거나 여러 사이트에 분산되어 있고 통신 네트워크로 상호 연결된 다수의 컴퓨터상에서 실행되도록 배포될 수 있다.
본 명세서에 사용된 바와 같이, "기계-판독 가능 매체", "컴퓨터-판독 가능 매체"라는 용어는 기계 명령을 기계-판독 가능 신호로서 수신하는 기계-판독 가능 매체를 포함하는, 자기 디스크, 광 디스크, 메모리, 기계 명령 및 데이터를 프로그램 가능 프로세서로 제공하는데 사용되는 프로그램 가능 논리 디바이스(PLD)와 같은 임의의 컴퓨터 프로그램 제품, 장치 및/또는 디바이스를 지칭한다. "기계-판독 가능 신호"라는 용어는 기계 명령 및/또는 데이터를 프로그램 가능 프로세서에 제공하는데 사용되는 임의의 신호를 지칭한다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에 설명된 시스템 및 기술은 사용자에게 정보를 표시하기 위한 디스플레이 디바이스(예를 들어 CRT(음극선 관) 또는 LCD(액정 디스플레이) 모니터) 및 사용자가 컴퓨터에 입력을 제공할 수 있는 마우스 및 트랙볼과 같은 포인팅 디바이스 및 키보드를 갖는 컴퓨터상에 구현될 수 있다. 사용자와의 상호 작용을 제공하기 위해 다른 종류의 디바이스가 사용될 수도 있다. 예를 들어, 사용자에게 제공되는 피드백은 임의의 형태의 감각 피드백, 예를 들어 시각 피드백, 청각 피드백 또는 촉각 피드백일 수 있으며; 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다.
본 명세서에 기술된 시스템 및 기술은 예를 들어 데이터 서버와 같은 백엔드 구성 요소를 포함하거나, 애플리케이션 서버와 같은 미들웨어 구성 요소를 포함하거나, 또는 그래픽 사용자 인터페이스 또는 사용자가 본 명세서에 설명 된 시스템 및 기술의 구현과 상호 작용할 수 있는 웹 브라우저를 갖는 클라이언트 컴퓨터와 같은 프론트 엔드 컴포넌트, 또는 이러한 백엔드, 미들웨어 또는 프론트 엔드 구성 요소의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 구성 요소는 통신 네트워크와 같은 임의의 형태 또는 매체의 디지털 데이터 통신으로 상호 연결될 수 있다. 통신 네트워크의 예는 근거리 통신망("LAN"), 광역 통신망("WAN") 및 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 일반적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램으로 인해 발생한다.
위의 설명에 더하여, 사용자는 본 명세서에 기술된 시스템, 프로그램 또는 특징이 사용자 정보(예를 들어, 사용자의 소셜 네트워크, 소셜 액션 또는 활동에 관한 정보, 직업, 사용자의 선호도 또는 사용자의 현재 위치)의 수집을 가능하게 할 수 있는지 여부 및 시점에 대해 그리고 사용자가 서버호부터 컨텐츠 또는 통신을 전송받을 수 있는지 여부에 대해 사용자가 선택할 수 있게 하는 컨트롤들을 제공받을 수 있다. 또한, 특정 데이터는 개인 식별 정보가 제거되도록 저장 또는 사용하기 전에 하나 이상의 방식으로 처리될 수 있다.
예를 들어, 일부 구현예에서, 사용자의 신원은 사용자에 대한 개인 식별 정보가 결정되지 않도록 처리될 수 있거나, 사용자의 지리적 위치는 사용자의 특정 위치가 결정될 수 없도록 위치 정보가 획득되는 곳(도시, 우편 번호 또는 주 수준과 같은)으로 일반화될 수 있다. 따라서, 사용자는 사용자에 대해 어떤 정보가 수집되는지, 그 정보가 어떻게 사용되는지, 그리고 어떤 정보가 사용자에게 제공되는지를 제어할 수 있다.
많은 실시예들이 기술되었다. 그럼에도 불구하고, 본 발명의 범위를 벗어나지 않고 다양한 변형이 이루어질 수 있음을 이해할 것이다. 예를 들어, 위에 도시된 다양한 형태의 흐름도는 재배치된, 추가된 또는 제거된 단계들과 함께 사용될 수 있다. 또한, 시스템 및 방법의 몇몇 애플리케이션이 기술되었지만, 수 많은 다른 애플리케이션이 고려된다는 것을 인식해야 한다. 따라서, 다른 실시예는 다음의 청구항들의 범위 내에 있다.
주제의 특정 실시예들이 기술되었다. 다른 실시예는 다음의 청구항들의 범위 내에 있다. 예를 들어, 청구항들에 기재된 동작들은 다른 순서로 수행될 수 있으며 여전히 바람직한 결과를 달성할 수 있다. 일 예로서, 첨부 도면에 도시된 프로세스는 바람직한 결과를 달성하기 위해 도시된 특정 순서 또는 순차적인 순서를 반드시 요구할 필요는 없다. 경우에 따라, 멀티 태스킹 및 병렬 처리가 유리할 수 있다.

Claims (16)

  1. 하나 이상의 프로세서에 의해 구현되는 방법으로서,
    음성 호출을 요청하는 발언를 수신하는 단계, 상기 발언는 음성 작동 디바이스의 하나 이상의 마이크로폰을 통해 감지되고;
    발언에 기초하여, 발언이 수신자 음성 번호로 음성 호출할 것을 요청한다고 결정하는 단계;
    발언을 특정 공지 사용자가 발화한 것으로 분류하는 단계, 상기 분류하는 단계는 음성 호출이 개시되기 전이고;
    음성 호출이 개시되기 전에, 특정 공지 사용자로서 음성 호출하는데 사용된 음성 번호가 발언를 발화한 것으로 분류된 특정 공지 사용자에게 공지되었는지 여부를 결정하는 단계, 상기 특정 공지 사용자로서 음성 호출하는데 사용된 음성 번호는 특정 공지 사용자를 음성 호출의 수신자에 대한 호출자로 식별하고; 및
    발언이 수신자 음성 번호로 음성 호출할 것을 요청한다는 결정에 응답하고 그리고 특정 공지 사용자로서 음성 호출하는데 사용된 음성 번호가 발언를 발화한 것으로 분류된 특정 공지 사용자에게 공지되었다는 결정에 응답하여:
    음성 작동 디바이스에 의해, 다른 음성 번호 대신에 특정 공지 사용자로서 음성 호출하는데 사용된 음성 번호를 사용하여 수신자 음성 번호로 음성 호출을 개시하는 단계를 포함하는 하나 이상의 프로세서에 의해 구현되는 방법.
  2. 제1항에 있어서,
    상기 발언을 특정 공지 사용자가 발화한 것으로 분류하는 단계는,
    발언 내의 음성이 특정 공지 사용자에 대응하는 음성과 일치(match)하는지 여부를 결정하는 단계를 포함하는 하나 이상의 프로세서에 의해 구현되는 방법.
  3. 제2항에 있어서,
    상기 발언을 특정 공지 사용자가 발화한 것으로 분류하는 단계는,
    음성 작동 디바이스로부터 원격인 서버에 의해 수행되며, 음성 작동 디바이스로부터 서버로 전송되는 발언의 표현에 기초하는 하나 이상의 프로세서에 의해 구현되는 방법.
  4. 제1항에 있어서,
    상기 발언을 특정 공지 사용자가 발화한 것으로 분류하는 단계는,
    발언자의 적어도 일부의 시각 이미지가 특정 공지 사용자에 대응하는 시각 정보와 일치하는지 여부를 결정하는 단계를 포함하는 하나 이상의 프로세서에 의해 구현되는 방법.
  5. 제1항에 있어서,
    상기 특정 공지 사용자로서 음성 호출하는데 사용된 음성 번호가 발언를 발화한 것으로 분류된 특정 공지 사용자에게 공지되었는지 여부를 결정하는 단계는,
    특정 공지 사용자의 계정에 액세스하는 단계;
    특정 공지 사용자의 계정이 전화기를 나타내는지 여부를 결정하는 단계; 및
    특정 공지 사용자의 계정으로 표시된 전화기가 로컬 무선 연결을 통해 음성 작동 디바이스와 연결되어 있는지 결정하는 단계를 포함하는 하나 이상의 프로세서에 의해 구현되는 방법.
  6. 제5항에 있어서,
    상기 음성 호출을 개시하는 단계는 음성 작동 디바이스와 연결된 전화기를 통해 음성 호출를 개시하는 단계를 포함하는 하나 이상의 프로세서에 의해 구현되는 방법.
  7. 제1항에 있어서,
    상기 음성 호출을 개시하는 단계는 VoIP(Voice over Internet Protocol) 호출 제공자를 통해 음성 호출를 개시하는 단계를 포함하는 하나 이상의 프로세서에 의해 구현되는 방법.
  8. 제1항에 있어서,
    상기 특정 공지 사용자로서 음성 호출하는데 사용된 음성 번호가 발언를 발화한 것으로 분류된 특정 공지 사용자에게 공지되었는지 여부를 결정하는 단계는,
    음성 작동 디바이스에 의해, 특정 공지 사용자로서 음성 호출하는데 사용된 음성 번호를 서버가 음성 작동 디바이스에 제공했는지 결정하는 단계를 포함하는 하나 이상의 프로세서에 의해 구현되는 방법.
  9. 시스템으로서,
    하나 이상의 프로세서 및 하나 이상의 컴퓨터에 의해 실행될 때 하나 이상의 프로세서로 하여금 동작들을 수행하게 하도록 동작 가능한 명령들을 저장하는 하나 이상의 저장 디바이스를 포함하고, 상기 동작들은,
    음성 작동 디바이스에 의해, 음성 호출을 요청하는 발언를 수신하는 동작과;
    음성 작동 디바이스에 의해 서버로, 발언의 표현을 제공하는 동작과;
    발언을 특정 공지 사용자가 발화한 것으로 분류하는 동작과, 상기 분류하는 동작은 발언의 표현에 기초하여 음성 호출이 개시되기 전에 서버에 의해 수행되고;
    음성 작동 디바이스에 의해 서버로부터, 호출할 수신자 음성 번호 및 음성 호출하라는 지시를 수신하는 동작과;
    음성 작동 디바이스에 의해 음성 호출이 개시되기 전에, 특정 공지 사용자로서 음성 호출하는데 사용된 음성 번호가 발언를 발화한 것으로 분류된 특정 공지 사용자에게 공지되었는지 여부를 결정하는 동작과, 상기 특정 공지 사용자로서 음성 호출하는데 사용된 음성 번호는 특정 공지 사용자를 음성 호출의 수신자에 대한 호출자로 식별하고; 그리고
    음성 작동 디바이스에 의해 음성 호출이 개시되기 전에, 특정 공지 사용자로서 음성 호출하는데 사용된 음성 번호가 발언를 발화한 것으로 분류된 특정 공지 사용자에게 공지되었다는 결정에 응답하고 그리고 음성 호출하라는 지시를 수신하는 것에 응답하여:
    음성 작동 디바이스에 의해, 다른 음성 번호 대신에 특정 공지 사용자로서 음성 호출하는데 사용된 음성 번호를 사용하여 수신자 음성 번호로 음성 호출을 개시하는 동작을 포함하는 시스템.
  10. 제9항에 있어서,
    상기 발언을 특정 공지 사용자가 발화한 것으로 분류하는 동작은,
    발언 내의 음성이 특정 공지 사용자에 대응하는 음성과 일치하는지 여부를 결정하는 동작을 포함하는 시스템.
  11. 제9항에 있어서,
    상기 특정 공지 사용자에 의해 발화된 발언를 분류하는 동작은,
    발언자의 적어도 일부의 시각 이미지가 특정 공지 사용자에 대응하는 시각 정보와 일치하는지 여부를 결정하는 동작을 포함하는 시스템.
  12. 제9항에 있어서,
    상기 특정 공지 사용자로서 음성 호출하는데 사용된 음성 번호가 발언를 말한 것으로 분류된 특정 공지 사용자에게 공지되었는지 여부를 결정하는 동작은,
    특정 공지 사용자의 계정에 액세스하는 동작;
    특정 공지 사용자의 계정이 전화기를 나타내는지 여부를 결정하는 동작; 및
    특정 공지 사용자의 계정으로 표시된 전화기가 로컬 무선 연결을 통해 음성 작동 디바이스와 연결되어 있는지 결정하는 동작을 포함하는 시스템.
  13. 제12항에 있어서,
    상기 음성 호출을 개시하는 동작은 음성 작동 디바이스와 연결된 전화기를 통해 음성 호출를 개시하는 동작을 포함하는 시스템.
  14. 제9항에 있어서,
    상기 음성 호출을 개시하는 동작은 VoIP(Voice over Internet Protocol) 호출 제공자를 통해 음성 호출를 개시하는 동작을 포함하는 시스템.
  15. 제9항에 있어서,
    음성 작동 디바이스에 의해, 특정 공지 사용자로서 음성 호출하는데 사용된 음성 번호가 발언를 발화한 것으로 분류된 특정 공지 사용자에게 공지되었는지 여부를 결정하는 동작은,
    음성 작동 디바이스에 의해, 특정 공지 사용자로서 음성 호출하는데 사용된 음성 번호를 서버가 음성 작동 디바이스에 제공했는지 결정하는 동작을 포함하는 시스템.
  16. 실행시 하나 이상의 컴퓨터로 하여금 동작들을 수행하게 하는 하나 이상의 컴퓨터에 의해 실행 가능한 명령들을 포함하는 소프트웨어를 저장하는 비-일시적 컴퓨터 판독 가능 매체로서, 상기 동작들은,
    음성 호출를 요청하는 발언를 수신하는 단계, 상기 발언는 음성 작동 디바이스의 하나 이상의 마이크로폰을 통해 감지되고;
    발언에 기초하여, 발언이 수신자 음성 번호로 음성 호출할 것을 요청한다고 결정하는 단계;
    발언을 특정 공지 사용자가 발화한 것으로 분류하는 단계, 상기 분류하는 단계는 음성 호출이 개시되기 전이고;
    음성 호출이 개시되기 전에, 특정 공지 사용자로서 음성 호출하는데 사용된 음성 번호가 발언를 발화한 것으로 분류된 특정 공지 사용자에게 공지되었는지 여부를 결정하는 단계, 상기 특정 공지 사용자로서 음성 호출하는데 사용된 음성 번호는 특정 공지 사용자를 음성 호출의 수신자에 대한 호출자로 식별하고; 및
    발언이 수신자 음성 번호로 음성 호출할 것을 요청한다는 결정에 응답하고 그리고 특정 공지 사용자로서 음성 호출하는데 사용된 음성 번호가 발언를 발화한 것으로 분류된 특정 공지 사용자에게 공지되었다는 결정에 응답하여:
    음성 작동 디바이스에 의해, 다른 음성 번호 대신에 특정 공지 사용자로서 음성 호출하는데 사용된 음성 번호를 사용하여 수신자 음성 번호로 음성 호출을 개시하는 단계를 포함하는 비-일시적 컴퓨터 판독 가능 매체.
KR1020217005692A 2017-05-16 2018-05-16 공유된 음성 작동 디바이스상의 호출 핸들링 KR102303810B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020217029035A KR102396729B1 (ko) 2017-05-16 2018-05-16 공유된 음성 작동 디바이스상의 호출 핸들링

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762506805P 2017-05-16 2017-05-16
US62/506,805 2017-05-16
PCT/US2018/032873 WO2018213381A1 (en) 2017-05-16 2018-05-16 Handling calls on a shared speech-enabled device
KR1020197024069A KR102223017B1 (ko) 2017-05-16 2018-05-16 공유된 음성 작동 디바이스상의 호출 핸들링

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020197024069A Division KR102223017B1 (ko) 2017-05-16 2018-05-16 공유된 음성 작동 디바이스상의 호출 핸들링

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020217029035A Division KR102396729B1 (ko) 2017-05-16 2018-05-16 공유된 음성 작동 디바이스상의 호출 핸들링

Publications (2)

Publication Number Publication Date
KR20210024240A true KR20210024240A (ko) 2021-03-04
KR102303810B1 KR102303810B1 (ko) 2021-09-23

Family

ID=62567788

Family Applications (6)

Application Number Title Priority Date Filing Date
KR1020217029035A KR102396729B1 (ko) 2017-05-16 2018-05-16 공유된 음성 작동 디바이스상의 호출 핸들링
KR1020227015203A KR102458806B1 (ko) 2017-05-16 2018-05-16 공유된 음성 작동 디바이스상의 호출 핸들링
KR1020227036462A KR102582517B1 (ko) 2017-05-16 2018-05-16 공유된 음성 작동 디바이스상의 호출 핸들링
KR1020237032094A KR20230136707A (ko) 2017-05-16 2018-05-16 공유된 음성 작동 디바이스상의 호출 핸들링
KR1020197024069A KR102223017B1 (ko) 2017-05-16 2018-05-16 공유된 음성 작동 디바이스상의 호출 핸들링
KR1020217005692A KR102303810B1 (ko) 2017-05-16 2018-05-16 공유된 음성 작동 디바이스상의 호출 핸들링

Family Applications Before (5)

Application Number Title Priority Date Filing Date
KR1020217029035A KR102396729B1 (ko) 2017-05-16 2018-05-16 공유된 음성 작동 디바이스상의 호출 핸들링
KR1020227015203A KR102458806B1 (ko) 2017-05-16 2018-05-16 공유된 음성 작동 디바이스상의 호출 핸들링
KR1020227036462A KR102582517B1 (ko) 2017-05-16 2018-05-16 공유된 음성 작동 디바이스상의 호출 핸들링
KR1020237032094A KR20230136707A (ko) 2017-05-16 2018-05-16 공유된 음성 작동 디바이스상의 호출 핸들링
KR1020197024069A KR102223017B1 (ko) 2017-05-16 2018-05-16 공유된 음성 작동 디바이스상의 호출 핸들링

Country Status (6)

Country Link
US (8) US10911594B2 (ko)
EP (2) EP3920180A3 (ko)
JP (3) JP6974486B2 (ko)
KR (6) KR102396729B1 (ko)
CN (2) CN110392913B (ko)
WO (1) WO2018213381A1 (ko)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9306985B1 (en) * 2014-03-25 2016-04-05 8X8, Inc. User configurable data storage
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10141009B2 (en) 2016-06-28 2018-11-27 Pindrop Security, Inc. System and method for cluster-based audio event detection
CA3179080A1 (en) 2016-09-19 2018-03-22 Pindrop Security, Inc. Channel-compensated low-level features for speaker recognition
WO2018053537A1 (en) 2016-09-19 2018-03-22 Pindrop Security, Inc. Improvements of speaker recognition in the call center
CN111343060B (zh) 2017-05-16 2022-02-11 苹果公司 用于家庭媒体控制的方法和界面
KR102396729B1 (ko) 2017-05-16 2022-05-12 구글 엘엘씨 공유된 음성 작동 디바이스상의 호출 핸들링
US9888117B1 (en) * 2017-06-21 2018-02-06 GetHuman, Inc. Hold time reducer
US10911596B1 (en) * 2017-08-31 2021-02-02 Amazon Technologies, Inc. Voice user interface for wired communications system
EP3496090A1 (en) * 2017-12-07 2019-06-12 Thomson Licensing Device and method for privacy-preserving vocal interaction
EP3769510A1 (en) 2018-05-07 2021-01-27 Apple Inc. User interfaces for viewing live video feeds and recorded video
US11132681B2 (en) 2018-07-06 2021-09-28 At&T Intellectual Property I, L.P. Services for entity trust conveyances
KR102574903B1 (ko) * 2018-08-08 2023-09-05 삼성전자주식회사 개인화된 장치 연결을 지원하는 전자 장치 및 그 방법
US10802872B2 (en) 2018-09-12 2020-10-13 At&T Intellectual Property I, L.P. Task delegation and cooperation for automated assistants
US11481186B2 (en) * 2018-10-25 2022-10-25 At&T Intellectual Property I, L.P. Automated assistant context and protocol
US10958775B2 (en) 2018-12-10 2021-03-23 Mitel Networks Corporation Speech to dual-tone multifrequency system and method
US11830485B2 (en) * 2018-12-11 2023-11-28 Amazon Technologies, Inc. Multiple speech processing system with synthesized speech styles
TR201821135A2 (tr) * 2018-12-30 2019-01-21 Turkcell Teknoloji Arastirma Ve Gelistirme Anonim Sirketi Anlik mesajlaşma uygulamalarinda sesli̇ mesajlaşmanin teti̇klenmesi̇ni̇ sağlayan bi̇r si̇stem
US11019201B2 (en) 2019-02-06 2021-05-25 Pindrop Security, Inc. Systems and methods of gateway detection in a telephone network
US11003419B2 (en) * 2019-03-19 2021-05-11 Spotify Ab Refinement of voice query interpretation
JP7167797B2 (ja) * 2019-03-22 2022-11-09 株式会社ナカヨ 主装置および内線電話機の割り当て方法
WO2020198354A1 (en) * 2019-03-25 2020-10-01 Pindrop Security, Inc. Detection of calls from voice assistants
US12015637B2 (en) 2019-04-08 2024-06-18 Pindrop Security, Inc. Systems and methods for end-to-end architectures for voice spoofing detection
WO2020222539A1 (en) 2019-05-02 2020-11-05 Samsung Electronics Co., Ltd. Hub device, multi-device system including the hub device and plurality of devices, and method of operating the same
US10904029B2 (en) 2019-05-31 2021-01-26 Apple Inc. User interfaces for managing controllable external devices
WO2020246922A1 (en) * 2019-06-04 2020-12-10 Telefonaktiebolaget Lm Ericsson (Publ) Network node, ims node and methods in a communications network
EP3981123A1 (en) * 2019-06-04 2022-04-13 Telefonaktiebolaget Lm Ericsson (Publ) Network node, ims node and methods in a communications network
WO2020246923A1 (en) * 2019-06-04 2020-12-10 Telefonaktiebolaget Lm Ericsson (Publ) Network node, ims node and methods in a communications network
WO2020256604A1 (en) * 2019-06-19 2020-12-24 Telefonaktiebolaget Lm Ericsson (Publ) Network node, ims node and methods in a communications network
US11176940B1 (en) * 2019-09-17 2021-11-16 Amazon Technologies, Inc. Relaying availability using a virtual assistant
CN111063343B (zh) * 2019-12-11 2022-08-19 广东美的厨房电器制造有限公司 语音交互方法、装置、电子设备及介质
US11423893B2 (en) * 2020-01-06 2022-08-23 Lenovo (Singapore) Pte. Ltd. Response to secondary inputs at a digital personal assistant
US11240366B2 (en) 2020-02-03 2022-02-01 Microsoft Technology Licensing, Llc Digital assistant for emergency calling
US11079913B1 (en) * 2020-05-11 2021-08-03 Apple Inc. User interface for status indicators
US11750668B1 (en) * 2020-06-23 2023-09-05 Nikolay Abkairov Combined asynchronous and synchronous communication system and service with transcription support
US11700226B2 (en) 2020-08-03 2023-07-11 Google Llc Sending messages from smart speakers and smart displays via smartphones
US11392291B2 (en) 2020-09-25 2022-07-19 Apple Inc. Methods and interfaces for media control with dynamic feedback
US11908473B2 (en) * 2022-05-10 2024-02-20 Apple Inc. Task modification after task initiation
EP4321990A1 (en) * 2022-08-11 2024-02-14 Koninklijke Philips N.V. Selectively communicating an audio signal

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020065657A1 (en) * 2000-11-30 2002-05-30 Telesector Resources Group, Inc. Methods and apparatus for performing speech recognition and using speech recognition results
US20090204409A1 (en) * 2008-02-13 2009-08-13 Sensory, Incorporated Voice Interface and Search for Electronic Devices including Bluetooth Headsets and Remote Systems
US20150169336A1 (en) * 2013-12-16 2015-06-18 Nuance Communications, Inc. Systems and methods for providing a virtual assistant
WO2018035461A1 (en) * 2016-08-19 2018-02-22 Amazon Technologies, Inc. Enabling voice control of telephone device

Family Cites Families (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4661975A (en) 1985-03-13 1987-04-28 Bell Communications Research, Inc. Enhanced call-waiting service
US4945570A (en) 1987-10-02 1990-07-31 Motorola, Inc. Method for terminating a telephone call by voice command
US4870686A (en) 1987-10-19 1989-09-26 Motorola, Inc. Method for entering digit sequences by voice command
JPH02312426A (ja) 1989-05-29 1990-12-27 Nissan Motor Co Ltd 車両用電話装置
US5165095A (en) * 1990-09-28 1992-11-17 Texas Instruments Incorporated Voice telephone dialing
US5483579A (en) 1993-02-25 1996-01-09 Digital Acoustics, Inc. Voice recognition dialing system
US5483586A (en) 1994-07-18 1996-01-09 Sussman; Lester Electronic on-line subscriber telephone directory
FI111893B (fi) 1995-06-02 2003-09-30 Nokia Corp Menetelmä ja laite puhelimen ohjaamiseksi komennoilla
US6167117A (en) * 1996-10-07 2000-12-26 Nortel Networks Limited Voice-dialing system using model of calling behavior
GB2348566A (en) 1999-03-31 2000-10-04 Ibm Computer network telephony
EP1058236B1 (en) * 1999-05-31 2007-03-07 Nippon Telegraph and Telephone Corporation Speech recognition based database query system
US7746994B1 (en) 1999-09-28 2010-06-29 Naxos Finance Sa Method for managing information in a telephone and telephone for managing information
DE60026179T2 (de) * 2000-01-19 2006-11-02 Koninklijke Philips Electronics N.V. Fm rundfunkempfänger
US6868142B2 (en) 2001-01-10 2005-03-15 At&T Corp. Voice-operated interface for DTMF-controlled systems
US20030103618A1 (en) 2001-12-03 2003-06-05 International Business Machines Corporation Voice browsing while waiting in a hold queue
JP3911162B2 (ja) * 2002-01-18 2007-05-09 アルパイン株式会社 携帯電話のハンズフリー装置
US20040010408A1 (en) 2002-07-10 2004-01-15 Mani Babu V. Method and system for identifying a caller based on voice recognition
JP3901666B2 (ja) 2003-05-26 2007-04-04 シャープ株式会社 移動電話機
US7852993B2 (en) * 2003-08-11 2010-12-14 Microsoft Corporation Speech recognition enhanced caller identification
US7015049B2 (en) * 2003-09-03 2006-03-21 Infineon Technologies Ag Fence-free etching of iridium barrier having a steep taper angle
US20050154587A1 (en) * 2003-09-11 2005-07-14 Voice Signal Technologies, Inc. Voice enabled phone book interface for speaker dependent name recognition and phone number categorization
US7870184B2 (en) 2004-04-05 2011-01-11 Avaya Inc. Communications services for business process design
US7826945B2 (en) 2005-07-01 2010-11-02 You Zhang Automobile speech-recognition interface
US9118754B2 (en) * 2005-10-18 2015-08-25 Robert H. Nagel System and method for providing a public/private telephone number system
AU2005338854A1 (en) * 2005-12-06 2007-06-14 Daniel John Simpson Interactive natural language calling system
US20070299670A1 (en) * 2006-06-27 2007-12-27 Sbc Knowledge Ventures, Lp Biometric and speech recognition system and method
US7831431B2 (en) * 2006-10-31 2010-11-09 Honda Motor Co., Ltd. Voice recognition updates via remote broadcast signal
WO2008116296A1 (en) * 2007-03-26 2008-10-02 Digifonica (International) Limited Emergency assistance calling for voice over ip communications systems
US8131556B2 (en) 2007-04-03 2012-03-06 Microsoft Corporation Communications using different modalities
US20080247529A1 (en) * 2007-04-03 2008-10-09 Microsoft Corporation Incoming Call Classification And Disposition
US20110026687A1 (en) * 2009-07-31 2011-02-03 Vladimir Smelyansky Emergency 911 services with just-in-time provisioning for voip customers
US9026444B2 (en) 2009-09-16 2015-05-05 At&T Intellectual Property I, L.P. System and method for personalization of acoustic models for automatic speech recognition
JP5567914B2 (ja) * 2010-06-25 2014-08-06 京セラ株式会社 携帯端末装置
KR101771013B1 (ko) 2011-06-09 2017-08-24 삼성전자 주식회사 정보 제공 방법 및 이를 구현하는 이동통신단말기
US20130148582A1 (en) * 2011-11-17 2013-06-13 Tip Solutions, Inc. Message injection system and method
US9529793B1 (en) * 2012-06-01 2016-12-27 Google Inc. Resolving pronoun ambiguity in voice queries
US20160063106A1 (en) 2012-08-08 2016-03-03 Google Inc. Related Entity Search
US9224387B1 (en) 2012-12-04 2015-12-29 Amazon Technologies, Inc. Targeted detection of regions in speech processing data streams
EP2784774A1 (en) 2013-03-29 2014-10-01 Orange Telephone voice personnal assistant
US8903051B2 (en) * 2013-04-12 2014-12-02 Verizon Patent And Licensing Inc. Returning calls to emergency callers without valid telephone numbers
AU2014278595B2 (en) * 2013-06-13 2017-04-06 Apple Inc. System and method for emergency calls initiated by voice command
US10134395B2 (en) * 2013-09-25 2018-11-20 Amazon Technologies, Inc. In-call virtual assistants
US8719039B1 (en) * 2013-12-05 2014-05-06 Google Inc. Promoting voice actions to hotwords
US10073840B2 (en) 2013-12-20 2018-09-11 Microsoft Technology Licensing, Llc Unsupervised relation detection model training
US9286910B1 (en) * 2014-03-13 2016-03-15 Amazon Technologies, Inc. System for resolving ambiguous queries based on user context
US10789041B2 (en) 2014-09-12 2020-09-29 Apple Inc. Dynamic thresholds for always listening speech trigger
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US9424841B2 (en) * 2014-10-09 2016-08-23 Google Inc. Hotword detection on multiple devices
US9466297B2 (en) * 2014-12-09 2016-10-11 Microsoft Technology Licensing, Llc Communication system
US9911415B2 (en) * 2014-12-19 2018-03-06 Lenovo (Singapore) Pte. Ltd. Executing a voice command during voice input
US9756181B2 (en) * 2014-12-31 2017-09-05 Bailey Analytics, Inc Phone number identification systems and methods
US9544412B2 (en) * 2015-03-09 2017-01-10 Ford Global Technologies, Llc Voice profile-based in-vehicle infotainment identity identification
US9666192B2 (en) 2015-05-26 2017-05-30 Nuance Communications, Inc. Methods and apparatus for reducing latency in speech recognition applications
US9503577B1 (en) * 2015-07-10 2016-11-22 Verizon Patent And Licensing Inc. Emergency call service for groups of devices with a shared number
JP2017034386A (ja) 2015-07-30 2017-02-09 株式会社デンソー 車載機及びコンピュータプログラム
WO2017197650A1 (zh) * 2016-05-20 2017-11-23 华为技术有限公司 通话中的交互方法和设备
US20170374529A1 (en) 2016-06-23 2017-12-28 Diane Walker Speech Recognition Telecommunications System with Distributable Units
JP6402748B2 (ja) * 2016-07-19 2018-10-10 トヨタ自動車株式会社 音声対話装置および発話制御方法
US10423652B2 (en) 2016-08-08 2019-09-24 Baidu Usa Llc Knowledge graph entity reconciler
US10074369B2 (en) 2016-09-01 2018-09-11 Amazon Technologies, Inc. Voice-based communications
US20180218374A1 (en) 2017-01-31 2018-08-02 Moveworks, Inc. Method, system and computer program product for facilitating query resolutions at a service desk
KR102396729B1 (ko) 2017-05-16 2022-05-12 구글 엘엘씨 공유된 음성 작동 디바이스상의 호출 핸들링
US20180343233A1 (en) 2017-05-24 2018-11-29 Lenovo (Singapore) Pte. Ltd. Contextual name association
US10506088B1 (en) * 2017-09-25 2019-12-10 Amazon Technologies, Inc. Phone number verification
US10322330B2 (en) 2017-10-03 2019-06-18 Fanmountain Llc Systems, devices, and methods employing the same for enhancing audience engagement in a competition or performance
US10984799B2 (en) * 2018-03-23 2021-04-20 Amazon Technologies, Inc. Hybrid speech interface device
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11258746B1 (en) 2019-04-18 2022-02-22 Amazon Technologies, Inc. Setting overrides

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020065657A1 (en) * 2000-11-30 2002-05-30 Telesector Resources Group, Inc. Methods and apparatus for performing speech recognition and using speech recognition results
US20090204409A1 (en) * 2008-02-13 2009-08-13 Sensory, Incorporated Voice Interface and Search for Electronic Devices including Bluetooth Headsets and Remote Systems
US20150169336A1 (en) * 2013-12-16 2015-06-18 Nuance Communications, Inc. Systems and methods for providing a virtual assistant
WO2018035461A1 (en) * 2016-08-19 2018-02-22 Amazon Technologies, Inc. Enabling voice control of telephone device

Also Published As

Publication number Publication date
US20210368042A1 (en) 2021-11-25
JP2022019745A (ja) 2022-01-27
KR20220065887A (ko) 2022-05-20
JP7314238B2 (ja) 2023-07-25
KR20220150399A (ko) 2022-11-10
EP3920180A2 (en) 2021-12-08
EP3577646A1 (en) 2019-12-11
US11089151B2 (en) 2021-08-10
KR102396729B1 (ko) 2022-05-12
KR20190107106A (ko) 2019-09-18
US20180338037A1 (en) 2018-11-22
KR102458806B1 (ko) 2022-10-26
US11057515B2 (en) 2021-07-06
US10791215B2 (en) 2020-09-29
CN117238296A (zh) 2023-12-15
US11595514B2 (en) 2023-02-28
US11622038B2 (en) 2023-04-04
US10911594B2 (en) 2021-02-02
KR102223017B1 (ko) 2021-03-04
US20180337962A1 (en) 2018-11-22
CN110392913A (zh) 2019-10-29
EP3577646B1 (en) 2021-07-21
JP6974486B2 (ja) 2021-12-01
KR20210113452A (ko) 2021-09-15
US20230208969A1 (en) 2023-06-29
US20180338038A1 (en) 2018-11-22
US20210014354A1 (en) 2021-01-14
JP2020529744A (ja) 2020-10-08
CN110392913B (zh) 2023-09-29
KR102303810B1 (ko) 2021-09-23
JP2023138512A (ja) 2023-10-02
US20240244133A1 (en) 2024-07-18
EP3920180A3 (en) 2022-02-23
US20210092225A1 (en) 2021-03-25
KR20230136707A (ko) 2023-09-26
WO2018213381A1 (en) 2018-11-22
KR102582517B1 (ko) 2023-09-26
US11979518B2 (en) 2024-05-07

Similar Documents

Publication Publication Date Title
KR102223017B1 (ko) 공유된 음성 작동 디바이스상의 호출 핸들링
US20140162607A1 (en) System and Method for Answering a Communication Notification
US6563911B2 (en) Speech enabled, automatic telephone dialer using names, including seamless interface with computer-based address book programs
US12095945B2 (en) Indicating callers for incoming voice calls on a shared speech-enabled device
US6671354B2 (en) Speech enabled, automatic telephone dialer using names, including seamless interface with computer-based address book programs, for telephones without private branch exchanges
EP1511277A1 (en) Method for answering an incoming event with a phone device, and adapted phone device

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
A107 Divisional application of patent
GRNT Written decision to grant