KR20220120719A - 연산 어시스턴트에 의한 지연된 응답 - Google Patents

연산 어시스턴트에 의한 지연된 응답 Download PDF

Info

Publication number
KR20220120719A
KR20220120719A KR1020227028912A KR20227028912A KR20220120719A KR 20220120719 A KR20220120719 A KR 20220120719A KR 1020227028912 A KR1020227028912 A KR 1020227028912A KR 20227028912 A KR20227028912 A KR 20227028912A KR 20220120719 A KR20220120719 A KR 20220120719A
Authority
KR
South Korea
Prior art keywords
task
computing device
assistant
user
performance
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020227028912A
Other languages
English (en)
Other versions
KR102582516B1 (ko
Inventor
야리브 아단
블라디미르 부스코빅
베샤드 베자디
Original Assignee
구글 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20220120719A publication Critical patent/KR20220120719A/ko
Application granted granted Critical
Publication of KR102582516B1 publication Critical patent/KR102582516B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063114Status monitoring or status determination for a person or group
    • 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
    • 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/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
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/35Aspects of automatic or semi-automatic exchanges related to information services provided via a voice call
    • H04M2203/355Interactive dialogue design tools, features or methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/487Arrangements for providing information services, e.g. recorded voice services or time announcements
    • H04M3/493Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
    • H04M3/4936Speech interaction details
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Acoustics & Sound (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Databases & Information Systems (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Navigation (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

예시적인 방법은, 하나 이상의 프로세서에서 실행되는 컴퓨팅 어시스턴트에 의해, 컴퓨팅 장치에서 발언된 발화의 표현을 수신하는 단계; 상기 발화에 기초하여, 컴퓨팅 어시스턴트에 의해 수행될 태스크를 식별하는 단계; 상기 컴퓨팅 어시스턴트에 의해, 상기 태스크의 완전한 수행이 임계 시간보다 더 걸린다는 결정에 응답하여, 상기 컴퓨팅 장치에 동작 가능하게 연결된 하나 이상의 스피커에 의한 재생을 위해, 상기 태스크의 완전한 수행이 즉각적이지 않을 것이라는 것을 상기 컴퓨팅 장치의 사용자에게 알려주는 합성된 음성 데이터를 출력하는 단계; 그리고 상기 컴퓨팅 어시스턴트에 의해, 상기 태스크를 수행하는 단계를 포함한다.

Description

연산 어시스턴트에 의한 지연된 응답{DELAYED RESPONSES BY COMPUTATIONAL ASSISTANT}
본 명세서는 연산 어시스턴트에 의한 지연된 응답에 관한 것이다.
일부 컴퓨팅 플랫폼은 사용자가 가상의 컴퓨팅 어시스턴트(예를 들어, "지능형 어시스턴트" 또는 간단히 "어시스턴트"라고도 함)와 채팅, 말하기 또는 통신할 수 있는 사용자 인터페이스를 제공하여 어시스턴트가 유용한 정보를 출력하거나 사용자의 요구에 응답하거나 사용자가 다양한 실제 또는 가상 태스크를 완료하도록 돕는 특정 오퍼레이션을 수행하게 할 수 있다. 불행하게도, 이러한 어시스턴트에 의해 수행된 일부 오퍼레이션은 즉시 수행되지 않을 수 있으며, 어시스턴트가 올바르게 기능하는지 또는 오류가 발생했는지에 대해 사용자에게 의심하게 한다.
일반적으로, 본 개시의 기술은 하나 이상의 프로세서(예를 들어, "지능형 어시스턴트" 또는 간단히 "어시스턴트(assistants)"라고도 함)에서 실행되는 가상의 컴퓨팅 어시스턴트가 음성 또는 구두 요청의 만족이 즉각적이지 않을 것이라는 것을 사용자에게 통지할 수 있게 한다. 예를 들어, 컴퓨팅 장치는 마이크로폰을 통해 사용자 발화에 대응하는 음향 입력(예를 들어, 오디오 데이터)을 수신할 수 있다. 음향 입력에 기초하여, 컴퓨팅 어시스턴트는 (예를 들어, 음성 인식을 사용하여) 수행될 태스크를 식별할 수 있다. 컴퓨팅 어시스턴트가 태스크의 전체 수행이 임계 시간보다 오래 걸리는 것으로 결정하면, 컴퓨팅 장치는 하나 이상의 스피커로, 요청하는 사용자에게 태스크의 완전한 수행이 즉각적이지 않을 것임을 알려주는 합성된 음성 데이터를 출력할 수 있다. 이러한 방식으로, 응답이 지연될 것임을 사용자에게 알리지 않고 단지 태스크를 수행하는 것과는 달리, 컴퓨팅 어시스턴트는 사용자가 발화를 다시 말하는 것을 방지할 수 있다. 사용자가 발화를 다시 말하지 못하게함으로써, 컴퓨팅 어시스턴트는 중복 태스크를 수행하는 것을 회피하고 발화가 반복인지 또는 수행될 새로운 태스크인지를 결정하는 것을 회피할 수 있으며, 이는 컴퓨팅 어시스턴트의 기능성을 향상시킬 수 있다(예: 처리 요구량 및/또는 전력 소비를 줄임).
따라서, 장치와의 사용자 상호 작용에 대한 영향을 줄임으로써, 응답 시간과 관련된 기술적 제한을 개선할 수 있다. 특히, 처리 부하, 전력 소비 및 네트워크 사용과 같은 기술적 측면에 영향을 줄 수 있는 중복 발화를 회피할 수 있다. 또한, 이 방법은 태스크가 식별된 후 추가적인 사용자 발화를 피할 수 있으며; 이러한 추가 발화는 어시스턴트에 의한 태스크 선택의 관점에서 유용한 목적을 수행하지 않을 수 있으며, 예를 들어, 일관성이 없는 용어의 사용을 통해 모호성을 도입할 수 있다. 이와 같이, 사용자 요청의 해석을 돕기 위해 개선이 이루어질 수 있다.
일례로, 방법은, 하나 이상의 프로세서에서 실행되는 컴퓨팅 어시스턴트에 의해, 컴퓨팅 장치에서 발화(발언)된 발화의 표현을 수신하는 단계; 발화에 기초하여, 컴퓨팅 어시스턴트에 의해 수행될 태스크를 식별하는 단계; 컴퓨팅 어시스턴트에 의해, 태스크의 완전한 수행이 임계 시간보다 많은 시간이 걸린다는 결정에 응답하여, 컴퓨팅 장치에 동작 가능하게 연결된 하나 이상의 스피커에 의한 재생을 위해, 태스크의 완전한 수행이 즉각적이지 않을 것이라는 것을 컴퓨팅 장치의 사용자에게 알려주는 합성된 음성 데이터를 출력하는 단계; 그리고 컴퓨팅 어시스턴트에 의해 태스크를 수행하는 단계를 포함할 수 있다.
다른 예에서, 컴퓨팅 시스템은, 적어도 하나의 프로세서; 그리고 실행될 때, 적어도 하나의 프로세서로 하여금 동작들을 수행하도록 구성된 컴퓨팅 어시스턴트를 실행하게 하는 명령어들을 포함하는 메모리를 포함하며, 상기 동작들은, 컴퓨팅 장치에 동작 가능하게 연결된 하나 이상의 마이크로폰에서 발언된 발화의 표현을 수신하는 동작; 발화에 기초하여, 컴퓨팅 어시스턴트에 의해 수행될 태스크를 식별하는 동작; 태스크의 완전한 수행이 임계 시간보다 많은 시간이 걸린다는 결정에 응답하여, 컴퓨팅 장치에 동작 가능하게 연결된 하나 이상의 스피커에 의한 재생을 위해, 태스크의 완전한 수행이 즉각적이지 않을 것이라는 것을 컴퓨팅 장치의 사용자에게 알려주는 합성된 음성 데이터를 출력하는 동작; 그리고 태스크를 수행하는 동작을 포함한다.
다른 예에서, 컴퓨터 판독 가능 저장 매체는 실행될 때 컴퓨팅 시스템의 하나 이상의 프로세서로 하여금 동작들을 수행하도록 구성된 컴퓨팅 어시스턴트를 실행하게 하는 명령어를 저장하며, 상기 동작들은, 컴퓨팅 장치에 동작 가능하게 연결된 하나 이상의 마이크로폰에서 발언된 발화의 표현을 수신하는 동작; 발화에 기초하여, 컴퓨팅 어시스턴트에 의해 수행될 태스크를 식별하는 동작; 태스크의 완전한 수행이 임계 시간보다 많은 시간이 걸린다는 결정에 응답하여, 컴퓨팅 장치에 동작 가능하게 연결된 하나 이상의 스피커에 의한 재생을 위해, 태스크의 완전한 수행이 즉각적이지 않을 것이라는 것을 컴퓨팅 장치의 사용자에게 알려주는 합성된 음성 데이터를 출력하는 동작; 그리고 태스크를 수행하는 동작을 포함한다.
하나 이상의 예의 세부 사항은 첨부 도면 및 이하의 설명에 기재되어있다. 본 개시의 다른 특징, 목적 및 장점은 상세한 설명 및 도면 및 청구 범위로부터 명백할 것이다.
도 1은 본 개시의 하나 이상의 양태에 따라 예시적인 가상 어시스턴트를 실행하는 예시적인 시스템을 도시하는 개념도이다.
도 2는 본 개시의 하나 이상의 양태에 따라 예시적인 가상 어시스턴트를 실행하도록 구성된 예시적인 컴퓨팅 장치를 도시하는 블록도이다.
도 3은 본 개시의 하나 이상의 양태에 따라 예시적인 가상 어시스턴트를 실행하는 하나 이상의 프로세서에 의해 수행되는 예시적인 동작을 도시하는 흐름도이다.
도 4는 본 개시의 하나 이상의 양태에 따라 예시적인 가상 어시스턴트를 실행하도록 구성된 예시적인 컴퓨팅 장치를 도시하는 블록도이다.
도 1은 본 개시의 하나 이상의 양태에 따라 예시적인 가상 어시스턴트를 실행하는 예시적인 시스템을 도시하는 개념도이다. 도 1의 시스템(100)은 네트워크(130)를 통해 검색 서버 시스템(180) 및 컴퓨팅 장치(110)와 통신하는 디지털 어시스턴트 시스템(160)을 포함한다. 시스템(100)이 디지털 어시스턴트 시스템(160), 검색 서버 시스템(180) 및 컴퓨팅 장치(110) 사이에 분배되는 것으로 도시되어 있지만, 다른 예들에서, 시스템(100)에 기인한 특징 및 기술은 컴퓨팅 장치(110)의 로컬 컴포넌트에 의해 내부적으로 수행될 수 있다. 유사하게, 디지털 어시스턴트 시스템(160)은 특정 컴포넌트를 포함할 수 있고, 검색 서버 시스템(180) 및/또는 컴퓨팅 장치(110)에 대한 다양한 기술을 수행할 수 있다.
네트워크(130)는 컴퓨팅 시스템, 서버 및 컴퓨팅 장치 사이에서 데이터를 전송하기 위한 임의의 공공 또는 사설 통신 네트워크, 예를 들어 셀룰러, Wi-Fi 및/또는 다른 유형의 네트워크를 나타낸다. 디지털 어시스턴트 시스템(160)은 컴퓨팅 장치(110)가 네트워크(130)에 연결될 때 컴퓨팅 장치(110)에 액세스 가능한 가상 어시스턴트 서비스를 제공하기 위해 네트워크(130)를 통해 데이터를 컴퓨팅 장치(110)와 교환할 수 있다. 디지털 어시스턴트 시스템(160)은 네트워크(130)를 통해 검색 서버 시스템(180)에 의해 제공되는 검색 서비스에 액세스하기 위해 검색 서버 시스템(180)과 데이터를 교환할 수 있다. 컴퓨팅 장치(110)는 네트워크(130)를 통해 검색 서버 시스템(180)에 의해 제공되는 검색 서비스에 액세스하기 위해 검색 서버 시스템(180)과 데이터를 교환할 수 있다.
네트워크(130)는 동작 가능하게 상호 연결되어 시스템(160 및 180)과 컴퓨팅 장치(110) 사이에 정보의 교환을 제공하는 하나 이상의 네트워크 허브, 네트워크 스위치, 네트워크 라우터 또는 임의의 다른 네트워크 장비를 포함할 수 있다. 컴퓨팅 장치(110), 디지털 어시스턴트 시스템(160) 및 검색 서버 시스템(180)은 임의의 적절한 통신 기술을 사용하여 네트워크(130)를 통해 데이터를 송수신할 수 있다. 컴퓨팅 장치(110), 디지털 어시스턴트 시스템(160) 및 검색 서버 시스템(180)은 각각의 네트워크 링크를 사용하여 네트워크(130)에 각각 동작 가능하게 연결될 수 있다. 컴퓨팅 장치(110), 디지털 어시스턴트 시스템(160) 및 검색 서버 시스템(180)을 네트워크(130)에 연결하는 링크는 이더넷 또는 다른 유형의 네트워크 연결일 수 있고, 이러한 연결은 무선 및/또는 유선 연결일 수 있다.
디지털 어시스턴트 시스템(160) 및 검색 서버 시스템(180)은 하나 이상의 데스크톱 컴퓨터, 랩톱 컴퓨터, 메인프레임, 서버, 클라우드 컴퓨팅 시스템 등과 같이 네트워크 (130)와 같은 네트워크와 정보를 송수신할 수 있는 임의의 적합한 원격 컴퓨팅 시스템을 나타낸다. 디지털 어시스턴트 시스템(160)은 가상 어시스턴트 서비스를 호스팅(또는 적어도 액세스를 제공)한다. 검색 서버 시스템(180)은 검색 서비스를 호스트(또는 적어도 액세스를 제공)한다. 일부 예에서, 디지털 어시스턴트 시스템(160) 및 검색 서버 시스템(180)은 클라우드를 통해 그들의 각각의 서비스에 대한 액세스를 제공하는 클라우드 컴퓨팅 시스템을 나타낸다.
컴퓨팅 장치(110)는 하나 이상의 개별 모바일 또는 비-모바일 컴퓨팅 장치를 나타낸다. 컴퓨팅 장치(110)의 예는 휴대폰, 태블릿 컴퓨터, 랩톱 컴퓨터, 데스크톱 컴퓨터, 서버, 메인 프레임, 셋톱 박스, 텔레비전, 웨어러블 장치(예: 컴퓨터 시계, 컴퓨터 안경, 컴퓨터 장갑 등), 홈 오토메이션 장치 또는 시스템(예: 지능형 서모 스탯 또는 홈 어시스턴트 장치), 개인 휴대 정보 단말기(PDA), 게임 시스템, 미디어 플레이어, 전자 책 리더, 모바일 텔레비전 플랫폼, 자동차 네비게이션 또는 인포테인먼트 시스템 또는 가상 어시스턴트를 실행 또는 액세스하고 네트워크(130)와 같은 네트워크를 통해 정보를 수신하도록 구성된 임의의 다른 유형의 모바일, 비-모바일, 웨어러블 및 웨어러블 컴퓨팅 장치를 포함한다.
디지털 어시스턴트 시스템(160) 및/또는 검색 서버 시스템(180)은 컴퓨팅 장치(110)가 디지털 어시스턴트 시스템(160)에 의해 제공되는 가상 어시스턴트 서비스에 액세스하도록 및/또는 컴퓨팅 장치(110)가 검색 서버 시스템(180)에 의해 제공되는 검색 서비스에 대한 액세스를 제공하기 위해 네트워크(130)를 통해 컴퓨팅 장치(110)와 통신할 수 있다. 가상 어시스턴트 서비스를 제공하는 과정에서, 디지털 어시스턴트 시스템(160)은 태스크를 완료하기 위해 가상 어시스턴트 서비스 정보의 사용자에게 제공하기 위한 검색 결과를 얻기 위해 네트워크(130)를 통해 검색 서버 시스템(180)과 통신할 수 있다.
도 1의 예에서, 디지털 어시스턴트 시스템(160)은 원격 어시스턴트 모듈(122B) 및 사용자 정보 데이터 저장소(124B)를 포함한다. 원격 어시스턴트 모듈(122B)은 디지털 어시스턴트 시스템(160)이 네트워크(130)를 통해 (예를 들어, 컴퓨팅 장치(110)에) 제공하는 가상 어시스턴트 서비스의 일부로서 사용자 정보 데이터 저장소(124B)를 유지(maintain)할 수 있다. 컴퓨팅 장치(110)는 사용자 인터페이스 장치(UID)(112), 사용자 인터페이스(UI)모듈(120), 로컬 어시스턴트 모듈(122A) 및 사용자 정보 데이터 저장소(124A)를 포함한다. 로컬 어시스턴트 모듈(122A)은 컴퓨팅 장치(110)에서 로컬로 실행되는 가상 어시스턴트 서비스의 일부로서 사용자 정보 데이터 저장소(124A)를 유지할 수 있다. 원격 어시스턴트 모듈(122B) 및 로컬 어시스턴트 모듈(122A)은 전체적으로 어시스턴트 모듈(122A 및 122B)로 지칭될 수 있다. 로컬 데이터 저장소(124A) 및 원격 데이터 저장소(124B)는 집합적으로 데이터 저장소(124A 및 124B)로 지칭될 수 있다.
모듈들(120, 122A, 122B, 및 182)은 소프트웨어, 하드웨어, 펌웨어, 또는 컴퓨팅 장치(110), 디지털 어시스턴트 시스템(160) 또는 서버 시스템(180) 중 하나에서 상주 및/또는 실행되는 하드웨어, 소프트웨어 및 펌웨어의 혼합을 사용하여 기술된 동작들을 수행할 수 있다. 컴퓨팅 장치(110), 디지털 어시스턴트 시스템(160) 및 검색 서버 시스템(180)은 다수의 프로세서 또는 다수의 장치로 모듈(120, 122A, 122B 및 182)을 실행할 수 있다. 컴퓨팅 장치(110), 디지털 어시스턴트 시스템(160) 및 검색 서버 시스템(180)은 기본 하드웨어 상에서 실행되는 가상 머신으로서 모듈(120, 122A, 122B 및 182)을 실행할 수 있다. 모듈들(120, 122A, 122B 및 182)은 운영 체제 또는 컴퓨팅 플랫폼의 하나 이상의 서비스로서 실행될 수 있다. 모듈들(120, 122A, 122B 및 182)은 컴퓨팅 플랫폼의 애플리케이션 계층에서 하나 이상의 실행 가능한 프로그램으로서 실행될 수 있다.
컴퓨팅 장치(110)의 UID(112)는 컴퓨팅 장치(110)를 위한 입력 및/또는 출력 장치로서 기능할 수 있다. UID(112)는 다양한 기술을 사용하여 구현될 수 있다. 예를 들어, UID(112)는 저항성 터치 스크린, 표면 탄성파 터치 스크린, 용량성 터치 스크린, 투영 정전 용량 터치 스크린, 압력 감지 스크린, 음향 펄스 인식 터치 스크린 또는 다른 존재 감지 디스플레이 기술과 같은 존재 감지 입력 스크린을 사용하는 입력 장치로서 기능할 수 있다.
UID(112)는 마이크로폰 기술, 적외선 센서 기술, 또는 사용자 입력을 수신하는데 사용하기 위한 다른 입력 장치 기술을 사용하는 입력 장치로서 기능할 수 있다. 예를 들어, UID(112)는 내장 마이크 기술을 사용하여 UI 모듈(120) 및/또는 로컬 어시스턴트 모듈(122A)이 태스크를 완료하기 위해 처리하는 음성 입력을 검출할 수 있다. 다른 예로서, UID(112)는 컴퓨팅 장치(110)의 사용자로부터 촉각 입력을 수신할 수 있는 존재 감지(presence-sensitive) 디스플레이를 포함할 수 있다. UID(112)는 사용자(예를 들어, 사용자가 손가락 또는 스타일러스 펜으로 UID(112)의 하나 이상의 위치를 터치하거나 가리키는)로부터 하나 이상의 제스처를 검출함으로써 촉각 입력의 표시(indications)를 수신할 수 있다.
UID(112)는 출력(예를 들어, 디스플레이) 장치로서 기능할 수 있고 출력을 사용자에게 제시할 수 있다. UID(112)는 액정 디스플레이(LCD), 도트 매트릭스 디스플레이, 발광 다이오드(LED) 디스플레이, 유기 발광 다이오드(OLED) 디스플레이, 전자-잉크 또는 가시적 정보를 컴퓨팅 장치(110)의 사용자에게 출력할 수 있는 유사한 단색 또는 컬러 디스플레이와 같은, 임의의 하나 이상의 디스플레이 장치를 사용하는 출력 장치로서 기능할 수 있다. UID(112)는 스피커 기술, 햅틱 피드백 기술, 또는 사용자에게 정보를 출력하는데 사용하기 위한 다른 출력 장치 기술을 사용하여 출력 장치로서 기능할 수 있다. UID(112)는 로컬 어시스턴트 모듈(122A) 및/또는 원격 어시스턴트 모듈(122B)에 의해 제공되는 가상 어시스턴트와 관련된 사용자 인터페이스를 제시할 수 있다. UUID(112)는 컴퓨팅 장치(110)에서 실행되고 그리고/또는 컴퓨팅 장치(110)로부터 액세스 가능한 컴퓨팅 플랫폼, 운영 체제, 애플리케이션 및/또는 서비스(예: 이메일, 채팅, 온라인 서비스, 전화, 게임 등)의 다른 특징과 관련된 사용자 인터페이스를 제공할 수 있다.
UI 모듈(120)은 UID(112) 및 UID(112)를 통해 어시스턴트 서비스를 제공하기 위해 디지털 어시스턴트 시스템(160)과의 상호 작용을 포함하는 컴퓨팅 장치(110)의 다른 컴포넌트와의 사용자 상호 작용을 관리할 수 있다. UI 모듈(120)은 컴퓨팅 장치(110)의 사용자가 출력을 보고 및/또는 UID(112)에서 입력을 제공함에 따라 UID(112)가 사용자 인터페이스를 출력하게 할 수 있다. UI 모듈(120) 및 UID(112)는 사용자가 사용자 인터페이스와 상호 작용할 때 그리고 다른 시간에, 사용자가 사용자 인터페이스와 상호 작용할 때 사용자로부터 하나 이상의 입력(예를 들어, 음성 입력, 제스처 입력 등)의 표시를 수신할 수 있다. UI 모듈(120) 및 UID(112)는 UID(112)에서 검출된 입력을 해석할 수 있고, UID(112)에서 검출된 입력에 관한 정보를 로컬 어시스턴트 모듈(122A) 및/또는 하나 이상의 다른 관련 플랫폼, 운영 체제, 애플리케이션 및/또는 컴퓨팅 장치(110)에서 실행되는 서비스로 중계할 수 있으며, 예를 들어, 컴퓨팅 장치(110)로 하여금 기능을 수행하게 한다.
UI 모듈(120)은 컴퓨팅 장치(110) 및/또는 시스템(160 및 180)과 같은 하나 이상의 원격 컴퓨팅 시스템에서 실행되는 하나 이상의 관련 플랫폼, 운영 체제, 애플리케이션 및/또는 서비스로부터 정보 및 명령(명령어들)을 수신할 수 있다. 또한, UI 모듈(120)은 컴퓨팅 장치(110)에서 실행되는 하나 이상의 연관된 플랫폼, 운영 체제, 애플리케이션 및/또는 서비스와, 컴퓨팅 장치(110)와의 출력(예를 들어, 그래픽, 플래시, 사운드, 햅틱 응답 등)을 생성하기 위해 컴퓨팅 장치(110)의 다양한 출력 장치(예를 들어, 스피커, LED 표시기, 오디오 또는 햅틱 출력) 사이의 중개자로서 작용할 수 있다.
검색 모듈(182)은 검색 모듈(182)이 (예를 들어, 컴퓨팅 장치(110)와 관련된 컨텍스트 정보에 기초하여) 자동으로 생성하거나, (예를 들어, 가상 어시스턴트가 컴퓨팅 장치(110)의 사용자를 대신하여 완료하는 태스크의 일부로서) 검색 모듈(182)이 디지털 어시스턴트 시스템(160) 또는 컴퓨팅 장치(110)로부터 수신하는 검색 질의(쿼리)와 관련이 있는 것으로 결정된 정보에 대한 검색을 실행할 수 있다. 검색 모듈(182)은 다양한 정보 소스들(예를 들어, 검색 서버 시스템(180)에 로컬 또는 원격으로 저장됨)로부터 검색 쿼리에 관련된 정보(예: 날씨 또는 교통 상황, 뉴스, 주가, 스포츠 점수, 사용자 일정, 운송 일정, 소매가격 등)를 식별하기 위해 검색 쿼리에 기초하여 인터넷 검색을 수행할 수 있다. 검색을 실행한 후, 검색 모듈(182)은 검색(예를 들어, 검색 결과)으로부터 리턴된 정보를 디지털 어시스턴트 시스템(160) 또는 컴퓨팅 장치(110)에 출력할 수 있다.
컴퓨팅 장치(110)의 로컬 어시스턴트 모듈 (122A) 및 디지털 어시스턴트 시스템(160)의 원격 어시스턴트 모듈(122B)은 각각 사용자를 위해 다양한 태스크를 수행하도록 구성된 어시스턴트를 자동으로 실행하기 위해 여기에 설명된 유사한 기능을 수행할 수 있다. 원격 어시스턴트 모듈(122B) 및 사용자 정보 데이터 저장소(124B)는 예시적인 가상 어시스턴트의 클라우드 구현 또는 서버 측을 나타내는 반면, 로컬 어시스턴트 모듈(122A) 및 사용자 정보 데이터 저장소(124A)는 예시적인 가상 어시스턴트의 로컬 구현 또는 클라이언트 측을 나타낸다.
모듈(122A 및 122B)(통칭하여, "어시스턴트 모듈(122)")은 각각 컴퓨팅 장치(110)의 사용자와 같은 개인을 위한 태스크 또는 서비스를 수행할 수 있는 지능형 개인 어시스턴트로서 실행하도록 구성된 각각의 소프트웨어 에이전트를 포함할 수 있다. 어시스턴트 모듈(122)은 (예: UID(112)에서 감지된) 사용자 입력, 위치 인식(예: 컨텍스트에 따라) 및/또는 다양한 정보 소스(예를 들어, 컴퓨팅 장치(110), 디지털 어시스턴트 시스템(160)에 로컬로 저장되거나 검색 서버 시스템(180)에 의해 제공되는 검색 서비스를 통해 획득됨)로부터 다른 정보(예: 날씨 또는 교통 상황, 뉴스, 주가, 스포츠 점수, 사용자 일정, 운송 일정, 소매가격 등)에 액세스하는 능력에 기초하여 이러한 태스크 또는 서비스를 수행할 수 있다. 어시스턴트 모듈(122)에 의해 제공되는 어시스턴트는 어시스턴트가 광범위한 태스크를 수행할 수 있다는 점에서 범용 어시스턴트로 간주될 수 있다. 어시스턴트 모듈(122)은 인공 지능 및/또는 기계 학습 기술을 수행하여 사용자를 대신하여 하나 이상의 태스크를 자동으로 식별하고 완료할 수 있다.
어시스턴트 모듈(122)에 의해 제공되는 각각의 어시스턴트는 컴퓨팅 장치(110)의 사용자의 구두(verbal) 또는 발언된 요청(spoken requests)을 만족시키기 위해 오퍼레이션을 수행하는 과정에서 하나 이상의 태스크를 수행하도록 구성될 수 있다. 예를 들어, 어시스턴트 모듈(122)에 의해 제공되는 어시스턴트는 컴퓨팅 장치(110)의 하나 이상의 마이크로폰으로, 컴퓨팅 장치(110)의 사용자가 특정 태스크(예를 들어, "내일 밤 7시 30분에 La'French Spot에서 4명 예약")의 수행을 요청하는 발화에 대응하는 음향 입력(예를 들어, 오디오 데이터)을 수신할 수 있다.
어시스턴트 모듈(122)에 의해 제공되는 어시스턴트는 음성 발화(발언된 발화)에 대응하는 태스크를 식별하기 위해 오디오 데이터를 분석할 수 있다. 예를 들어, 어시스턴트 모듈(122)에 의해 제공되는 어시스턴트는 "내일 밤 7시 30 분에 La'French Spot에서 4명 예약"의 음성 발화가 "파티 규모: 4, 날짜: 내일, 시간: 오후 7:30, 장소: La'French Spot"의 파라미터를 갖는 예약 태스크에 대응한다는 것을 결정하기 위해 음성 인식을 이용할 수 있다.
일부 예들에서, 식별된 태스크의 완료는 하나 이상의 서브 태스크의 완료를 요구할 수 있다. 일부 예시적인 서브 태스크는 컴퓨팅 장치(110)의 사용자 이외의 다른 사람과 상호 작용하는 것(예를 들어, 합성된 음성을 사용하여 전화를 걸음), 예약, 티켓 구매, 계산, 하나 이상의 컴퓨팅 시스템과 상호 작용, 검색어 실행, 일정 관리 이벤트 작성 또는 수정 등을 포함하지만 이에 한정되지는 않는다. 예를 들어, 예약 태스크 만들기(make reservation tasks)(예약 태스크)의 완료는 요청에서 레스토랑(식당)을 식별하기 위해 검색 질의를 실행하는 제1 서브-태스크 및 식별된 레스토랑에서 실제로 예약을 하는 제2 서브-태스크를 요구할 수 있다. 특정 태스크의 완료가 요청하는 사용자에게 쉽게 드러날 수 없는 경우와 같은 일부 예에서 (예를 들어, 요청하는 사용자 근처에서 물리적으로 이동하거나 변경되는 일부 홈 자동화 액션과 반대되는), 어시스턴트는 요청하는 사용자에게 태스크가 완료되었음을 알리는 서브-태스크를 수행할 수 있다. 예를 들어, 예약 태스크 만들기(예약 태스크)는 요청한 사용자에게 예약이 완료되었음을 알리는 제3 서브-태스크를 포함할 수 있다.
어시스턴트 모듈(122)에 의해 제공되는 어시스턴트는 식별된 태스크를 수행할 수 있다. 예를 들어, 예약(make reservation) 예를 계속하기 위해, 어시스턴트 모듈(122)에 의해 제공된 어시스턴트는 검색 서버 시스템(180)에 사용자의 현재 위치에 근접한(또는 어시스턴트가 사용자가 예약 시점에 이동(traveling)할 것이라고 예측하는 경우, 사용자의 예측된 위치에 근접한) "La'French Spot"이라는 식당을 찾기 위한 요청을 출력함으로써 상기 요청에서 식당을 식별하는 서브 태스크를 수행할 수 있다. 식당을 식별한 후, 어시스턴트 모듈(122)에 의해 제공된 어시스턴트는 식별된 식당에 실제로 예약을 하는 서브-태스크를 수행할 수 있다. 일례로서, 식별된 식당이 (예를 들어, 네트워크(130)를 통해) 어시스턴트에 의해 액세스 가능한 전자 예약 시스템을 사용하는 경우, 어시스턴트는 전자 예약 시스템을 통해 예약 요청을 전자적으로 제출할 수 있다. 다른 예로서, 어시스턴트 모듈(122)에 의해 제공되는 어시스턴트는 (예를 들어, 검색 서버 시스템(180)에 의해 식별된 연락처 정보를 사용하여) 식별된 식당에 전화를 걸 수 있다. 어시스턴트가 실제로 예약을하는 서브-태스크를 완료하면, 어시스턴트는 요청한 사용자에게 예약이 이루어졌다는 표시를 출력할 수 있다. 예를 들어, 어시스턴트는 컴퓨팅 장치(110)의 하나 이상의 스피커가 "내일 오후 7시 30분에 La'French Spot에서 4명 예약이 확인되었다"는 것을 나타내는 합성 음성 데이터를 출력하게 할 수 있다.
일부 예들에서, 어시스턴트 모듈(122)에 의해 제공되는 어시스턴트는 임계 시간(예: 500 밀리 초, 1 초, 2 초, 5 초, 10 초, 30 초 등) 내에 식별된 태스크의 수행(또는 식별된 태스크의 모든 서브-태스크의 완전한 수행)을 완료하지 못할 수 있다. 다시 말해서, 사용자가 음성 발화를 제공할 때와 어시스턴트가 음성 발화에 기초하여 식별된 태스크의 수행을 완료할 수 있을 때 사이에 지연이 있을 수 있다. 지연 동안, 사용자는 어시스턴트 모듈(122)에 의해 제공된 어시스턴트가 기능하지 않거나 원래의 요청을 수신하지 않은 것에 대해 우려할 수 있다. 이와 같이, 사용자는 발화를 다시 말할 수 있으며, 이는 어시스턴트 모듈(122)에 의해 제공된 어시스턴트로 하여금 중복 태스크를 수행하게 하고 및/또는 새로운 발화가 추가적인 액션을 요구하지 않는 원래 발화의 반복인지 또는 새로운 태스크를 수행하기 위한 요청인지를 결정해야 할 수 있다.
본 개시의 하나 이상의 기술에 따르면, 태스크의 완전한 수행이 즉시 수행될 수 없다면 (예를 들어, 구성 가능한 임계 시간 내에), 어시스턴트 모듈(122)에 의해 제공된 어시스턴트는 태스크의 완전한 수행이 즉각적이지 않을 것이라는 표시를 출력할 수 있다. 예를 들어, 어시스턴트 모듈(122)에 의해 제공된 어시스턴트는, 컴퓨팅 장치(110)에 동작 가능하게 연결된 하나 이상의 스피커에 의한 재생을 위해, 태스크의 완전한 수행이 즉각적이지 않을 것이라는 것을 사용자에게 알려주는 합성된 음성 데이터를 출력할 수 있다. 이런 식으로, 응답이 지연될 것임을 사용자에게 알리지 않고 태스크를 수행하는 것과 달리, 어시스턴트 모듈(122)에 의해 제공되는 어시스턴트는 사용자가 발화를 다시 말하는(re-stating) 것을 방지할 수 있다. 사용자가 발화를 다시 말하지 못하게함으로써, 어시스턴트 모듈(122)에 의해 제공되는 어시스턴트는 중복 태스크의 수행을 피하고, 발화가 반복되는지 또는 수행될 새로운 태스크인지를 결정하는 것을 피할 수 있으며, 이는 (예를 들어, 처리 요구량 및/또는 전력 소비를 감소시킴으로써) 어시스턴트 모듈(122)에 의해 제공되는 어시스턴트의 기능성을 향상시킬 수 있다.
어시스턴트 모듈(122)에 의해 제공되는 어시스턴트는 태스크의 완전한 수행이 임계 시간(예: 500 밀리 초, 1 초, 2 초, 5 초, 10 초, 30 초 등)보다 오래 걸리는 경우, 태스크의 완전한 수행이 즉각적이지 않을 것이라고 결정할 수 있다. 어시스턴트는 식별된 태스크의 유형, 식별된 태스크의 완전한 수행 등에 필요한 예상 시간을 포함하는 이에 제한되지 않는 광범위한 요인(factors)에 기초하여 태스크의 완전한 수행이 임계 시간보다 오래 걸리는지를 결정할 수 있다.
일례로서, 어시스턴트 모듈(122)에 의해 제공되는 어시스턴트는 태스크의 완전한 수행에 필요한 추정된 시간(예상 시간)을 결정할 수 있다. 예상 시간이 임계 값 시간보다 길면, 어시스턴트 모듈(122)에 의해 제공되는 어시스턴트는 태스크의 완전한 수행이 즉각적이지 않을 것이라고 결정할 수 있다. 일부 예들에서, 어시스턴트는 식별된 태스크와 동일한 유형의 태스크의 완전한 수행을 위해 이력 시간(historical times)에 기초하여 추정된 시간(예상시간)을 결정할 수 있다. 예를 들어, 식별된 태스크가 인기있는 티켓 중개인 웹 사이트로부터 티켓을 예약하는 경우, 어시스턴트는 어시스턴트가 과거에 인기있는 티켓 중개인 웹 사이트로부터 티켓을 예약하는데 걸린 시간에 기초하여 상기 식별된 태스크의 완전한 수행에 필요한 예상 시간을 결정할 수 있다. 일부 예들에서, 어시스턴트는 추가적인 컨텍스트(contextual) 정보에 기초하여 추정된 시간(예상 시간)을 결정할 수 있다. 예를 들어, 식별된 태스크가 인기있는 티켓 중개인 웹 사이트로부터 티켓을 예약하는 경우, 어시스턴트는 티켓의 릴리스(release) 날짜, 특정 그룹/행위(act)/액티비티의 인기도, 티켓 중개인(ticket broker)에 의해 표시된 대기 시간, 큐 길이 등에 기초하여 예정 시간을 결정할 수 있다.
다른 예로서, 어시스턴트는 태스크(또는 구성(constituent) 서브-태스크)가 즉각적인 수행에 적합하지 않다는 결정에 응답하여 태스크의 완전한 수행이 임계 시간보다 많은 시간이 걸릴 것이라고 결정할 수 있다. 예를 들어, 하나 이상의 태스크는 즉각적인 수행에 적합하지 않은 것으로 미리 결정될 수 있다(예를 들어, 하나 이상의 태스크의 수행이 반드시 즉시 수행될 수는 없기 때문에). 어시스턴트 모듈(122)에 의해 제공되는 어시스턴트에 의해 액세스 가능한 태스크 데이터 저장소는 즉시 수행할 수 없는 태스크를 표시할 수 있다. 즉각적인 수행(performance)에 적합하지 않을 수 있는 몇 가지 예시적인 태스크는, 컴퓨팅 장치의 사용자 이외의 사람과 상호 작용, 예약, 티켓 구매, 광범위한 연산이 필요한 태스크(예: 광범위한 기계 학습 모델 사용), 느린 미리결정된 하나 이상의 컴퓨팅 시스템과의 상호 작용, 향후 이벤트 발생이 필요한 태스크(예: 티켓이 실제로 판매될 때까지 기다려 현재 진행중인 스포츠 게임의 최종 점수 등 제공)를 포함하지만 이에 국한되지는 않는다. 전술한 바와 같이, 어시스턴트에 의한 태스크의 완전한 수행은 다수의 서브(하위)-태스크의 수행을 포함할 수 있다. 이와 같이, 특정 태스크의 하나 이상의 서브-태스크가 즉각적인 수행에 적합하지 않은 경우, 어시스턴트는 특정 태스크의 완전한 수행이 임계 시간보다 많은 시간이 소요될 것으로 결정할 수 있다.
일부 예들에서, 임계 시간(예를 들어, 태스크의 완전한 수행이 즉각적이지 않은지를 결정하기 위해 사용되는 임계치)은 사용자가 조정할 수 없다. 일부 예에서, 임계 시간은 사용자 조정 가능할 수 있다. 예를 들어, 사용자는 임계 시간을 지정하는 입력을 제공할 수 있다. 이와 같이, 상이한 사용자와 연관된 어시스턴트는 각자의 사용자에게 태스크의 완전한 수행이 즉각적이지 않을 것이라고 경고할지 여부를 결정할 때 상이한 임계 시간을 사용할 수 있다.
일부 예에서, 임계 시간은 모든 태스크 또는 모든 태스크 유형에 대해 동일할 수 있다. 예를 들어, 어시스턴트는 주문 티켓 태스크의 완전한 수행이 즉각적인 지 여부를 결정할 때 및 검색 쿼리 태스크의 완전한 수행이 즉각적인지 여부를 결정할 때 동일한 임계치를 사용할 수 있다. 일부 예들에서, 임계 시간은 태스크에 의존적일 수 있다. 예를 들어, 어시스턴트는 복잡한 태스크(예: 주문 티켓 태스크)의 완전한 수행이 즉각적인지 여부를 결정할 때 제1 임계치를 사용하고, 간단한 태스크(예: 검색 질의(쿼리) 태스크)의 완전한 수행이 즉각적인지 여부를 결정할 때 제2 임계치(예: 제1 임계치보다 짧은)를 사용할 수 있다. 예를 들어, 사용자가 더 복잡한 태스크의 수행에 대한 약간의 지연을 예상함에 따라, 어시스턴트는 복잡한 태스크의 수행이 즉각적이지 않은 것으로 결정될 때 (예를 들어, "태스크중"의 합성된 음성)에 대한 다른 표시 (즉, 지연 통지)를 출력할 수 있고, 인터넷 연결 상태가 좋지 않거나 웹 사이트가 다운된 경우와 같이 시간이 덜 걸리는 것으로 결정되는 간단한 태스크의 경우 어시스턴트는 지연 통지(알림)를 트리거하기 위해 더 짧은 임계치를 사용할 수 있다.
어시스턴트 모듈(122)에 의해 제공되는 어시스턴트는 수행 중(mid-performance) 태스크의 수정을 가능하게 할 수 있다. 예를 들어, 컴퓨팅 장치(110)의 사용자에게 태스크의 완전한 수행이 즉각적이지 않고 실제로 태스크의 수행을 완료하기 전에 알려주는 합성된 음성 데이터를 출력한 후, 어시스턴트는 컴퓨팅 장치(110)의 하나 이상의 마이크로폰으로, 컴퓨팅 장치(110)의 사용자가 현재 수행중인 태스크의 수행의 수정을 요청하는 발화(예를 들어, "예약을 5명으로 변경")에 대응하는 음향 입력(예를 들어, 오디오 데이터)을 수신할 수 있다. 일부 수정 예는 예약 또는 티켓 구매의 시간 및/또는 날짜 변경, 예약 또는 티켓 구매에 포함된 인원수의 변경을 포함하지만 이에 제한되지는 않는다.
어시스턴트는 발화에 기초하여 태스크의 수행을 수정할 수 있다. 예를 들어, 어시스턴트가 현재 예약을 하는 식당과 통화하고 있는 경우, 어시스턴트는 식당과 연관된 장치에 동작 가능하게 연결된 하나 이상의 스피커에 의해 재생하기 위해, 5명(원래의 4명과 반대로)의 예약을 요청하는 예약을 받는 식당의 직원과 대화의 일부로서 합성된 음성 데이터를 출력할 수 있다.
어시스턴트 모듈(122)에 의해 제공되는 어시스턴트는 사용자가 현재 수행중인 태스크의 상태를 확인할 수 있게 한다. 일례로서, 컴퓨팅 장치(110)의 사용자에게 태스크의 완전한 수행이 즉각적이지 않음을 실제로 태스크의 수행을 완료하기 전에 알려주는 합성 음성 데이터를 출력한 후, 어시스턴트는 컴퓨팅 장치(110)의 하나 이상의 마이크로폰으로, 컴퓨팅 장치(110)의 사용자에게 현재 수행중인 태스크의 수행 상태를 요청하는 발화(예: "티켓이 예약되었습니까")에 대응하는 음향 입력(예: 오디오 데이터)을 수신할 수 있다. 상태를 요청하는 발화를 수신하는 것에 응답하여, 어시스턴트는 컴퓨팅 장치(110)에 동작 가능하게 연결된 하나 이상의 스피커에 의해 재생하기 위해, 사용자에게 태스크 수행 상태를 알려주는 합성된 음성 데이터를 출력할 수 있다. 일부 예들에서, 사용자에게 태스크 수행 상태를 알려주는 합성된 음성 데이터는 태스크 수행이 완료될 때까지 어시스턴트가 얼마나 오래 예측하는지에 대한 추정치를 포함할 수 있다(예를 들어, "약 5분 더"). 다른 예로서, 어시스턴트 모듈(122)에 의해 제공되는 어시스턴트는 사용자에게 태스크 수행 상태의 주기적 업데이트를 수신하기 원하는지를 질의할 수 있다. 예를 들어, 어시스턴트 모듈(122)에 의해 제공된 어시스턴트는 "몇 시간마다 업데이트를 제공해야합니까?"라는 합성된 음성 데이터를 출력할 수 있다. 다른 예로서, 어시스턴트 모듈(122)에 의해 제공되는 어시스턴트는 컴퓨팅 장치(110)로 하여금 어시스턴트가 태스크를 수행하고 있다는 시각적 표시자(visual indicator)를 디스플레이하게 할 수 있다. 예를 들어, 태스크를 수행하는 동안(예를 들어, 컴퓨팅 장치(110)의 사용자에게 태스크의 완전한 수행이 즉각적이지 않을 것이라고 통보한 후), 어시스턴트 모듈(122)에 의해 제공되는 어시스턴트는 컴퓨팅 장치(110)로 하여금 어시스턴트가 태스크를 수행하고 있음을 나타내는 라이트(light) 또는 다른 시각적 표시자를 켜게 할 수 있다.
어시스턴트 모듈(122)에 의해 제공되는 어시스턴트는 사용자가 현재 수행중인 태스크를 취소 또는 종료할 수 있게 한다. 예를 들어, 현재 수행중인 태스크의 상태를 확인한 후 사용자가 태스크가 곧 완료되지 않을 것이라고 결정한 경우, 사용자는 어시스턴트 모듈(122)에 의해 제공된 어시스턴트가 태스크를 취소 또는 종료하게 하도록 구두로 또는 그렇지 않으면 컴퓨팅 장치(110)에 입력을 제공할 수 있다. 다른 예로서, 어시스턴트 모듈(122)에 의해 제공되는 어시스턴트가 현재 수행중인 태스크의 완전한 수행이 너무 오래 걸릴 것이라고 결정하면 (예를 들어, 태스크가 관련성이 없어 질 때까지 완전한 수행이 발생하지 않는 경우), 어시스턴트는 어시스턴트가 태스크 수행을 계속할 것인지 또는 태스크를 취소 또는 종료하기를 원하는지를 사용자에게 묻는 합성된(synthesized) 음성 데이터를 출력할 수 있다. 다른 예로서, 태스크를 수행하기 전에, 어시스턴트 모듈(122)에 의해 제공되는 어시스턴트가 태스크의 수행을 완료하기 위해 추정된 시간이 너무 오래(예를 들어, 임계치보다 긴) 소요될 것이라고 결정하는 경우, 어시스턴트는 추정된 시간을 나타내고 그리고 어시스턴트가 태스크를 수행하기를 원하는지 또는 태스크를 취소할 것인지를 사용자에게 묻는 합성된 음성 데이터를 출력할 수 있다.
원격 어시스턴트 모듈(122B) 및 로컬 어시스턴트 모듈(122A)에 의해 제공되는 각각의 어시스턴트는, 컴퓨팅 장치(110)의 사용자와의 대화를 지원하기 위한 동작을 실행하는 동안, 대화 중에 획득된 정보의 개인 기록을 자동으로 생성, 생성 또는 유지하고, 개인 기록을 사용자 정보 데이터 저장소(124A) 및 사용자 정보 데이터 저장소로서 각각 구조적이고 의미적인 방식(124B)으로 사용자 고유의 값으로 저장한다. 데이터 저장소(124B 및 124A)는 각각 원격 어시스턴트 모듈(122B) 및 로컬 어시스턴트 모듈(122A)에 의해 실행된 각각의 어시스턴트가 개인 정보(예: 사용자에 대해 특정된 값들)에 빠르게 액세스하여 실제 태스크, 가상 태스크를 완료하거나 컴퓨팅 장치(110) 사용자의 즉각적 또는 미래의 요구에 응답할 수 있게 한다. 설명의 편의를 위해, 본 개시의 기술들은 주로 로컬 어시스턴트 모듈(122A)에 의해 수행되는 관점에서 설명된다.
어시스턴트 모듈(122A 및 122B)은 어시스턴트 모듈(122A 및 122B)이 함께 또는 별도로 컴퓨팅 장치(110)에 제공하는 가상 어시스턴트 서비스의 일부로서 사용자 정보 데이터 저장소(124A 및 124B)를 유지할 수 있다. 어시스턴트 모듈(122)에 의해 제공되는 어시스턴트(들)는 컴퓨팅 장치(110)의 사용자와 대화를 지원하기 위한 동작을 실행하는 과정에서, 대화로부터 자동으로 수집된 정보의 개인 기록을 유지하고 그리고 개인 기록(정보)을 사용자 정보 데이터 저장소(124A 및 124B)로서 구조적이고 의미론적인 방식으로 저장할 수 있다. 데이터 저장소(124A, 124B)는 어시스턴트 모듈(122A, 122B)에 의해 실행된 어시스턴트가 개인 정보에 신속하게 액세스하여 실제 태스크, 가상 태스크를 완료하거나, 그렇지 않으면 컴퓨팅 장치(110) 사용자의 즉각적인 및/또는 미래의 요구(future needs)에 응답할 수 있게 한다.
어시스턴트 모듈(122A 및 122B)은 사용자로부터 명시적으로 허가를받은 후 컴퓨팅 장치(110)의 사용자와 관련된 개인 기록만을 보유할 수 있다. 따라서 사용자는 권한 설정 및 자동화 액션 사용 내역을 포함하여 어시스턴트가 사용자에 대한 정보를 수집하고 사용하는 방법을 완전히 제어할 수 있다. 예를 들어, 컴퓨팅 장치(110)의 사용자와 관련된 정보를 유지하기 전에, 어시스턴트 모듈(122A 및 122B)은 UI 모듈(120)로 하여금 UID(112)를 통해 사용자 인터페이스를 제시하여 사용자에게 박스를 선택하거나, 버튼을 클릭하거나, 음성 입력을 말하게 하거나, 또는 어시스턴트 모듈(122A 및 122B)에 의해 해석되는 사용자 인터페이스에 특정 입력을 제공하도록 하며, 어시스턴트 모듈(122A 및 122B)에 대한 명확한 동의로 사용자의 개인 정보를 수집하고 및 사용하도록 요구할 수 있다.
어시스턴트 모듈(122A 및 122B)은 개인 정보를 데이터 저장소(124A 및 124B)에 저장하기 전에 사용자의 실제 신원을 제거하기 위해 개인 기록으로서 유지되는 정보를 암호화하거나 다르게 처리할 수 있다. 예를 들어, 정보는 어시스턴트 모듈(122A 및 122B)에 의해 처리되어 임의의 개인 식별 정보가 데이터 저장소(124A 및 124B)에 저장될 때 사용자의 개인 기록으로부터 제거될 수 있다.
어시스턴트 모듈(122A 및 122B)은 UI 모듈(120)로 하여금 컴퓨팅 장치(110)의 사용자가 데이터 저장소(124A 및 124B)에 저장된 개인 기록으로부터 정보를 수정 또는 제거할 수 있는 사용자 인터페이스를 UID(112)를 통해 제시하게 할 수 있다. 예를 들어, 사용자 인터페이스는 컴퓨팅 장치(110)의 사용자가 특정 개인 정보를 수정 또는 제거하기 위한 명령을 어시스턴트 모듈(122A 및 122B)에 전달하기 위한 입력을 제공할 수 있는 영역을 제공할 수 있다. 이러한 방식으로, 컴퓨팅 장치(110)의 사용자는 데이터 저장소(124A 및 124B)에서 어시스턴트 모듈(122A 및 122B)에 의해 보유되는 정보를 완전히 제어할 수 있다.
데이터 저장소(124A 및 124B)에 의해 저장된 개인 기록의 각각의 엔트리는 어시스턴트 모듈(122A 및 122B)이 현재 사용자 요구를 이해하고 사용자가 태스크를 완료하도록 돕는 데 필요한 정보를 찾도록 어시스턴트 모듈(122A 및 122B)에 의해 신속하게 트래버스(traversed)되거나 또는 파싱(분석)될 수 있는 미리 정의된 스키마(schema)와 연관될 수 있다. 개인 정보가 사용자에 특정한 하나 이상의 값으로서 기록되면, 어시스턴트 모듈(122A 및 122B)은 태스크를 완료하기 위해 데이터 저장소(124A 및 124B)에 저장된 정보를 신속하게 사용할 수 있다. 진행중인 태스크가 없다면, 어시스턴트 모듈(122A 및 122B)은 어시스턴트가 사용자가 미래에 사용자를 돕기 위해 정보를 어떻게 사용할 수 있는지에 대한 예를 사용자에게 제공할 수 있다. 사용자는 나중에 어시스턴트 모듈(122A 및 122B)에 지시하고, 이 정보를 잊거나 수정하기 위해 UID(112)에서 입력을 제공할 수 있다.
데이터 저장소(124A 및 124B)에 의해 저장된 값은 텍스트 값(예를 들어, 사람의 이름, 장소 이름, 엔티티의 다른 텍스트 디스크립터(descriptors)), 수치 값(예를 들어, 연령, 신장, 체중, 다른 생리학적 데이터, 엔터티와 관련된 다른 수치 정보) 또는 사용자 특정한 값에 대한 포인터(예: 사용자의 지식 그래프에서 엔티티에 대한 메모리의 위치, 주소록의 연락처에 대한 메모리의 위치 등)일 수 있다. 다시 말해서, 사용자에 특정한 값은 많은 형태를 취할 수 있고, 기록 스키마에 의해 정의된 개인 기록의 필드에 특정될 수 있다. 이 값은 사용자에 특정한 실제 정보를 나타낼 수 있거나 사용자에 특정한 정보가 검색될 수 있는 위치에 대한 참조일 수 있다.
데이터 저장소(124A 및 124B)에 액세스함으로써, 어시스턴트 모듈(122)에 의해 제공되는 어시스턴트는 사용자에게 개인화되는 것으로 간주될 수 있다. 예를 들어, 어시스턴트 모듈(122)에 의해 제공되는 어시스턴트는 일반적으로 다른 사용자가 이용할 수 없는 요청한 사용자에 특정한 정보를 사용하여 태스크를 수행할 수 있다.
도 2는 본 개시의 하나 이상의 양태에 따라 예시적인 가상 어시스턴트를 실행하도록 구성된 예시적인 컴퓨팅 장치를 도시하는 블록도이다. 도 2의 컴퓨팅 장치(210)는 도 1의 컴퓨팅 장치(110)의 예로서 아래에서 설명된다. 도 2는 컴퓨팅 장치(210)의 하나의 특정 예만을 도시하고, 컴퓨팅 장치(210)의 다른 많은 예는 다른 경우에 사용될 수 있고, 예시적인 컴퓨팅 장치(210)에 포함된 컴포넌트의 서브 세트를 포함하거나 도 2에 도시되지 않은 추가 컴포넌트를 포함할 수 있다.
도 2의 예에 도시된 바와 같이, 컴퓨팅 장치(210)는 사용자 인터페이스 장치(UID)(212), 하나 이상의 프로세서(240), 하나 이상의 통신 유닛(242), 하나 이상의 입력 컴포넌트(244), 하나 이상의 출력 컴포넌트(246) 및 하나 이상의 저장 컴포넌트(248)를 포함한다. UID(212)는 디스플레이 컴포넌트(202), 존재 감지 입력 컴포넌트(204), 마이크로폰 컴포넌트(206) 및 스피커 컴포넌트(208)를 포함한다.
컴퓨팅 장치(210)의 저장 컴포넌트(248)는 UI 모듈(220), 어시스턴트 모듈(222), 검색 모듈(282), 하나 이상의 애플리케이션 모듈(226), 컨텍스트 모듈(230), 사용자 정보 데이터 저장소(224), 사용자 식별 모듈(232), 액션 식별 모듈(234) 및 인증 모듈(236)을 포함한다.
통신 채널(250)은 컴포넌트들(212, 240, 242, 244, 246, 248) 간 통신을 위해 (물리적으로, 통신적으로 및/또는 동작적으로) 컴포넌트들 각각을 상호 연결할 수 있다. 일부 예들에서, 통신 채널들(250)은 시스템 버스, 네트워크 연결, 프로세스 간 통신 데이터 구조, 또는 데이터를 통신하기 위한 임의의 다른 방법을 포함할 수 있다.
컴퓨팅 장치(210)의 하나 이상의 통신 유닛(242)은 하나 이상의 네트워크(예를 들어, 도 1의 시스템(100)의 네트워크(130))상에서 네트워크 신호를 전송 및/또는 수신함으로써 하나 이상의 유선 및/또는 무선 네트워크를 통해 외부 장치(예를 들어, 도 1의 시스템(100)의 디지털 어시스턴트 시스템(160) 및/또는 검색 서버 시스템(180))와 통신할 수 있다. 통신 유닛(242)의 예는 네트워크 인터페이스 카드(예를 들어, 이더넷 카드), 광 트랜시버(송수신기), 무선 주파수 트랜시버, GPS 수신기, 또는 정보를 전송 및/또는 수신할 수 있는 임의의 다른 유형의 장치를 포함한다. 통신 유닛(242)의 다른 예는 단파 라디오, 셀룰러 데이터 라디오, 무선 네트워크 라디오, 및 범용 직렬 버스(USB) 제어기를 포함할 수 있다.
컴퓨팅 장치(210)의 하나 이상의 입력 컴포넌트(244)는 입력을 수신할 수 있다. 입력의 예는 촉각, 오디오 및 비디오 입력이다. 일 예에서, 컴퓨팅 장치(210)의 입력 컴포넌트(242)는 존재 감지 입력 장치(예: 터치 감지 화면, PSD), 마우스, 키보드, 음성 응답 시스템, 카메라, 마이크로폰 또는 사람 또는 기계의 입력을 감지하는 기타 유형의 장치를 포함한다. 일부 예에서, 입력 컴포넌트(242)는 하나 이상의 센서 컴포넌트 즉, 하나 이상의 위치 센서(GPS 컴포넌트, Wi-Fi 컴포넌트, 셀룰러 컴포넌트), 하나 이상의 온도 센서, 하나 이상의 움직임 센서(예를 들어, 가속도계, 자이로), 하나 이상의 압력 센서(예: 기압계), 하나 이상의 주변 광 센서 및 하나 이상의 다른 센서(예를 들어, 적외선 근접 센서, 습도계 센서 등)를 포함할 수 있다. 다른 비-제한적인 예의 다른 센서는 심박수 센서, 자력계, 포도당 센서, 후각 센서, 컴퍼스 센서, 스텝 카운터 센서를 포함할 수 있다.
컴퓨팅 장치(110)의 하나 이상의 출력 컴포넌트(246)는 출력을 생성할 수 있다. 출력의 예는 촉각, 오디오 및 비디오 출력이다. 일 예에서, 컴퓨팅 장치(210)의 출력 컴포넌트(246)는 존재 감지 디스플레이, 사운드 카드, 비디오 그래픽 어댑터 카드, 스피커, 음극선관(CRT) 모니터, 액정 디스플레이 (LCD), 또는 사람이나 기계에 대한 출력을 생성하는 다른 유형의 장치를 포함한다.
컴퓨팅 장치(210)의 UID(212)는 컴퓨팅 장치(110)의 UID(112)와 유사할 수 있고, 디스플레이 컴포넌트(202), 존재-감지 입력 컴포넌트(204), 마이크로폰 컴포넌트(206) 및 스피커 컴포넌트(208)를 포함한다. 디스플레이 컴포넌트(202)는 UID(212)에 의해 정보가 디스플레이되는 스크린일 수 있고, 존재-감지(presence-sensitive) 입력 컴포넌트(204)는 디스플레이 컴포넌트(202)에서 및/또는 근처에서 객체를 검출할 수 있다. 스피커 컴포넌트(208)는 UID(212)에 의해 가청 정보가 재생되는 스피커일 수 있는 반면, 마이크로폰 컴포넌트(206)는 디스플레이 컴포넌트(202) 및/또는 스피커 컴포넌트(208)에 및/또는 근처에 제공된 가청 입력을 검출할 수 있다.
컴퓨팅 장치(210)의 내부 컴포넌트로서 도시되어 있지만, UID(212)는 입력 및 출력을 전송 및/또는 수신하기 위해 컴퓨팅 장치(210)와 데이터 경로를 공유하는 외부 컴포넌트를 나타낼 수도 있다. 예를 들어, 일례에서, UID(212)는 컴퓨팅 장치(210)의 외부 패키징(예를 들어, 휴대 전화의 스크린) 내에 위치되고 물리적으로 연결된 컴퓨팅 장치(210)의 내장(built-in) 컴포넌트를 나타낸다. 다른 예에서, UID(212)는 컴퓨팅 장치(210)의 패키징 또는 하우징 외부에 위치하고 물리적으로 분리된 컴퓨팅 장치(210)의 외부 컴포넌트를 나타낸다(예를 들어, 컴퓨팅 장치(210)와 유선 및/또는 무선 데이터 경로를 공유하는 모니터, 프로젝터 등).
일 예시적인 범위로서, 존재-감지 입력 컴포넌트(204)는 디스플레이 컴포넌트(202)의 2인치 이하 내에 있는 손가락 또는 스타일러스와 같은 객체를 검출할 수 있다. 존재-감지 입력 컴포넌트(204)는 객체가 검출된 디스플레이 컴포넌트(202)의 위치(예를 들어, [x, y] 좌표)를 결정할 수 있다. 다른 예시적인 범위에서, 존재-감지 입력 컴포넌트(204)는 디스플레이 컴포넌트(202)로부터 6인치 이하의 객체를 검출할 수 있고 다른 범위도 가능하다. 존재-감지 입력 컴포넌트(204)는 용량성, 유도성 및/또는 광학 인식 기술을 사용하여 사용자의 손가락에 의해 선택된 디스플레이 컴포넌트(202)의 위치를 결정할 수 있다. 일부 예들에서, 존재-감지 입력 컴포넌트(204)는 또한 디스플레이 컴포넌트(202)와 관련하여 설명된 바와 같이 촉각, 오디오 또는 비디오 자극(stimuli)을 사용하여 사용자에게 출력을 제공한다. 도 2에 도시된 바와 같이, UID(212)는 (그래픽 사용자 인터페이스와 같은) 사용자 인터페이스를 제시할 수 있다.
스피커 컴포넌트(208)는 컴퓨팅 장치(210)의 하우징에 내장된 스피커를 포함할 수 있고, 일부 예에서, 컴퓨팅 장치(210)에 동작 가능하게 연결된 한 세트의 유선 또는 무선 헤드폰에 내장된 스피커일 수 있다. 마이크로폰 컴포넌트(206)는 UID(212)에서 또는 그 근처에서 발생하는 가청 입력을 검출할 수 있다. 마이크로폰 컴포넌트(206)는 배경 노이즈를 제거하고 검출된 오디오 신호로부터 사용자 음성을 분리하기 위해 다양한 노이즈 제거 기술을 수행할 수 있다.
컴퓨팅 장치(210)의 UID(212)는 컴퓨팅 장치(210)의 사용자로부터의 입력으로서 2차원 및/또는 3차원 제스처를 검출할 수 있다. 예를 들어, UID(212)의 센서는 UID(212)의 센서의 임계 거리 내에서 사용자의 움직임(예를 들어, 손, 팔, 펜, 스타일러스 등)을 검출할 수 있다. UID(212)는 움직임의 2차원 또는 3차원 벡터 표현을 결정하고, 벡터 표현을 다중 차원을 갖는 제스처 입력(예를 들어, 핸드-위에브(hand-wave), 핀치, 박수, 펜 스트로크 등)에 상관시킬 수 있다. 다시 말해서, UID(212)는 UID(212)가 디스플레이를 위해 정보를 출력하는 스크린 또는 표면에서 또는 그 근처에서 제스처를 사용자에게 요구할 필요없이 다차원 제스처를 검출할 수 있다. 대신에, UID(212)는, UID(212)가 디스플레이를 위해 정보를 출력하는 스크린 또는 표면 근처에 있거나 위치하지 않을 수 있는 센서에서 또는 센서 근처에서 수행되는 다차원 제스처를 검출할 수 있다.
하나 이상의 프로세서(240)는 기능을 구현 및/또는 컴퓨팅 장치(210)와 관련된 명령(명령어들)을 실행할 수 있다. 프로세서(240)의 예는 애플리케이션 프로세서, 디스플레이 제어기, 보조 프로세서, 하나 이상의 센서 허브, 및 프로세서, 프로세싱 유닛 또는 프로세싱 장치로서 기능하도록 구성된 임의의 다른 하드웨어를 포함한다. 모듈(220, 222, 226, 230 및 282)은 컴퓨팅 장치(210)의 다양한 액션, 동작 또는 기능을 수행하기 위해 프로세서(240)에 의해 동작 가능할 수 있다. 예를 들어, 컴퓨팅 장치(210)의 프로세서(240)는 프로세서(240)로 하여금 동작 모듈(220, 222, 226, 230 및 282)을 수행하게 하는 저장 컴포넌트(248)에 의해 저장된 명령(명령어)을 검색하고 실행할 수 있다. 명령어는 프로세서(240)에 의해 실행될 때 컴퓨팅 장치(210)로 하여금 저장 컴포넌트(248) 내에 정보를 저장하게 할 수 있다.
컴퓨팅 장치(210) 내의 하나 이상의 저장 컴포넌트(248)는 컴퓨팅 장치 (210)의 동작 동안 처리를 위한 정보를 저장할 수 있다(예를 들어, 컴퓨팅 장치(210)는 컴퓨팅 장치(210)에서 실행되는 동안 모듈(220, 222, 226, 230 및 282)에 의해 액세스된 데이터를 저장할 수 있다). 일부 예들에서, 저장 컴포넌트(248)는 임시 메모리이며, 이는 저장 컴포넌트(248)의 주요 목적이 LTS(long-term storage)가 아님을 의미한다. 컴퓨팅 장치(210)상의 저장 컴포넌트(248)는 휘발성 메모리로서 정보의 단기 저장을 위해 구성될 수 있고, 따라서 전원이 꺼지면 저장된 콘텐츠를 유지하지 않을 수 있다. 휘발성 메모리의 예는 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(DRAM), 정적 랜덤 액세스 메모리(SRAM) 및 당 업계에 공지된 다른 형태의 휘발성 메모리를 포함한다.
일부 예에서, 저장 컴포넌트(248)는 또한 하나 이상의 컴퓨터 판독 가능 저장 매체를 포함한다. 일부 예에서 저장 컴포넌트(248)는 하나 이상의 비-일시적 컴퓨터 판독 가능 저장 매체를 포함한다. 저장 컴포넌트들(248)은 휘발성 메모리에 의해 전형적으로 저장된 것보다 많은 양의 정보를 저장하도록 구성될 수 있다. 저장 컴포넌트들(248)은 또한 비휘발성 메모리 공간으로서 정보를 장기간 저장하고 전원 온/오프 사이클 후에 정보를 유지하도록 구성될 수 있다. 비-휘발성 메모리의 예는 자기 하드 디스크, 광 디스크, 플로피 디스크, 플래시 메모리, 또는 EPROM (Electrical Programmable Memory) 또는 EEPROM(Electrically Erasable and Programmable) 메모리의 형태를 포함한다. 저장 컴포넌트(248)는 모듈(220, 222, 226, 230 및 282) 및 데이터 저장소(224)와 관련된 프로그램 명령 및/또는 정보 (예를 들어, 데이터)를 저장할 수 있다. 저장 컴포넌트들(248)은 데이터들 또는 모듈들(220, 222, 226, 230, 282) 및 데이터 저장소(224)와 관련된 다른 정보를 저장하도록 구성된 메모리를 포함할 수 있다.
UI 모듈(220)은 도 1의 컴퓨팅 장치(110)의 UI 모듈(120)의 모든 기능을 포함할 수 있고, 예를 들어 컴퓨팅 장치(110)의 사용자와 어시스턴트 모듈(222) 사이의 상호 작용을 용이하게 하기 위해 컴퓨팅 장치(210)가 UID(212)에서 제공하는 사용자 인터페이스를 관리하기 위한 UI 모듈(120)과 유사한 동작을 수행할 수 있다. 예를 들어, 컴퓨팅 장치(210)의 UI 모듈(220)은 어시스턴트 사용자 인터페이스를 출력(예를 들어, 오디오를 디스플레이 또는 재생)하기 위한 명령어를 포함하는 어시스턴트 모듈(222)로부터 정보를 수신할 수 있다. UI 모듈(220)은 통신 채널(250)을 통해 어시스턴트 모듈(222)로부터 정보를 수신하고 이 데이터를 사용하여 사용자 인터페이스를 생성할 수 있다. UI 모듈(220)은 UID(212)가 UID(212)에서 사용자 인터페이스를 제시하도록 통신 채널(250)을 통해 디스플레이 또는 가청 출력 명령 및 관련 데이터를 전송할 수 있다.
일부 예에서, UI 모듈(220)은 UID(212)에서 검출된 하나 이상의 사용자 입력의 표시를 수신할 수 있고, 사용자 입력에 관한 정보를 어시스턴트 모듈(222)에 출력할 수 있다. 예를 들어, UID(212)는 사용자로부터의 입력 음성을 검출하고 음성 입력에 관한 데이터를 UI 모듈(220)에 전송할 수 있다. UI 모듈(220)은 추가 해석을 위해 음성 입력의 표시를 어시스턴트 모듈(222)에 전송할 수 있다. 어시스턴트 모듈(222)은 음성 입력에 기초하여, 검출된 음성 입력이 하나 이상의 태스크를 수행하기 위한 어시스턴트 모듈(222)에 대한 사용자 요청을 나타내는 것으로 결정할 수 있다.
애플리케이션 모듈(226)은 사용자에게 정보를 제공하고 및/또는 태스크를 수행하기 위해 어시스턴트 모듈(222)과 같은 어시스턴트에 의해 액세스될 수 있는 컴퓨팅 장치(210)에서 실행되고 컴퓨팅 장치(210)에 액세스 가능한 모든 다양한 개별 애플리케이션 및 서비스를 나타낸다. 컴퓨팅 장치(210)의 사용자는 하나 이상의 애플리케이션 모듈(226)과 관련된 사용자 인터페이스와 상호 작용하여 컴퓨팅 장치(210)로 하여금 기능을 수행하게 할 수 있다. 애플리케이션 모듈(226)의 다수의 예가 존재할 수 있고, 이는 피트니스 애플리케이션, 캘린더 애플리케이션, 검색 애플리케이션, 지도 또는 내비게이션 애플리케이션, 운송 서비스 애플리케이션(예: 버스 또는 기차 추적 애플리케이션), 소셜 미디어 애플리케이션, 게임 애플리케이션, 이메일 애플리케이션, 채팅 또는 메시징 애플리케이션, 인터넷 브라우저 애플리케이션 또는 컴퓨팅 장치(210)에서 실행될 수 있는 임의의 다른 모든 애플리케이션을 포함할 수 있다.
컴퓨팅 장치(210)의 검색 모듈(282)은 컴퓨팅 장치(210) 대신 통합 검색 기능을 수행할 수 있다. 검색 모듈(282)은 UI 모듈(220), 하나 이상의 애플리케이션 모듈(226) 및/또는 어시스턴트 모듈(222)에 의해 호출되어 그들 대신 검색 동작을 수행할 수 있다. 호출될 때, 검색 모듈(282)은 다양한 로컬 및 원격 정보 소스에 걸쳐 검색 쿼리를 생성하고, 생성된 검색 쿼리에 기초하여 검색을 실행하는 것과 같은 검색 기능을 수행할 수 있다. 검색 모듈(282)은 실행된 검색의 결과를 호출한 컴포넌트 또는 모듈에 제공할 수 있다. 즉, 검색 모듈(282)은 호출 명령에 응답하여 검색 결과를 UI 모듈(220), 어시스턴트 모듈(222) 및/또는 애플리케이션 모듈(226)에 출력할 수 있다.
컨텍스트 모듈(230)은 컴퓨팅 장치(210)의 컨텍스트를 정의하기 위해 컴퓨팅 장치(210)와 관련된 컨텍스트 정보를 수집할 수 있다. 구체적으로, 컨텍스트 모듈(230)은 특정 시간에 컴퓨팅 장치(210)의 물리적 및/또는 가상 환경 및 컴퓨팅 장치(210)의 사용자의 특성을 특정하는 컴퓨팅 장치(210)의 컨텍스트를 정의하기 위해 어시스턴트 모듈(222)에 의해 주로 사용된다.
본 개시 전반에 걸쳐 사용되는 바와 같이, "컨텍스트 정보"라는 용어는 컴퓨팅 장치 및 컴퓨팅 장치의 사용자가 특정 시간에 경험할 수 있는 가상 및/또는 물리적 환경 특성을 정의하기 위해 컨텍스트 모듈(230)에 의해 사용될 수 있는 임의의 정보를 설명하는 데 사용된다. 컨텍스트 정보의 예는 많으며, 컴퓨팅 장치(210)의 센서(예를 들어, 위치 센서, 가속도계, 자이로, 기압계, 주변 광 센서, 근접 센서, 마이크로폰 및 임의의 다른 센서)에 의해 획득된 센서 정보; 컴퓨팅 장치(210)의 통신 모듈에 의해 송수신되는 통신 정보(예를 들어, 텍스트 기반 통신, 가청 통신, 비디오 통신 등); 및 컴퓨팅 장치(210)에서 실행되는 애플리케이션과 관련된 애플리케이션 사용 정보(예를 들어, 애플리케이션과 관련된 애플리케이션 데이터, 인터넷 검색 기록, 문자 커뮤니케이션, 음성 및 비디오 커뮤니케이션, 캘린더 정보, 소셜 미디어 게시물, 관련 정보 등)를 포함할 수 있다. 컨텍스트 정보의 다른 예는 컴퓨팅 장치(210) 외부의 송신 장치로부터 획득된 신호 및 정보를 포함한다. 예를 들어, 컨텍스트 모듈(230)은 컴퓨팅 장치(210)의 무선 또는 통신 유닛을 통해 머천트(merchant)의 물리적 위치에 또는 근처에 위치한 외부 비콘으로부터 전송된 비콘 정보를 수신할 수 있다.
어시스턴트 모듈(222)은 도 1의 컴퓨팅 장치(110)의 로컬 어시스턴트 모듈(122A)의 모든 기능을 포함할 수 있고, 어시스턴트를 제공하기 위한 로컬 어시스턴트 모듈(122A)과 유사한 동작을 수행할 수 있다. 일부 예에서, 어시스턴트 모듈(222)은 어시스턴트 기능을 제공하기 위해 로컬로 (예를 들어, 프로세서(240)에서) 실행될 수 있다. 일부 예들에서, 어시스턴트 모듈(222)은 컴퓨팅 장치(210)에 액세스 가능한 원격 어시스턴트 서비스에 대한 인터페이스로서 작용할 수 있다. 예를 들어, 어시스턴트 모듈(222)은 도 1의 디지털 어시스턴트 시스템(160)의 원격 어시스턴트 모듈(122B)에 대한 인터페이스 또는 애플리케이션 프로그래밍 인터페이스(API)일 수 있다. 어시스턴트 모듈(222)은 어시스턴트 태스크를 수행하기 위해 컨텍스트 모듈(230) 및/또는 검색 모듈(282)에 의해 제공된 임의의 정보 외에, 데이터 저장소(224)에 저장된 정보에 의존할 수 있다.
어시스턴트 모듈(222)에 의해 제공되는 어시스턴트는 컴퓨팅 장치(210)의 사용자의 구두 또는 발언된 요청을 만족시키기 위해 동작을 수행하는 과정에서 하나 이상의 태스크를 수행하도록 구성될 수 있다. 예를 들어, 어시스턴트 모듈(222)에 의해 제공되는 어시스턴트는 컴퓨팅 장치(210)의 하나 이상의 마이크로폰으로, 특정 태스크의 수행을 요청하는 컴퓨팅 장치(210)의 사용자의 발화에 대응하는 음향 입력(예를 들어, 오디오 데이터)을 수신할 수 있다. 어시스턴트 모듈(222)에 의해 제공되는 어시스턴트는 음성 발화에 대응하는 태스크를 식별하기 위해 오디오 데이터를 분석할 수 있다.
본 개시의 하나 이상의 기술에 따르면, 태스크의 완전한 수행이 즉시 수행될 수 없다면 (예를 들어, 구성 가능한 임계 시간 내에), 어시스턴트 모듈(222)에 의해 제공된 어시스턴트는 태스크의 완전한 수행이 즉각적이지 않을 것이라는 표시를 출력할 수 있다. 예를 들어, 어시스턴트 모듈(222)에 의해 제공된 어시스턴트는 컴퓨팅 장치(210)에 동작 가능하게 연결된 하나 이상의 스피커에 의한 재생을 위해, 태스크의 완전한 수행이 즉각적이지 않을 것이라는 것을 사용자에게 알려주는 합성된 음성 데이터를 출력할 수 있다. 이러한 방식으로, 응답이 지연될 것임을 사용자에게 알리지 않고 단지 태스크를 수행하는 것과는 달리, 어시스턴트 모듈(222)에 의해 제공되는 어시스턴트는 사용자가 발화를 다시 말하는 것을 방지할 수 있다. 사용자가 발화를 다시 말하지 못하게함으로써, 어시스턴트 모듈(222)에 의해 제공되는 어시스턴트는 중복 태스크를 수행하는 것을 피하고, 발화가 반복되는지 또는 수행될 새로운 태스크인지를 결정하는 것을 피할 수 있으며, 이는 어시스턴트 모듈(222)에 의해 제공되는 어시스턴트의 기능성을 향상시킬 수 있다(예를 들어, 처리 요구량 및/또는 전력 소비를 감소시킴).
도 3은 본 개시의 하나 이상의 양태에 따라 예시적인 가상 어시스턴트를 실행하는 하나 이상의 프로세서에 의해 수행되는 예시적인 동작을 도시하는 흐름도이다. 도 3은 도 1의 시스템(100)과 관련하여 아래에서 설명된다. 예를 들어, 컴퓨팅 장치(110)의 하나 이상의 프로세서에서 실행되는 동안 로컬 어시스턴트 모듈(122A)은 본 개시의 하나 이상의 양태에 따라 동작들(302-312) 중 하나 이상을 수행할 수 있다. 그리고 일부 예들에서, 디지털 어시스턴트 시스템(160)의 하나 이상의 프로세서들에서 실행되는 동안 원격 어시스턴트 모듈(122B)은 본 개시의 하나 이상의 양태들에 따라 동작들(302-312)을 수행할 수 있다. 설명의 목적으로만, 도 3은 도 1의 컴퓨팅 장치(110)와 관련하여 아래에서 설명된다.
동작시, 컴퓨팅 장치(110)는 컴퓨팅 장치(110)의 하나 이상의 마이크로폰에 의해 생성된 오디오 데이터를 수신할 수 있으며, 오디오 데이터는 음성 발화를 나타낸다(302). 예를 들어, 음성 트리거 문구를 인식하는 것에 응답하여, 컴퓨팅 장치(110)는 사용자 컴퓨팅 장치(110)에 의해 제공되는 구두 발화(verbal utterance)를 나타내는 오디오 데이터를 수신할 수 있다.
컴퓨팅 장치(110)는 오디오 데이터에 기초하여 수행될 태스크를 식별할 수 있다(304). 예를 들어, 발화가 "나와 나의 아내가 우리 기념일에 "Les Joyeux"의 공연(later performance) 티켓을 예약"한다고 말하는 경우, 컴퓨팅 장치(110)는 기념일 날짜를 식별하고, 식별된 기념일 날짜에 "Les Joyeux"의 공연 시간을 식별하고, 티켓을 예약하고, 사용자에게 상기 예약을 확인하는 서브-태스크들로 예약 티켓 태스크를 식별할 수 있다.
컴퓨팅 장치(110)는 태스크의 완전한 수행이 임계 시간보다 많은 시간이 소요될지 여부를 결정할 수 있다(306). 일례로서, 컴퓨팅 장치(110)는 태스크의 완전한 수행(예를 들어, 모든 서브 태스크의 완전한 수행)을 위한 추정된 시간(시간량)을 결정할 수 있다. 추정된 시간이 임계 시간보다 큰 경우, 컴퓨팅 장치는 태스크의 수행이 임계 시간보다 더 걸릴 것으로 결정할 수 있다. 다른 예로서, 컴퓨팅 장치(110)는 태스크 또는 서브-태스크가 즉각적인 수행에 적합한지 여부를 결정할 수 있다. 상기 "Les Joyeux" 예에 대한 티켓 예약에서, 컴퓨팅 장치(110)는 실제로 티켓을 예약하는 서브 태스크가 극장 직원과 상호 작용하는 컴퓨팅 어시스턴트를 포함한다고, 그리고 컴퓨팅 장치(110)의 사용자 이외의 사람과의 상호 작용을 수반하는 태스크 또는 서브 태스크가 즉각적인 수행에 적합하지 않다고 결정할 수 있다.
태스크의 완전한 수행이 임계 시간보다 오래 걸린다는 결정에 대한 응답으로, 컴퓨팅 장치(110)는 컴퓨팅 장치(110)에 동작 가능하게 연결된 하나 이상의 스피커에 의한 재생을 위해, 태스크의 완전한 수행이 즉각적이지 않을 것이라는 것을 사용자에게 알려주는 합성된 음성 데이터를 출력할 수 있다("예" 308). 예를 들어, 상기 합성된 음성 데이터는 "티켓 예약 태스크 중이며 예약이 완료되면 알려드리겠습니다."일 수 있다.
일부 예들에서, 태스크의 완전한 수행이 즉각적이지 않을 것이라는 것을 사용자에게 알려주는 합성된 음성 데이터는 발화에 대한 부분적 또는 더 낮은 신뢰 응답을 나타내는 합성된 음성 데이터일 수 있고, 컴퓨팅(computational) 어시스턴트는 미래에 완전하거나 더 높은 신뢰 응답으로 후속할 것이라는 것을 의미한다. 예를 들어, 태스크가 검색 쿼리인 경우, 합성된 음성 데이터는 검색 쿼리에 대한 부분적인 또는 더 낮은 신뢰 응답을 나타낼 수 있다.
컴퓨팅 장치(110)는 태스크를 수행할 수 있다(310). 예를 들어, 컴퓨팅 장치(110)는 사용자의 기념일이 6월 9일인 것으로 결정하기 위해 사용자 정보 데이터 저장소(124A)를 참조하고, 결정된 기념일 날짜에 "Les Joyeux"가 언제 수행되는지를 찾기 위한 요청을 검색 서버 시스템(180)에 출력하고, 결정된 기념일에 최신 공연 티켓을 예약하고, 사용자에 대한 상기 예약을 확인할 수 있다.
도 4는 본 개시의 하나 이상의 양태에 따라 예시적인 가상 어시스턴트를 실행하도록 구성된 예시적인 컴퓨팅 시스템을 도시하는 블록도이다. 도 4의 어시스턴트 서버 시스템(460)은 도 1의 디지털 어시스턴트 시스템(160)의 예로서 아래에서 설명된다. 도 4는 어시스턴트 서버 시스템(460)의 하나의 특정 예만을 도시하고, 어시스턴트 서버 시스템(460)의 많은 다른 예는 다른 경우에 사용될 수 있고, 예시적인 어시스턴트 서버 시스템(460)에 포함된 컴포넌트의 서브세트를 포함하거나 도 4에 도시되지 않은 추가 컴포넌트를 포함할 수 있다.
도 4의 예에 도시된 바와 같이, 어시스턴트 서버 시스템(460)은 하나 이상의 프로세서(440), 하나 이상의 통신 유닛(442) 및 하나 이상의 저장 컴포넌트(448)를 포함한다. 저장 컴포넌트(448)는 어시스턴트 모듈(422), 검색 모듈(482), 컨텍스트 모듈(430) 및 사용자 정보 데이터 저장소(424)를 포함한다.
프로세서(440)는 도 2의 컴퓨팅 시스템(210)의 프로세서(240)와 유사하다. 통신 유닛(442)은 도 2의 컴퓨팅 시스템(210)의 통신 유닛(242)과 유사하다. 저장 장치(448)는 도 2의 컴퓨팅 시스템(210)의 저장 장치(248)와 유사하다. 통신 채널(450)은 도 2의 컴퓨팅 시스템(210)의 통신 채널(250)과 유사하고, 컴포넌트 간 통신을 위해 컴포넌트들(440, 442 및 448) 각각을 상호 연결할 수 있다. 일부 예들에서, 통신 채널들(450)은 시스템 버스, 네트워크 연결, 프로세스 간 통신 데이터 구조, 또는 데이터를 통신하기 위한 임의의 다른 방법을 포함할 수 있다.
어시스턴트 서버 시스템(460)의 검색 모듈(482)은 컴퓨팅 장치(210)의 검색 모듈(282)과 유사하며, 어시스턴트 서버 시스템(460)을 대신하여 통합된 검색 기능을 수행할 수 있다. 즉, 검색 모듈(482)은 어시스턴트 모듈(422)을 대신하여 검색 동작을 수행할 수 있다. 일부 예에서, 검색 모듈(482)은 어시스턴트 모듈(422)을 대신하여 검색 동작을 수행하기 위해 검색 서버 시스템(180)과 같은 외부 검색 시스템과 인터페이스할 수 있다. 호출될 때, 검색 모듈(482)은 다양한 로컬 및 원격 정보 소스에 걸쳐 검색 쿼리를 생성하고 그 생성된 검색 쿼리에 기초하여 검색을 실행하는 것과 같은 검색 기능을 수행할 수 있다. 검색 모듈(482)은 실행된 검색의 결과를 호출 컴포넌트 또는 모듈에 제공할 수 있다. 즉, 검색 모듈(482)은 검색 결과를 어시스턴트 모듈(422)에 출력할 수 있다.
어시스턴트 서버 시스템(460)의 컨텍스트 모듈(430)은 컴퓨팅 장치(210)의 컨텍스트 모듈(230)과 유사하다. 컨텍스트 모듈(430)은 컴퓨팅 장치의 컨텍스트를 정의하기 위해, 도 1의 컴퓨팅 장치(110) 및 도 2의 컴퓨팅 장치(210)와 같은 컴퓨팅 장치와 관련된 컨텍스트 정보를 수집할 수 있다. 컨텍스트 모듈(430)은 디지털 어시스턴트 시스템(160)에 의해 제공되는 서비스를 인터페이스하고 액세스하는 컴퓨팅 장치의 컨텍스트를 정의하기 위해 어시스턴트 모듈(422) 및/또는 검색 모듈(482)에 의해 주로 사용될 수 있다. 컨텍스트는 특정 시간에 컴퓨팅 장치의 사용자 및 컴퓨팅 장치의 물리적 및/또는 가상 환경의 특성을 특정할 수 있다.
어시스턴트 모듈(422)은 로컬 어시스턴트 모듈(122A) 및 도 1의 원격 어시스턴트 모듈(122B)뿐만 아니라 도 2의 컴퓨팅 장치(210)의 어시스턴트 모듈(222)의 모든 기능을 포함할 수 있다. 어시스턴트 모듈(422)은 어시스턴트 서버 시스템(460)을 통해 액세스 가능한 어시스턴트 서비스를 제공하기 위해 원격 어시스턴트 모듈(122B)과 유사한 동작을 수행할 수 있다. 즉, 어시스턴트 모듈(422)은 어시스턴트 서버 시스템(460)과 네트워크를 통해 통신하는 컴퓨팅 장치에 액세스 가능한 원격 어시스턴트 서비스에 대한 인터페이스로서 작용할 수 있다. 예를 들어, 어시스턴트 모듈(422)은 도 1의 디지털 어시스턴트 시스템(160)의 원격 어시스턴트 모듈(122B)에 대한 인터페이스 또는 API일 수 있다. 어시스턴트 모듈(422)은 어시스턴트 태스크를 수행하기 위해 컨텍스트 모듈(430) 및/또는 검색 모듈(482)에 의해 제공된 임의의 정보 외에, 데이터 저장소(424)에 저장된 정보에 의존할 수 있다.
어시스턴트 모듈(422)에 의해 제공되는 어시스턴트는 컴퓨팅 장치(예를 들어, 도 1의 컴퓨팅 장치(110))의 사용자의 구두 또는 발언된 요청을 만족시키기 위해 동작을 수행하는 과정에서 하나 이상의 태스크를 수행하도록 구성될 수 있다. 예를 들어, 어시스턴트 모듈(422)에 의해 제공되는 어시스턴트는 컴퓨팅 장치의 하나 이상의 마이크로폰으로, 특정 태스크의 수행을 요청하는 컴퓨팅 장치의 사용자의 발화에 대응하는 음향 입력(예를 들어, 오디오 데이터)을 수신할 수 있다. 어시스턴트 모듈(422)에 의해 제공되는 어시스턴트는 음성 발화에 대응하는 태스크를 식별하기 위해 오디오 데이터를 분석할 수 있다.
본 개시의 하나 이상의 기술에 따르면, 태스크의 완전한 수행이 즉시 수행될 수 없다면(예를 들어, 구성 가능한 임계 시간 내에), 어시스턴트 모듈(422)에 의해 제공된 어시스턴트는 태스크의 완전한 수행이 즉각적이지 않을 것이라는 표시를 출력할 수 있다. 예를 들어, 어시스턴트 모듈(422)에 의해 제공된 어시스턴트는 컴퓨팅 장치에 동작 가능하게 연결된 하나 이상의 스피커에 의한 재생을 위해, 태스크의 완전한 수행이 즉각적이지 않을 것이라는 것을 사용자에게 알려주는 합성된 음성 데이터를 출력할 수 있다. 이러한 방식으로,
응답이 지연될 것임을 사용자에게 알리지 않고 단지 태스크를 수행하는 것과 달리, 어시스턴트 모듈(422)에 의해 제공된 어시스턴트는 사용자가 발화를 다시 말하는 것을 방지할 수 있다. 사용자가 발화를 다시 말하는 것을 방지함으로써, 어시스턴트 모듈(422)에 의해 제공되는 어시스턴트는 중복 태스크의 수행을 피하고, 발화가 반복되는지 또는 수행될 새로운 태스크인지의 여부를 결정하는 것을 피할 수 있으며, 이는 어시스턴트 모듈(422)에 의해 제공되는 어시스턴트의 기능성을 향상시킬 수 있다(예를 들어, 처리 요구량 및/또는 전력 소비 감소).
다음의 예들은 본 개시의 하나 이상의 양태를 예시할 수 있다.
예 1. 방법으로서, 하나 이상의 프로세서에서 실행되는 컴퓨팅 어시스턴트에 의해, 컴퓨팅 장치에서 발언된 발화의 표현을 수신하는 단계; 상기 발화에 기초하여, 컴퓨팅 어시스턴트에 의해 수행될 태스크를 식별하는 단계; 상기 컴퓨팅 어시스턴트에 의해, 상기 태스크의 완전한 수행이 임계 시간보다 더 걸린다는 결정에 응답하여, 컴퓨팅 장치에 동작 가능하게 연결된 하나 이상의 스피커에 의한 재생을 위해, 상기 태스크의 완전한 수행이 즉각(immediate)적이지 않을 것이라는 것을 컴퓨팅 장치의 사용자에게 알려주는 합성된 음성 데이터를 출력하는 단계; 그리고 상기 컴퓨팅 어시스턴트에 의해, 상기 태스크를 수행하는 단계를 포함한다.
예 2. 예 1에 있어서, 상기 방법은, 상기 태스크의 완전한 수행을 위한 추정된(예상) 시간을 결정하는 단계를 더 포함하며, 상기 태스크의 완전한 수행이 상기 임계 시간보다 더 걸린다고 결정하는 것은 상기 추정된 시간이 상기 임계 시간보다 크다고 결정하는 것을 포함한다.
예 3. 예 2에 있어서, 상기 추정된 시간을 결정하는 단계는, 식별된 태스크와 동일한 유형의 태스크의 완전한 수행을 위한 이력 시간(historical times)에 기초하여, 상기 식별된 태스크의 완전한 수행을 위한 추정된 시간을 결정하는 단계를 포함한다.
예 4. 예 1-3에 있어서, 상기 태스크의 완전한 수행이 즉각적이지 않을 것이라는 것을 컴퓨팅 장치의 사용자에게 알려주는 합성된 음성 데이터를 출력하는 단계는,
컴퓨팅 장치에 동작 가능하게 연결된 하나 이상의 스피커에 의한 재생을 위해, 상기 태스크의 완전한 수행을 위해 추정된 시간을 포함하는 합성된 음성 데이터를 출력하는 단계를 포함한다.
예 5. 예 1-4에 있어서, 상기 방법은, 태스크의 완전한 수행이 하나 이상의 서브 태스크를 수행하는 컴퓨팅 어시스턴트를 포함한다고 결정하는 단계; 그리고
하나 이상의 서브 태스크 중 적어도 하나가 태스크 데이터 저장소에 즉각적인 수행에 적합하지 않은 것으로 표시된다는 결정에 응답하여, 상기 태스크의 완전한 수행이 임계 시간보다 더 걸리는 것으로 결정하는 단계를 더 포함한다.
예 6. 예 5에 있어서, 태스크의 완전한 수행이 하나 이상의 서브 태스크를 수행하는 컴퓨팅 어시스턴트를 포함한다고 결정하는 단계는, 태스크의 완전한 수행이 컴퓨팅 장치의 사용자 이외의 사람과 상호 작용하는 서브 태스크를 수행하는 컴퓨팅 어시스턴트를 포함한다고 결정하는 단계; 그리고 태스크 데이터 저장소에 기초하여, 컴퓨팅 장치의 사용자 이외의 사람과 상호 작용하는 서브 태스크가 즉각적인 수행에 적합하지 않다고 결정하는 단계를 포함한다.
예 7. 예 6에 있어서, 상기 컴퓨팅 장치의 사용자 이외의 사람과 상호 작용하는 단계는, 컴퓨팅 어시스턴트에 의해 그리고 컴퓨팅 장치의 사용자 이외의 사람과 관련된 장치에 동작 가능하게 연결된 하나 이상의 스피커에 의한 재생을 위해, 컴퓨팅 장치의 사용자 이외의 사람과의 대화의 일부로서 합성된 음성 데이터를 출력하는 단계를 포함한다.
예 8. 예 5에 있어서, 태스크 데이터 저장소에 즉각적인 수행에 적합하지 않은 것으로 표시된 서브 태스크는, 컴퓨팅 장치의 사용자 이외의 사람과 상호 작용하는 컴퓨팅 어시스턴트의 서브 태스크; 예약을 하는 컴퓨팅 어시스턴트의 서브 태스크; 티켓을 구매하는 컴퓨팅 어시스턴트의 서브 태스크; 광범위한(extensive) 연산이 필요한 서브 태스크; 느리게 미리결정된(pre-determined to be slow) 하나 이상의 컴퓨팅 시스템과 상호 작용하는 컴퓨팅 어시스턴트의 서브 태스크; 그리고 미래 이벤트의 발생을 요구하는 서브 태스크 중 하나 이상을 포함한다.
예 9. 예 1 내지 8에 있어서, 상기 발화는 제1 발화이고, 태스크의 완전한 수행이 즉각적이지 않을 것이라고 컴퓨팅 장치의 사용자에게 알려주는 합성된 음성 데이터가 처음에 출력되고, 상기 방법은, 컴퓨팅 어시스턴트에 의해 그리고 제1 시간보다 늦은 제2 시간에, 컴퓨팅 장치에서 발언한 제2 발화의 표현을 수신하는 단계 -상기 제2 발화는 태스크의 수행 상태에 대한 요청을 포함함 -; 그리고 컴퓨팅 장치에 동작 가능하게 연결된 하나 이상의 스피커에 의한 재생을 위해, 태스크의 수행 상태를 컴퓨팅 장치의 사용자에게 알려주는 합성된 음성 데이터를 출력하는 단계를 더 포함한다.
예 10. 예 1 내지 9에 있어서, 상기 발화는 제1 발화이며, 상기 방법은,
컴퓨팅 어시스턴트에 의해 그리고 태스크의 수행이 완료되기 전에, 컴퓨팅 장치에서 발언한 제3 발화의 표현을 수신하는 단계 - 상기 제3 발화는 상기 태스크의 하나 이상의 파라미터를 수정하기 위한 요청을 포함함 -; 그리고 컴퓨팅 어시스턴트에 의해, 상기 수정된 하나 이상의 파라미터를 갖는 상기 태스크를 수행하는 단계를 더 포함한다.
예 11. 예 10에 있어서, 상기 태스크의 하나 이상의 파라미터를 수정하기 위한 요청은, 티켓 구매 또는 예약의 시간 변경 요청; 그리고 티켓 구매 또는 예약에 포함된 인원수의 변경 요청 중 하나 이상을 포함한다.
예 12. 예 1-11에 있어서,
상기 태스크의 완전한 수행이 즉각적이지 않을 것이라는 것을 컴퓨팅 장치의 사용자에게 알려주는 합성된 음성 데이터를 출력하는 단계는, 컴퓨팅 장치에 동작 가능하게 연결된 하나 이상의 스피커에 의한 재생을 위해, 상기 발화에 대한 부분적인 또는 낮은(lower) 신뢰 응답을 나타내는 합성된 음성 데이터를 출력하는 단계를 포함하고, 상기 컴퓨팅 어시스턴트가 미래에 완전하거나 높은(higher) 신뢰 응답으로 후속 조치를 수행한다.
예 13. 예 12에 있어서, 태스크를 식별하는 단계는, 발화에 기초하여, 검색쿼리를 식별하는 단계를 포함하며, 상기 발화에 대한 부분 또는 낮은 신뢰 응답을 나타내는 합성된 음성 데이터는 검색 쿼리에 대한 부분 또는 낮은 신뢰 응답을 나타내는 합성된 음성 데이터를 포함한다.
예 14. 예 1-13에 있어서,
상기 컴퓨팅 어시스턴트는 상기 식별된 태스크 이외의 태스크들을 수행할 수 있는 범용 컴퓨팅 어시스턴트이다.
예 15. 예 1-14에 있어서, 컴퓨팅 어시스턴트는 사용자에게 개인화된다.
예 16. 예 1-15에 있어서, 상기 방법은, 컴퓨팅 장치에서 그리고 태스크의 완전한 수행 전에, 어시스턴트가 태스크를 수행하고 있다는 시각적 표시자를 디스플레이하는 단계를 더 포함한다.
예 17. 컴퓨팅 시스템으로서, 통신 모듈; 적어도 하나의 프로세서; 그리고 실행될 때, 상기 적어도 하나의 프로세서로 하여금 예 1-16의 임의의 조합의 방법을 수행하도록 구성된 어시스턴트를 제공하게 하는 명령어들을 포함하는 적어도 하나의 메모리를 포함한다.
예 18. 컴퓨팅 시스템으로서, 통신 모듈; 그리고 예 1-16의 임의의 조합의 방법을 수행하기 위한 수단을 포함한다.
예 19. 컴퓨터 판독 가능 저장 매체로서, 실행될 때, 컴퓨팅 시스템의 적어도 하나의 프로세서로 하여금 예 1-16의 임의의 조합의 방법을 수행하게 하는 명령어를 포함한다.
하나 이상의 실시 예들에서, 기술된 기능들은 하드웨어, 소프트웨어, 펌웨어, 또는 이들의 임의의 조합으로 구현될 수 있다. 소프트웨어로 구현되는 경우, 기능들은 하나 이상의 명령어들 또는 코드처럼, 컴퓨터 판독가능 매체상에 저장되거나 전송될 수 있고 하드웨어 기반 프로세싱 유닛에 의해 실행될 수 있다. 컴퓨터 판독가능 매체는 데이터 저장 매체와 같은 유형의 매체에 대응하는 컴퓨터 판독가능 저장 매체 또는 컴퓨터 프로그램을 한 장소에서 다른 장소로, 예를 들어 통신 프로토콜에 따라 용이하게 전송하는 임의의 매체를 포함하는 통신 매체를 포함할 수 있다. 이러한 방식으로, 컴퓨터 판독가능 매체는 일반적으로 (1) 비 일시적인 유형의 컴퓨터 판독가능 저장 매체 또는 (2) 신호 또는 반송파와 같은 통신 매체에 대응할 수 있다. 데이터 저장 매체는 본 명세서에서 기술된 기법들의 구현예들을 위해 명령어들, 코드 및/또는 데이터 구조들을 검색하기 위한 하나 이상의 프로세서들 또는 하나 이상의 컴퓨터들에 의해 액세스될 수 있는 임의의 사용 가능한 매체일 수 있다. 컴퓨터 프로그램 물은 컴퓨터 판독가능 매체를 포함할 수 있다.
예를 들어, 그리고 제한은 아닌, 그러한 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, CD-ROM 또는 다른 광 디스크 저장소, 자기 디스크 저장소 또는 다른 자기 저장 디바이스들, 플래시 메모리 또는 명령어들 또는 데이터 구조들의 형태로 원하는 프로그램 코드를 저장하기 위해 사용될 수 있고 컴퓨터에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있다. 또한, 임의의 연결은 적당히 컴퓨터 판독가능 매체로 명명된다. 예를 들어, 명령어들이 동축 케이블, 광섬유 케이블, 트위스트 페어, 디지털 가입자 회선(DSL) 또는 적외선, 무선 및 마이크로파와 같은 무선 기술들을 사용하여 웹사이트, 서버 또는 다른 원격 소스로부터 전송되는 경우, 동축 케이블, 광섬유 케이블, 트위스트 페어, DSL 또는 적외선, 무선 및 마이크로파와 같은 무선 기술들이 매체의 정의에 포함된다. 그러나, 컴퓨터 판독가능 저장 매체 및 데이터 저장 매체는 연결들, 반송파들, 신호들 또는 다른 일시적인 매체를 포함하지 않고, 대신에 비 일시적인 유형의 저장 매체로 유도됨을 이해하여야 한다. 사용되는 디스크(disk) 및 디스크(disc)는 CD(Compact Disc), 레이저 디스크, 광학 디스크, DVD(Digital Versatile Disc), 플로피 디스크 및 블루레이 디스크를 포함하며, 디스크들(disk)는 데이터를 보통 자기적(magnetically)으로 재생하는 반면 디스크들(disc)은 데이터를 레이저들로 광학적으로 재생한다. 상기의 조합들은 컴퓨터 판독가능 매체의 범위 내에 또한 포함되어야 한다.
명령어들은 하나 이상의 디지털 신호 프로세서들(DSP), 범용 마이크로프로세서들, 주문형 집적 회로(ASICs), 현장 프로그램 가능한 논리 어레이(FPGA) 또는 다른 대등한 집적 또는 이산 논리 회로와 같은, 하나 이상의 프로세서들에 의해 실행될 수 있다. 따라서, 사용되는 "프로세서"라는 용어는 전술한 구조 또는 기술된 기법들의 구현에 적절한 임의의 다른 구조를 지칭할 수 있다. 또한, 일부 양태들에서, 기술된 기능성은 전용 하드웨어 및/또는 소프트웨어 모듈들 내에 제공될 수 있다. 또한, 기법들은 하나 이상의 회로들 또는 논리 요소들에서 완전히 구현될 수 있다.
본 명세서의 기법들은 무선 핸드세트, 집적 회로(IC) 또는 IC 세트들(예를 들어, 칩 세트)를 포함하는 다양한 디바이스들 또는 장치들에서 구현될 수 있다. 개시된 기법들을 수행하도록 구성된 디바이스들의 기능적 양태들을 강조하기 위해 다양한 컴포넌트들, 모듈들 또는 유닛들이 본 명세서에 기술되지만, 반드시 상이한 하드웨어 유닛들에 의한 실현을 요청하지는 않는다. 오히려, 상술한 바와 같이, 다양한 유닛들은 하드웨어 유닛에 결합될 수 있거나 적절한 소프트웨어 및/또는 펌웨어와 관련하여, 상술한 바와 같은 하나 이상의 프로세서들을 포함하는 인터랙팅하는 하드웨어 유닛들의 집합에 의해 제공될 수 있다.
다양한 실시 예들이 기술되었다. 이들 및 다른 실시 예들은 다음의 청구항들의 범위 내에 있다.

Claims (17)

  1. 하나 이상의 프로세서에 의해 구현되는 방법으로서,
    컴퓨팅 장치에서 발언된 발화의 표현을 수신하는 단계;
    상기 발화에 기초하여, 컴퓨팅 어시스턴트에 의해 수행될 태스크를 식별하는 단계;
    상기 태스크의 수행을 완료하는 데 미래 이벤트의 발생이 요구된다고 결정하는 단계;
    상기 수행을 완료하는 데 상기 미래 이벤트의 발생이 요구된다고 결정한 경우:
    상기 컴퓨팅 장치에 동작 가능하게 연결된 하나 이상의 스피커에 의한 재생을 위해, 상기 컴퓨팅 장치의 사용자에게 상기 태스크의 완전한 수행이 즉각(immediate)적이지 않을 것이라는 것을 알려주는 합성된 음성 데이터를 출력하는 단계 -재생을 위해 출력되는 상기 합성된 음성 데이터는 상기 미래 이벤트의 발생과 관련된 추정된 시간에 기초하여 결정됨-; 그리고
    상기 미래 이벤트의 발생을 검출하는 것에 응답하여:
    상기 컴퓨팅 어시스턴트로 하여금 상기 태스크를 수행하게 하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  2. 제1항에 있어서, 상기 태스크의 수행을 완료하는 데 미래 이벤트의 발생이 요구된다고 결정하는 단계는,
    상기 태스크의 수행을 완료하는 것이 상기 컴퓨팅 장치의 사용자 이외의 사람과 상호작용하는 상기 컴퓨팅 어시스턴트를 포함한다고 결정하는 단계; 그리고
    상기 컴퓨팅 장치의 사용자 이외의 사람과의 상호작용이 즉각적인 수행에 적합하지 않다고 결정하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  3. 제1항에 있어서, 상기 컴퓨팅 장치의 사용자 이외의 사람과 상호작용하는 단계는,
    상기 컴퓨팅 어시스턴트에 의해 그리고 상기 컴퓨팅 장치의 사용자 이외의 사람과 관련된 장치에 동작 가능하게 연결된 하나 이상의 스피커에 의한 재생을 위해, 상기 컴퓨팅 장치의 사용자 이외의 상기 사람과의 대화의 일부로서 합성된 음성 데이터를 출력하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  4. 제1항에 있어서, 상기 태스크의 완전한 수행이 즉각적이지 않을 것이라는 것을 상기 컴퓨팅 장치의 사용자에게 알려주는 상기 합성된 음성 데이터는 제1 시간에 출력되고, 상기 방법은,
    상기 제1 시간보다 늦은 제2 시간에, 상기 컴퓨팅 장치에서 발언한 추가 발화의 표현을 수신하는 단계 -상기 추가 발화는 상기 태스크의 수행 상태에 대한 요청을 포함함-; 그리고
    상기 컴퓨팅 장치에 동작 가능하게 연결된 하나 이상의 스피커에 의한 재생을 위해, 상기 사용자에게 상기 태스크의 수행 상태를 알려주는 추가 합성 음성 데이터를 출력하는 단계를 더 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  5. 제1항에 있어서, 상기 방법은,
    상기 태스크의 수행이 완료되기 전에, 상기 컴퓨팅 장치에서 발언한 추가 발화의 표현을 수신하는 단계 -상기 추가 발화는 상기 태스크의 하나 이상의 파라미터를 수정하기 위한 요청을 포함함-; 그리고
    상기 컴퓨팅 어시스턴트에 의해, 상기 수정된 하나 이상의 파라미터를 사용하여 상기 태스크를 수행하는 단계를 더 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  6. 제1항에 있어서, 상기 태스크의 하나 이상의 파라미터를 수정하기 위한 요청은,
    티켓 구매 또는 예약에 대한 시간 변경 요청; 그리고
    티켓 구매 또는 예약에 포함된 인원수 변경 요청 중 하나 이상을 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  7. 제1항에 있어서, 상기 방법은,
    상기 컴퓨팅 장치에서 그리고 상기 태스크의 완전한 수행 전에, 상기 컴퓨팅 어시스턴트가 상기 태스크를 수행하고 있다는 시각적 표시자를 디스플레이하는 단계를 더 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  8. 제1항에 있어서, 상기 방법은,
    상기 미래 이벤트의 발생에 대한 모니터링; 그리고 상기 모니터링에 기초하여 상기 미래 이벤트의 발생이 검출되는지 여부를 결정하는 단계를 더 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  9. 제8항에 있어서, 상기 미래 이벤트는,
    티켓이 판매될 때까지 기다려야 하거나, 또는
    현재 진행 중인 스포츠 게임에 최종 점수를 제공하는 것 중 하나를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  10. 하나 이상의 프로세서에 의해 구현되는 방법으로서,
    컴퓨팅 장치에서 발언된 발화의 표현을 수신하는 단계;
    상기 발화에 기초하여, 컴퓨팅 어시스턴트에 의해 수행될 태스크를 식별하는 단계;
    상기 태스크에 기초하여, 상기 태스크를 수행하기 위해 상기 컴퓨팅 장치의 사용자를 대신하여 엔티티와의 호출(call)을 수행하도록 결정하는 단계;
    상기 컴퓨팅 장치에 동작 가능하게 연결된 하나 이상의 스피커에 의한 재생을 위해, 상기 태스크의 완전한 수행이 즉각적이지 않을 것임을 사용자에게 알리는 합성된 음성 데이터를 출력하는 단계;
    상기 태스크를 수행하기 위해, 상기 사용자를 대신하여 상기 엔티티와의 호출 수행을 시작하는 단계; 그리고
    상기 호출(call)을 수행하는 중:
    상기 컴퓨팅 장치에서 발언한 추가 발화의 표현을 수신하는 단계;
    상기 추가 발화에 기초하여, 상기 태스크의 수행을 수정하도록 결정하는 단계; 그리고
    컴퓨팅 어시스턴트가 상기 태스크의 수정된 수행을 완료하도록 하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  11. 제10항에 있어서, 상기 태스크의 수행을 수정하도록 결정하는 단계는 상기 추가 발화가 상기 태스크의 하나 이상의 파라미터를 수정하기 위한 요청을 포함한다고 결정하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  12. 제11항에 있어서, 상기 컴퓨팅 어시스턴트가 상기 태스크의 수정된 수행을 완료하도록 하는 단계는 상기 컴퓨팅 어시스턴트로 하여금 상기 호출의 수행 동안 상기 수정된 하나 이상의 파라미터를 사용하여 상기 태스크의 수정된 수행을 완료하게 하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  13. 제12항에 있어서, 상기 태스크는 레스토랑 예약 태스크인 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  14. 제13항에 있어서, 상기 태스크의 하나 이상의 파라미터는 파티 규모(party size) 파라미터, 날짜 파라미터, 또는 레스토랑 파라미터 중 하나 이상을 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  15. 제10항에 있어서, 상기 태스크를 수행하기 위해 상기 사용자를 대신하여 상기 엔티티와의 호출 수행을 시작하는 단계는,
    상기 컴퓨팅 장치의 사용자 이외의 사람과 상기 호출(call)을 상호작용하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  16. 제15항에 있어서, 상기 컴퓨팅 장치의 사용자 이외의 사람과 상호작용하는 단계는,
    상기 컴퓨팅 어시스턴트에 의해 그리고 상기 컴퓨팅 장치의 사용자 이외의 사람과 관련된 장치에 동작 가능하게 연결된 하나 이상의 스피커에 의한 재생을 위해, 상기 컴퓨팅 장치의 사용자 이외의 사람과의 통화의 일부로서 합성된 음성 데이터를 출력하는 단계를 포함하는 것을 특징으로 하는 하나 이상의 프로세서에 의해 구현되는 방법.
  17. 시스템으로서,
    적어도 하나의 프로세서; 그리고
    실행될 때 상기 적어도 하나의 프로세서로 하여금 동작들을 수행하도록 하는 명령어를 저장한 메모리를 포함하며, 상기 동작들은,
    컴퓨팅 장치에서 발언된 발화의 표현을 수신하는 동작;
    상기 발화에 기초하여, 컴퓨팅 어시스턴트에 의해 수행될 태스크를 식별하는 동작;
    상기 태스크에 기초하여, 상기 태스크를 수행하기 위해 상기 컴퓨팅 장치의 사용자를 대신하여 엔티티와의 호출(call)을 수행하도록 결정하는 동작;
    상기 컴퓨팅 장치에 동작 가능하게 연결된 하나 이상의 스피커에 의한 재생을 위해, 상기 태스크의 완전한 수행이 즉각적이지 않을 것임을 사용자에게 알리는 합성된 음성 데이터를 출력하는 동작;
    상기 태스크를 수행하기 위해, 상기 사용자를 대신하여 상기 엔티티와의 호출 수행을 시작하는 동작; 그리고
    상기 호출(call)을 수행하는 중:
    상기 컴퓨팅 장치에서 발언한 추가 발화의 표현을 수신하는 동작;
    상기 추가 발화에 기초하여, 상기 태스크의 수행을 수정하도록 결정하는 동작; 그리고
    컴퓨팅 어시스턴트가 상기 태스크의 수정된 수행을 완료하도록 하는 동작을 포함하는 것을 특징으로 하는 시스템.
KR1020227028912A 2017-05-16 2018-05-14 연산 어시스턴트에 의한 지연된 응답 Active KR102582516B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201762506999P 2017-05-16 2017-05-16
US62/506,999 2017-05-16
US15/847,341 US11048995B2 (en) 2017-05-16 2017-12-19 Delayed responses by computational assistant
US15/847,341 2017-12-19
KR1020197037012A KR102436294B1 (ko) 2017-05-16 2018-05-14 연산 어시스턴트에 의한 지연된 응답
PCT/US2018/032585 WO2018213194A1 (en) 2017-05-16 2018-05-14 Delayed responses by computational assistant

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020197037012A Division KR102436294B1 (ko) 2017-05-16 2018-05-14 연산 어시스턴트에 의한 지연된 응답

Publications (2)

Publication Number Publication Date
KR20220120719A true KR20220120719A (ko) 2022-08-30
KR102582516B1 KR102582516B1 (ko) 2023-09-26

Family

ID=64272422

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020197037012A Active KR102436294B1 (ko) 2017-05-16 2018-05-14 연산 어시스턴트에 의한 지연된 응답
KR1020227028912A Active KR102582516B1 (ko) 2017-05-16 2018-05-14 연산 어시스턴트에 의한 지연된 응답

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020197037012A Active KR102436294B1 (ko) 2017-05-16 2018-05-14 연산 어시스턴트에 의한 지연된 응답

Country Status (6)

Country Link
US (4) US11048995B2 (ko)
EP (3) EP3923277B1 (ko)
JP (2) JP6953559B2 (ko)
KR (2) KR102436294B1 (ko)
CN (2) CN116975229A (ko)
WO (1) WO2018213194A1 (ko)

Families Citing this family (97)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10255566B2 (en) 2011-06-03 2019-04-09 Apple Inc. Generating and processing task items that represent tasks to perform
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
DE112014000709B4 (de) 2013-02-07 2021-12-30 Apple Inc. Verfahren und vorrichtung zum betrieb eines sprachtriggers für einen digitalen assistenten
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
KR101959188B1 (ko) 2013-06-09 2019-07-02 애플 인크. 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
KR101749009B1 (ko) 2013-08-06 2017-06-19 애플 인크. 원격 디바이스로부터의 활동에 기초한 스마트 응답의 자동 활성화
US10553098B2 (en) 2014-05-20 2020-02-04 Ooma, Inc. Appliance device integration with alarm systems
US9633547B2 (en) 2014-05-20 2017-04-25 Ooma, Inc. Security monitoring and control
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
WO2015184186A1 (en) 2014-05-30 2015-12-03 Apple Inc. Multi-command single utterance input method
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US11330100B2 (en) * 2014-07-09 2022-05-10 Ooma, Inc. Server based intelligent personal assistant services
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US10009286B2 (en) 2015-05-08 2018-06-26 Ooma, Inc. Communications hub
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US12223282B2 (en) 2016-06-09 2025-02-11 Apple Inc. Intelligent automated assistant in a home environment
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US12197817B2 (en) 2016-06-11 2025-01-14 Apple Inc. Intelligent device arbitration and control
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK201770428A1 (en) 2017-05-12 2019-02-18 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770411A1 (en) 2017-05-15 2018-12-20 Apple Inc. Multi-modal interfaces
US10303715B2 (en) 2017-05-16 2019-05-28 Apple Inc. Intelligent automated assistant for media exploration
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US11048995B2 (en) 2017-05-16 2021-06-29 Google Llc Delayed responses by computational assistant
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US10506088B1 (en) * 2017-09-25 2019-12-10 Amazon Technologies, Inc. Phone number verification
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10504518B1 (en) 2018-06-03 2019-12-10 Apple Inc. Accelerated task performance
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
JP6956921B2 (ja) * 2019-04-23 2021-11-02 三菱電機株式会社 機器制御装置、および、機器制御方法
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
DK201970510A1 (en) 2019-05-31 2021-02-11 Apple Inc Voice identification in digital assistant systems
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. User activity shortcut suggestions
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US20200388280A1 (en) 2019-06-05 2020-12-10 Google Llc Action validation for digital assistant-based applications
GB201909771D0 (en) * 2019-07-08 2019-08-21 Governing Council Of The Univ Of Toronto Imidazothiazole compounds and methods for treating plant nematode infections
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
US11783256B1 (en) * 2019-12-13 2023-10-10 Wells Fargo Bank, N.A. Systems and methods for web-based performance management and reporting
US11636304B2 (en) * 2020-01-03 2023-04-25 International Business Machines Corporation Creating response schedule for tasks from cognitive state of a user
US11289090B2 (en) 2020-03-02 2022-03-29 Rovi Guides, Inc. Systems and methods for addressing possible interruption during interaction with digital assistant
EP3909230B1 (en) 2020-03-20 2024-10-23 Google LLC Semi-delegated calling by an automated assistant on behalf of human participant
US11183193B1 (en) 2020-05-11 2021-11-23 Apple Inc. Digital assistant hardware abstraction
US12301635B2 (en) 2020-05-11 2025-05-13 Apple Inc. Digital assistant hardware abstraction
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
US11763813B2 (en) 2021-04-28 2023-09-19 Google Llc Methods and systems for reducing latency in automated assistant interactions
US20230004918A1 (en) * 2021-06-30 2023-01-05 International Business Machines Corporation Automatic remote task allocation via virtual training
EP4406234A2 (en) * 2021-09-24 2024-07-31 Sonos, Inc. Concurrency rules for network microphone devices having multiple voice assistant services
US11804215B1 (en) * 2022-04-29 2023-10-31 Apple Inc. Sonic responses
WO2023219908A1 (en) * 2022-05-10 2023-11-16 Apple Inc. Task modification after task initiation
US11908473B2 (en) 2022-05-10 2024-02-20 Apple Inc. Task modification after task initiation
US12225158B2 (en) 2022-12-15 2025-02-11 Google Llc System(s) and method(s) for implementing a personalized chatbot

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150332195A1 (en) * 2014-05-13 2015-11-19 Linkedln Corporation Facilitating performance monitoring for periodically scheduled workflows
US20160203002A1 (en) * 2015-01-09 2016-07-14 Microsoft Technology Licensing, Llc Headless task completion within digital personal assistants

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100472500C (zh) * 1998-10-02 2009-03-25 联想(新加坡)私人有限公司 会话浏览器和会话系统
JP3945187B2 (ja) 2001-05-25 2007-07-18 三菱電機株式会社 対話管理装置
JP4003544B2 (ja) 2002-06-06 2007-11-07 日本電気株式会社 表示・音声連携システム、サーバおよび方法
US7606714B2 (en) 2003-02-11 2009-10-20 Microsoft Corporation Natural language classification within an automated response system
JP2004318731A (ja) 2003-04-18 2004-11-11 Chugoku Electric Power Co Inc:The 音声認識による指令のセキュリティ方法及びこの方法を用いた各種取引方法
US8364481B2 (en) 2008-07-02 2013-01-29 Google Inc. Speech recognition with parallel recognition tasks
US8812321B2 (en) * 2010-09-30 2014-08-19 At&T Intellectual Property I, L.P. System and method for combining speech recognition outputs from a plurality of domain-specific speech recognizers via machine learning
JP6353786B2 (ja) 2011-09-30 2018-07-04 アップル インコーポレイテッド ハンズフリーインタラクションに対するユーザインターフェースの自動適合化
US9082402B2 (en) * 2011-12-08 2015-07-14 Sri International Generic virtual personal assistant platform
US20130246962A1 (en) * 2012-03-09 2013-09-19 Apple Inc. Dynamic update of a completion status indicator
EP2690847A1 (en) * 2012-07-27 2014-01-29 Constantin Medien AG Virtual assistant for a telecommunication system
JP6052610B2 (ja) 2013-03-12 2016-12-27 パナソニックIpマネジメント株式会社 情報通信端末、およびその対話方法
WO2014197336A1 (en) * 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
KR101749009B1 (ko) 2013-08-06 2017-06-19 애플 인크. 원격 디바이스로부터의 활동에 기초한 스마트 응답의 자동 활성화
US10134395B2 (en) * 2013-09-25 2018-11-20 Amazon Technologies, Inc. In-call virtual assistants
US10055681B2 (en) * 2013-10-31 2018-08-21 Verint Americas Inc. Mapping actions and objects to tasks
US20150334346A1 (en) * 2014-05-16 2015-11-19 Elwha Llc Systems and methods for automatically connecting a user of a hands-free intercommunication system
US20160118036A1 (en) * 2014-10-23 2016-04-28 Elwha Llc Systems and methods for positioning a user of a hands-free intercommunication system
WO2015184186A1 (en) * 2014-05-30 2015-12-03 Apple Inc. Multi-command single utterance input method
US9462112B2 (en) * 2014-06-19 2016-10-04 Microsoft Technology Licensing, Llc Use of a digital assistant in communications
US9323556B2 (en) * 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
JP2016076799A (ja) 2014-10-03 2016-05-12 シャープ株式会社 家電管理システム、家電、リモコン装置、ロボット
JP6150077B2 (ja) 2014-10-31 2017-06-21 マツダ株式会社 車両用音声対話装置
US20160224939A1 (en) * 2015-02-04 2016-08-04 Broadvision, Inc. Systems and methods for managing tasks
US10212243B2 (en) * 2015-03-13 2019-02-19 Oath Inc. Future event detection and notification
US10747498B2 (en) * 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) * 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US9804752B1 (en) * 2016-06-27 2017-10-31 Atlassian Pty Ltd Machine learning method of managing conversations in a messaging interface
US11048995B2 (en) 2017-05-16 2021-06-29 Google Llc Delayed responses by computational assistant

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150332195A1 (en) * 2014-05-13 2015-11-19 Linkedln Corporation Facilitating performance monitoring for periodically scheduled workflows
US20160203002A1 (en) * 2015-01-09 2016-07-14 Microsoft Technology Licensing, Llc Headless task completion within digital personal assistants

Also Published As

Publication number Publication date
EP3923277B1 (en) 2024-08-14
EP3923277A2 (en) 2021-12-15
EP3613035B1 (en) 2021-09-29
US11048995B2 (en) 2021-06-29
JP2022019715A (ja) 2022-01-27
CN110651325B (zh) 2023-07-28
US20230054023A1 (en) 2023-02-23
JP7382993B2 (ja) 2023-11-17
CN116975229A (zh) 2023-10-31
US12141672B2 (en) 2024-11-12
WO2018213194A1 (en) 2018-11-22
US11790207B2 (en) 2023-10-17
KR102436294B1 (ko) 2022-08-25
US20210279548A1 (en) 2021-09-09
US20180336449A1 (en) 2018-11-22
EP3923277A3 (en) 2022-03-16
US11521037B2 (en) 2022-12-06
JP6953559B2 (ja) 2021-10-27
EP4435692A3 (en) 2024-10-09
KR20200007925A (ko) 2020-01-22
US20240005125A1 (en) 2024-01-04
JP2020522001A (ja) 2020-07-27
CN110651325A (zh) 2020-01-03
EP4435692B1 (en) 2026-04-08
EP3613035A1 (en) 2020-02-26
EP4435692A2 (en) 2024-09-25
KR102582516B1 (ko) 2023-09-26

Similar Documents

Publication Publication Date Title
KR102436294B1 (ko) 연산 어시스턴트에 의한 지연된 응답
US11227600B2 (en) Virtual assistant identification of nearby computing devices
KR102470185B1 (ko) 크로스-디바이스 핸드오프
KR102293281B1 (ko) 가상 어시스턴트의 개인화

Legal Events

Date Code Title Description
A107 Divisional application of patent
PA0104 Divisional application for international application

Comment text: Divisional Application for International Patent

Patent event code: PA01041R01D

Patent event date: 20220822

Application number text: 1020197037012

Filing date: 20191213

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20230126

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20230628

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20230920

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20230921

End annual number: 3

Start annual number: 1

PG1601 Publication of registration