KR102351587B1 - 선택가능한 그래픽 엘리먼트를 통해 자동화된 에이전트로 대화를 초기화하기 - Google Patents

선택가능한 그래픽 엘리먼트를 통해 자동화된 에이전트로 대화를 초기화하기 Download PDF

Info

Publication number
KR102351587B1
KR102351587B1 KR1020197033711A KR20197033711A KR102351587B1 KR 102351587 B1 KR102351587 B1 KR 102351587B1 KR 1020197033711 A KR1020197033711 A KR 1020197033711A KR 20197033711 A KR20197033711 A KR 20197033711A KR 102351587 B1 KR102351587 B1 KR 102351587B1
Authority
KR
South Korea
Prior art keywords
automated assistant
computing device
user
selectable element
phrase
Prior art date
Application number
KR1020197033711A
Other languages
English (en)
Other versions
KR20190139966A (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 KR1020227000858A priority Critical patent/KR102428368B1/ko
Publication of KR20190139966A publication Critical patent/KR20190139966A/ko
Application granted granted Critical
Publication of KR102351587B1 publication Critical patent/KR102351587B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

선택가능한 엘리먼트를 사용하여 컴퓨팅 디바이스에서 자동화된 어시스턴트를 호출하기 위한 방법, 장치, 시스템 및 컴퓨터 판독가능 매체가 제공된다. 컴퓨팅 디바이스가 동작하는 동안, 사용자는 특정 호출 문구들에 따라 자동화된 어시스턴트가 호출될 수 있다는 것을 인식하지 못할 수 있다. 자동화된 어시스턴트의 기능을 사용자에게 알리기 위해, 사용자에게 선택되는 경우 자동화된 어시스턴트를 초기화할 수 있는 선택가능한 엘리먼트들이 제시될 수 있다. 또한, 선택가능한 엘리먼트는 텍스트 형태의 호출 문구를 제공할 수 있어, 사용자는 호출 문구를 말함으로써 자동화된 어시스턴트를 호출할 수 있음을 인식할 수 있다. 선택가능한 엘리먼트는 사용자와 연관된 상이한 디바이스들에 제시될 수 있고, 자동화된 어시스턴트는 선택가능한 엘리먼트가 제시되는 디바이스와 별개의 디바이스에서 초기화될 수 있다.

Description

선택가능한 그래픽 엘리먼트를 통해 자동화된 에이전트로 대화를 초기화하기
사람은 본 명세서에서 "자동화된 어시스턴트"("디지털 에이전트", "챗봇", "인터랙티브 퍼스널 어시스턴트", "지능형 퍼스널 어시스턴트", "대화형 에이전트들”로도 지칭됨)로 지칭되는 인터렉티브 소프트웨어 어플리케이션과의 사람-컴퓨터 간 대화에 참여할 수 있다. 예를 들어, 사람(자동화된 어시스턴트와 인터렉션할 때 "사용자"라고 할 수 있음)은 발화된 자연어 입력(즉, 발언)을 사용하여 일부 경우에, 텍스트로 변환된 다음 프로세싱될 수 있는 명령 및/또는 요청을 제공할 수 있다. 이러한 방식으로, 사용자는 반드시 물리적 키보드 또는 마우스와 같은 주변기기를 조작하지 않고 컴퓨팅 디바이스의 기능을 호출할 수 있다. 이러한 자동화된 어시스턴트는 컴퓨팅 디바이스에 사전 로딩되고 사용자가 말한 문구에 응답할 수 있다. 그러나, 종종 사용자는 자동화된 어시스턴트를 호출하는데 사용가능한 다양한 발화가능한 문구들을 알지 못하거나 그러한 발화가능한 문구들을 발음하지 못할 수 있다. 더욱이, 많은 컴퓨팅 디바이스들이 갖는 기능들의 확장 범위로 인해, 대부분의 사용자는 사용가능한 기능의 전체를 학습하기 위한 편리한 리소스를 갖지 못할 수 있다. 결과적으로, 사용자는 자동화된 어시스턴트의 많은 서비스가능한 구성들을 놓칠 수 있고, 이는 그러한 구성들을 구현하기 위해 제공된 컴퓨터 리소스들이 비효율적으로 사용될 수 있음을 의미한다. 또한, 특정 환경은 쿼리를 편안하게 말하기에 너무 시끄러울 수 있으며, 사용자는 예를 들어 직장 또는 카페에서 프라이버시를 보호하기 위해 특정 시간에 쿼리를 말하지 않기로 선택할 수 있다.
본 발명은 일반적으로 호출 문구와 연관된 선택가능한 엘리먼트를 제공함으로써 사용자에게 자동화된 어시스턴트의 기능을 소개하기 위한 방법, 장치 및 컴퓨터 판독가능 매체(일시적 및 비일시적)에 관한 것이다. 선택가능한 엘리먼트는 사용자에게 먼저 자동화된 어시스턴트를 청각적으로 요청할 것을 요구하지 않고, 자동화된 어시스턴트를 자동화된 어시스턴트가 초기화되고 및/또는 서비스 요청(예: “공항까지 가는 택시를 불러줘”)을 완료하는 상태와 같은 특정한 동작 상태로 전이할 수 있다.
선택가능한 엘리먼트(예를 들어, 텍스트 또는 그래픽 하이퍼링크)는 사용자가 예를 들어 웹페이지를 브라우징하고, 이메일을 보고, 기타 어플리케이션을 동작함에 따라 모바일 디바이스의 그래픽 사용자 인터페이스("GUI")에 제공될 수 있다. 사용자가 웹브라우저로 근처 상점에 대응하는 웹페이지를 탐색한다고 가정한다. 링크 또는 웹페이지 상의 다른 선택가능한 엘리먼트는 "이 근처 상점에 대한 길안내를 해줘"와 같은 호출 문구를 디스플레이할 수 있다. 링크를 클릭하면, 자동화된 어시스턴트가 초기화되어(일반적으로 그러나 다른 컴퓨팅 디바이스에서 배타적이지 않음), 사용자가 자동화된 어시스턴트와 대화를 계속하도록 하는 가청 응답을 제공할 수 있다. 그 다음, 사용자는 링크에 의존할 필요가 없고, 선택가능한 엘리먼트에서 그들에게 이전에 도입된 호출 문구를 사용하여 자동화된 어시스턴트를 개시할 수 있다.
일부 구현예에서, 사용자에게 제1 디바이스 상의 선택가능한 엘리먼트가 보여질 수 있다. 사용자가 선택가능한 엘리먼트를 선택함에 응답하여, 제2 디바이스 상의 자동화된 어시스턴트는 특정한 동작 상태로 전이할 수 있다. 이는 사용자로 하여금 사용자가 자동화된 어시스턴트를 호출할 능력이 있는지 인식할 수 없는 다른 디바이스들에서 자동화된 어시스턴트를 개시하게 할 수 있다. 또한, 일부 구현예에서 다수의 언어들을 처리할 수 있다. 예를 들어, 선택가능한 엘리먼트는 사용자의 선호 언어로 된 호출 문구를 포함할 수 있으며, 사용자가 익숙하지 않은 언어로 디스플레이되는 디바이스의 다른 기능에도 불구하고, 사용자가 선호 언어를 사용하여 자동화된 어시스턴트를 호출할 수 있음을 인식하게 한다. 대안적으로, 선택가능한 엘리먼트는 (예를 들어, 사용자의 로컬 웹브라우저에 의해 번역된 바와 같이) 사용자의 선호 언어로 된 호출 문구를 포함할 수 있지만, 선택가능한 엘리먼트를 선택함에 응답하여, 자동화된 어시스턴트는 사용자에게 자동화된 어시스턴트에 보다 친숙한 언어로 된 호출 문구(예를 들어, "표준" 호출 문구)를 어떻게 발음하는지 안내할 수 있다.
일부 구현예에서, 서드 파티 디바이스(예를 들어, 서드 파티 셀룰러 디바이스)에서 동작하는 어플리케이션들은 다른 디바이스 상의 자동화된 어시스턴트를 호출하기 위한 호출 문구를 포함하는 선택가능한 엘리먼트들을 제공할 수 있다. 이 시나리오에서, 사용자는 서드 파티 디바이스에서 보여지는 컨텐츠에 기초하여 자동화된 어시스턴트가 호출될 수 있는 능력을 소개 받을 것이다. 예를 들어, 사용자는 서드 파티 디바이스의 어플리케이션에서 재생 목록을 편집할 수 있으며, 어플리케이션은 선택가능한 엘리먼트에 "방금 편집한 재생 목록을 재생해줘"라는 호출 문구를 제시할 수 있다. 선택가능한 엘리먼트를 클릭하면, 자동화된 어시스턴트는 음악을 재생하는데에 서드 파티 디바이스보다 더 적절한 별개의 디바이스 상에서 초기화될 수 있다. 대안적으로, 다른 디바이스가 사용가능하지 않으면, 자동화된 어시스턴트에 대응하는 웹 어플리케이션이 서드 파티 디바이스에서 초기화될 수 있다. 이러한 방식으로, 사용자는 서드 파티 디바이스에서 보고 있는 컨텐츠를 활용하기 위해 자동화된 어시스턴트를 호출하는 능력을 인식할 수 있다.
또 다른 구현예에서, 선택가능한 엘리먼트에 포함된 호출 문구는 학습된 선호도 및 사용자의 트렌드에 기초하여 시간에 따라 적응될 수 있다. 결과적으로, 사용자는 중복된 일반 요청을 하는 것과 반대로, 자동화된 어시스턴트를 호출하기 위해 보다 구체적인 문구를 말할 수 있음을 인식할 것이다. 예를 들어, 사용자는 자동화된 어시스턴트에게 재생 목록의 음악을 재생하도록 요청할 수 있다. 그러나 재생 목록 상의 아티스트가 다른 사람보다 더 많이 재생되는 경우(예: Led Zeppelin), "Led Zeppelin을(를) 플레이해줘"라는 호출 문구가 포함된 선택가능한 엘리먼트가 사용자에게 제시될 수 있다. 이러한 방식으로, 선택가능한 엘리먼트의 호출 문구를 적응시킴으로써, 사용자는 자동화된 어시스턴트가 보다 구체적인 요청을 이해한다는 것을 알 수 있다. 다른 예로서, 사용자는 언제 사용자가 매일 직장에서 집에 도착하는지를 알려줄 수 있는 홈 어시스턴트 디바이스(예를 들어, 독립형 인터렉티브 스피커)를 가질 수 있다. 사용자가 매일 집에 도착하면, 사용자는 항상 홈 어시스턴트 디바이스에게 사용자가 차에서 듣고 있던 팟캐스트를 계속 재생하도록 요청할 수 있다. 그러나, 사용자가 이 요청을 반복적으로 할 것을 필요가 없도록하기 위해, 자동차의 사용자 인터페이스에서 호출 문구 "어시스턴트, 팟캐스트를 들으면서 집에 도착할 때마다 팟캐스트를 집에서 계속 재생해"가 선택가능한 엘리먼트에 제공될 수 있다. 사용자가 사용자 인터페이스에서 선택가능한 엘리먼트를 선택하면, 홈 어시스턴트 디바이스는 팟캐스트를 계속 재생할 수 있으며, 선택적으로 새로운 자동화 규칙이 설정되었음을 청각적으로 확인할 수 있다. 이러한 방식으로, 사용자의 학습된 선호도에 따라 선택가능한 엘리먼트에서 호출 문구를 적응시킴으로써 자동화 어시스턴트의 능력이 사용자에게 보여질 수 있다.
일부 실시예에서, 초기에 선택가능한 엘리먼트가 선택되고 자동화된 어시스턴트가 초기화된 후, 응답 엘리먼트들이 새로운 문구와 제공되어 사용자에게 그들의 응답을 안내할 수 있다. 응답 엘리먼트를 제공함으로써, 사용자는 자동화된 어시스턴트가 이해할 수 있는 가청 응답을 인식할 수 있다. 또한, 응답 엘리먼트는 자동화된 어시스턴트에 응답할 때 사용자가 채울 수 있는 플레이스홀더가 있는 응답 문구를 도시할 수 있다. 예를 들어, 사용자가 다음 날 아침 일정에서 이른 회의를 스케쥴링한 후, 호출 문구 "내일 아침에 알람을 설정해줘"를 갖는 선택가능한 엘리먼트가 사용자에게 제시될 수 있다. 선택가능한 엘리먼트를 선택하면 자동화된 어시스턴트가 초기화되고 자동화된 어시스턴트로 하여금 사용자에게 문구 "Ok, 알람 설정 시간은 언제입니까?"를 청각적으로 질의하게 한다. 임계 시간 기간 후에 사용자가 청각적으로 응답하지 않으면, "알람을 설정해”라는 응답 문구를 가지는 응답 엘리먼트가 사용자에게 제시될 수 있다. 그러므로, 일부 구현예에서, 방법은 컴퓨팅 디바이스에 의해 상기 컴퓨팅 디바이스의 그래픽 사용자 인터페이스에서 선택가능한 엘리먼트를 제공하기 위한 명령어들을 서버 디바이스로부터 수신하는 단계와 같은 단계들을 포함할 수 있다. 상기 선택가능한 엘리먼트는 발화된 때 자동화된 어시스턴트를 동작 상태로 전이하는 호출 문구와 연관될 수 있고, 상기 동작 상태는 상기 자동화된 어시스턴트가 출력을 별개의 컴퓨팅 디바이스에 제공되게 한다. 방법은 또한 상기 선택가능한 엘리먼트를 상기 컴퓨팅 디바이스의 상기 그래픽 사용자 인터페이스에 디스플레이하는 단계, 및 상기 그래픽 사용자 인터페이스에서, 상기 선택가능한 엘리먼트의 선택을 수신하는 단계를 포함할 수 있다. 방법은 상기 선택을 수신함에 응답하여, 상기 별개의 컴퓨팅 디바이스로 하여금 상기 출력을 제공하게 하기 위해 상기 자동화된 어시스턴트가 상기 동작 상태로 전이하게 하는 단계를 포함할 수 있다.
추가로, 일부 구현예들은 메모리와 상기 메모리에 저장된 명령어들을 실행하도록 동작가능한 하나 이상의 프로세서들을 포함하는 장치를 포함하며, 상기 명령어들은 상기 언급된 방법들 중 임의의 것을 수행하도록 구성된다. 또한, 일부 구현예들은 상기 언급된 방법들 중 임의의 것을 수행하기 위한 하나 이상의 프로세서들에 의해 실행가능한 컴퓨터 명령어들을 저장하는 비일시적 컴퓨터 판독가능 저장 매체를 포함한다.
본 명세서에서 매우 상세히 기술된 상기 개념들 및 추가적 개념들의 모든 조합들은 본 명세서에 개시된 본 발명의 일부인 것으로 고려되어야 한다. 예를 들면, 본 명세서의 끝부분에 나타나는 청구된 발명의 모든 조합들은 본 명세서에 개시된 본 발명의 일부인 것으로 고려된다.
본 명세서에서 사용된 바와 같이, “에이전트”는 자동화된 어시스턴트와 별개인 하나 이상의 컴퓨팅 디바이스들 및/또는 소프트웨어를 참조한다. 일부 상황들에서, 에이전트는 자동화된 어시스턴트를 관리하는 파티와는 별개인 파티에 의해 관리되는 서드 파티(3P) 에이전트일 수 있다. 에이전트는 자동화된 어시스턴트로부터 호출 요청을 수신하도록 구성된다(네트워크를 통해 및/또는 API를 통해). 호출 요청을 수신함에 응답하여, 에이전트는 호출 요청에 기초하여 응답형 컨텐츠를 생성하고, 상기 응답형 컨텐츠를 상기 응답형 컨텐츠에 기초한 출력의 제공을 위해 전송한다. 예를 들면, 에이전트는 자동화된 어시스턴트에 의해 상기 응답형 컨텐츠에 기초한 출력의 제공을 위해, 자동화된 어시스턴트에 상기 응답형 컨텐츠를 전송할 수 있다. 다른 예시로서, 에이전트 그 자신이 출력을 제공할 수 있다. 예를 들어, 사용자는 클라이언트 디바이스를 통해 자동화된 어시스턴트와 인터렉션할 수 있고(예를 들어, 자동화된 어시스턴트는 클라이언트 디바이스에서 및/또는 클라이언트 디바이스와의 네트워크 통신으로 구현될 수 있다.), 에이전트는 클라이언트 디바이스에 설치된 어플리케이션 또는 클라이언트 디바이스와 떨어져 있지만 클라이언트 디바이스에서 “스트리밍가능한” 실행가능한 어플리케이션일 수 있다. 어플리케이션이 호출된 경우, 그것은 클라이언트 디바이스에 의해 실행될 수 있고 및/또는 클라이언트 디바이스에 의해 전면에 가져와 질 수 있다(예를 들어, 그것의 컨텐츠가 클라이언트 디바이스의 디스플레이를 차지함).
에이전트를 호출하는 것은 호출 파라미터(들)에 대한 값(들)(예를 들어, 의도 파라미터에 대한 값, 의도 슬롯 파라미터(들)에 대한 값(들) 및/또는 다른 파라미터(들)에 대한 값(들))을 포함하고 그리고 상기 에이전트로 하여금 하나 이상의 사용자 인터페이스 출력 디바이스들을 통해(예를 들어, 자동화된 어시스턴트와의 대화에 활용된 사용자 인터페이스 출력 디바이스들 중 하나 이상을 통해) 사용자에게 제시하기 위한 컨텐츠를 생성하게 하는 호출 요청을 전송하는 것(예를 들어, 어플리케이션 프로그래밍 인터페이스(API)를 활용하는 것)을 포함할 수 있다. 에이전트에 의해 생성된 응답형 컨텐츠는 상기 호출 요청의 호출 파라미터들에 대해 다듬어질 수 있다.
본 발명의 접근법은 많은 이점을 제공할 수 있다. 예를 들어, 선택가능한 엘리먼트를 제공함으로써, 대안적인 입력이 부적절하거나 바람직하지 않은 경우에 사용자 인터렉션이 있도록 하여 개선된 인터페이스가 달성될 수 있다.
또한, 일부 양태들에서, 각 디바이스들의 컨텍스트 및/또는 능력을 반영하는 적절한 인터렉션들이 제공되는 다수의 컴퓨팅 디바이스들의 조정이 지원될 수 있다. 추가적으로, 선택가능한 엘리먼트의 제공은 사용자가 발견 및/또는 구현하기 어려울 수 있는 기능을 식별하게 할 수 있고, 이는 각 컴퓨팅 디바이스에서 사용가능한 리소스를 더 잘 활용하게 할 수 있다. 예를 들어, 컴퓨팅 디바이스가 사용자에게 알려지지 않은 능력을 갖는 경우, 이러한 능력을 지원하기 위해 제공된 리소스는 비효율적으로 사용될 수 있는데, 이러한 능력의 발견을 보조함으로써 본 발명은 이러한 효과를 완화시킬 수 있다.
도 1은 클라이언트 디바이스에 디스플레이된 선택가능한 엘리먼트를 사용하여 자동화된 어시스턴트를 초기화하기 위한 시스템을 도시한다.
도 2a, 2b 및 2c는 사용자에게 서비스를 제공하기 위한 자동화된 어시스턴트를 초기화할 수 있는 선택가능한 엘리먼트의 구현을 도시한다.
도 3a, 3b 및 3c는 제2 디바이스에서 자동화된 어시스턴트를 초기화하기 위해 제1 디바이스에서 사용자에게 디스플레이되는 선택가능한 엘리먼트를 사용할 수 있는 디바이스들의 사시도를 도시한다.
도 4a 및 4b는 상이한 언어로 자동화된 어시스턴트를 호출할 수 있는 선택가능한 엘리먼트를 제공하기 위한 시스템을 도시한다.
도 5는 선택가능한 엘리먼트로부터 자동화된 어시스턴트를 초기화하기 위한 방법을 도시한다.
도 6는 선택가능한 엘리먼트가 디스플레이되는 곳과 다른 디바이스에서 자동화된 어시스턴트를 초기화하기 위한 방법을 도시한다.
도 7은 컴퓨팅 디바이스에서 제공된 컨텐츠의 언어와 상이한 언어를 이해하는 자동화된 어시스턴트를 초기화하는 방법을 도시한다.
도 8는 예시적 컴퓨터 시스템의 블록도를 도시한다.
본 명세서에 기술된 구현은 사용자가 먼저 자동화된 어시스턴트를 청각적으로 요청할 필요없이 자동화된 어시스턴트에 대한 서비스 요청을 초기화하기 위해 호출 문구를 전달하는 선택가능한 엘리먼트를 제공함으로써 자동화된 어시스턴트의 기능을 초보 사용자에게 소개하기 위한 시스템, 방법 및 장치에 관한 것이다. 많은 컴퓨팅 디바이스에서, 자동화된 어시스턴트는 일부 디지털 서비스를 사용하려는 사용자에게 가이드를 제공할 수 있다. 자동화된 어시스턴트는 특정 발화된 문구에 의해 호출될 수 있지만, 종종 사용자는 모든 문구와 그 기능에 익숙하지 않을 수 있다. 또한, 사용자는 자동화된 어시스턴트가 무엇을 하게 할지 알 수 있지만, 명령을 하는 것과 관련된 단어들을 정확하게 발음하거나 자동화된 어시스턴트가 사용자의 선호 언어를 수용하거나 수용하지 않음을 인식하지 못할 수 있다. 자동화된 어시스턴트의 특정 능력을 사용자에게 소개하기 위해, 호출 문구를 전달하는 선택가능한 엘리먼트들이 사용자에게 제시되어 사용자가 먼저 호출 문구를 말할 필요 없이 사용자가 자동화된 어시스턴트에 의해 수용되는 명령들을 알게 한다. 사용자가 호출 문구를 전달하는 선택가능한 엘리먼트를 물리적으로 작동(예를 들어, 클릭)는 경우, 자동화된 어시스턴트는 초기화되고 사용자가 호출 문구를 말한 것처럼 청각적으로 응답할 수 있다.
선택가능한 엘리먼트(예를 들어, 텍스트 또는 그래픽 하이퍼링크)는 사용자가 예를 들어 웹페이지를 브라우징하고, 이메일을 보고, 기타 어플리케이션을 동작함에 따라 모바일 디바이스의 그래픽 사용자 인터페이스("GUI")에 제공될 수 있다. 사용자가 웹브라우저로 근처 상점에 대응하는 웹페이지를 탐색한다고 가정한다. 링크 또는 웹페이지 상의 다른 선택가능한 엘리먼트는 "이 근처 상점에 대한 길안내를 해줘"와 같은 호출 문구를 디스플레이할 수 있다. 링크를 클릭하면, 자동화된 어시스턴트가 초기화되어, 사용자가 자동화된 어시스턴트와 대화를 계속하도록 하는 가청 응답을 제공할 수 있다. 그 다음, 사용자는 링크에 의존할 필요가 없고, 선택가능한 엘리먼트에서 그들에게 이전에 도입된 호출 문구를 사용하여 자동화된 어시스턴트를 개시할 수 있다.
일부 구현예에서, 사용자에게 제1 디바이스 상의 선택가능한 엘리먼트가 보여질 수 있다. 사용자가 선택가능한 엘리먼트를 선택함에 응답하여, 제2 디바이스 상의 자동화된 어시스턴트는 그것이 출력을 제공하는 특정한 동작 상태로 전이할 수 있다. 이는 사용자로 하여금 사용자가 자동화된 어시스턴트를 호출할 능력이 있는지 인식할 수 없는 다른 디바이스들에서 자동화된 어시스턴트를 개시하게 할 수 있다. 또한, 일부 구현예에서 다수의 언어들을 처리할 수 있다. 예를 들어, 선택가능한 엘리먼트는 사용자의 선호 언어로 된 호출 문구를 포함할 수 있으며, 사용자가 익숙하지 않은 언어로 디스플레이되는 디바이스의 다른 기능에도 불구하고, 사용자가 선호 언어를 사용하여 자동화된 어시스턴트를 호출할 수 있음을 인식하게 한다. 대안적으로, 선택가능한 엘리먼트는 사용자의 선호 언어로 된 호출 문구를 포함할 수 있지만, 선택가능한 엘리먼트를 선택함에 응답하여, 자동화된 어시스턴트는 사용자에게 자동화된 어시스턴트에 보다 친숙한 언어로 된 소위 호출 문구의 "표준" 버전을 어떻게 발음하는지 안내할 수 있다.
주어진 컨텍스트에 적절한 선택가능한 엘리먼트를 제공하기 위해, 디바이스들의 시스템은 사용자에게 자동화된 어시스턴트의 소개를 관리하는 작업을 수행할 수 있다. 디바이스들의 시스템은 계정 데이터베이스 및 하나 이상의 어시스턴트(또는 클라이언트) 디바이스들에 액세스할 수 있는 서버를 적어도 포함할 수 있다. 어시스턴트(또는 클라이언트) 디바이스는 특정한 어시스턴트 디바이스에서 자동화된 어시스턴트를 호출하기 위한 호출 문구를 전달하는 선택가능한 엘리먼트를 사용자에게 제시하기 위해 사용될 수 있다. 서버는 어시스턴트 디바이스로부터 로그인 크리덴셜을 사용하여 계정 데이터베이스에 질의하고, 로그인 크리덴셜과 연관된 임의의 다른 어시스턴트 디바이스를 식별할 수 있다. 예를 들어, 사용자의 로그인 크리덴셜은 사용자에 의해 동작되는 어시스턴트(또는 클라이언트) 디바이스들의 조정된 "생태계(ecosystem)"에서 활성화되는 사용자 계정과 연관될 수 있다. 그 후, 사용자가 클릭 가능한 호출 문구를 선택하는 것에 응답하여, 서버는 로그인 크리덴셜과 연관된 어시스턴트 디바이스들로부터 적절한 어시스턴트 디바이스를 식별할 수 있다. 서버에 의해 식별된 어시스턴트 디바이스는 클릭 가능한 호출 문구와 연관된 액션을 수행하는데 가장 적절한 것으로 결정된 어시스턴트 디바이스일 수 있다. 예를 들어, 휴대폰은 텔레비전보다 여행 중에 더 쉽게 휴대될 수 있으므로, 휴대폰은 텔레비전보다 길안내를 제공하는데 더 적절한 어시스턴트 디바이스일 수 있다.
어시스턴트 디바이스가 서버에 의해 식별되면, 서버는 선택가능한 엘리먼트에 의해 전달되는 명령에 응답하는 방법에 관한 명령어들을 어시스턴트 디바이스에 송신할 수 있다.
어시스턴트 디바이스로부터의 응답은 사용자와 어시스턴트 디바이스 간의 청각적 교환을 장려하기 위한 청각적 응답일 수 있다. 어시스턴트 디바이스로부터의 응답은 또한 어시스턴트 디바이스의 인터페이스에서의 변경을 포함할 수 있다. 예를 들어, 사용자가 길안내 요청에 대응하는 선택가능한 엘리먼트를 클릭하면 어시스턴트 디바이스는 경로를 디스플레이하고 "요청한 길안내입니다"와 같은 응답 문구를 말하여 응답할 수 있다. 어시스턴트 디바이스는 또한 사용자가 자신의 음성으로 응답하도록 장려하기 위해 사용자에 대한 질문으로 응답할 수 있다.
응답은 시스템의 서버에 저장된 데이터에 기초할 수 있다. 서버는 하나 이상의 자동화된 어시스턴트를 동작하기 위한 모듈과 각 자동화된 어시스턴트가 사용할 수 있는 사전로딩된 호출 문구 및 응답을 포함할 수 있다. 서버는 사용자에 의해 사용되는 어시스턴트 디바이스, 사용자가 보고 있는 컨텐츠, 사용자에 의해 작동되는 선택가능한 엘리먼트 및/또는 어시스턴트 디바이스의 동작 환경과 관련된 임의의 다른 피처에 따라 적절한 자동화된 어시스턴트를 선택할 수 있다. 예를 들어, 서버는 상이한 언어로 어시스턴트를 제공하는 자동화된 어시스턴트에 대응하는 모듈을 포함할 수 있고, 자동화된 어시스턴트의 선택은 선택가능한 엘리먼트의 언어에 기초할 수 있다.
어시스턴트 서비스가 활성화된 어시스턴트 디바이스에 로그인한 사용자에게 선택가능한 엘리먼트가 보여질 수 있다. 그러나 선택가능한 엘리먼트의 배포는 특정 상황으로 제한될 수 있다. 예를 들어, 선택가능한 엘리먼트의 디스플레이는 사용자에 의해 보여지는 컨텐츠 및 사용자에 의해 사용되는 어시스턴트 디바이스의 유형에 의존할 수 있다. 집 밖에서 휴대폰으로 비디오를 스트리밍하는 사용자에게는 텔레비전에 더 근접 할 때까지 홈 텔레비전에서 컨텐츠를 스트리밍하기 위한 호출 문구가 보여지지 않을 수 있다. 사용자가 집에 도착하면, “TV에서 이 비디오를 재생해”와 같은 정보를 전달하는 선택가능한 엘리먼트가 사용자의 휴대폰에 디스플레이될 수 있다. 선택가능한 엘리먼트를 작동시키면 TV에서 비디오를 재생할 수 있고, "요청한 비디오입니다"와 같은 청각적 응답을 제공할 수 있다. 일부 구현예에서, 선택가능한 엘리먼트를 제시하는 디바이스는 초기화될 디바이스의 이미지를 디스플레이할 수 있다. 예를 들어, 휴대폰에서 "이 비디오를 재생해"라는 문구를 제공하는 선택가능한 엘리먼트는 TV를 나타내는 아이콘도 포함할 수 있다. 서버는 어떤 디바이스가 선택가능한 엘리먼트에 의한 초기화에 가장 적절한지에 따라 디스플레이할 적절한 아이콘을 식별할 수 있다. 예를 들어, "Sally에게 전화해"라는 문구를 포함하는 선택가능한 엘리먼트는 사용자가 휴대폰으로 대부분의 전화를 거는 것이 서버에 알려진 경우 휴대폰을 나타내는 아이콘을 포함할 수 있다. 추가적으로, “세금을 내줘”라는 문구를 포함하는 선택가능한 엘리먼트는 서버가 세금 어플리케이션 또는 사용자의 랩톱 컴퓨터에서 활성화된 웹사이트를 인식하고 있는 경우, 랩톱 컴퓨터를 나타내는 아이콘을 포함할 수 있다.
일부 구현예에서, 서드 파티 디바이스(예를 들어, 서드 파티 셀룰러 디바이스)에서 동작하는 어플리케이션들은 다른 디바이스 상의 자동화된 어시스턴트를 호출하기 위한 호출 문구를 포함하는 선택가능한 엘리먼트들을 제공할 수 있다. 이 시나리오에서, 사용자는 서드 파티 디바이스에서 보여지는 컨텐츠에 기초하여 자동화된 어시스턴트가 호출될 수 있는 능력을 소개 받을 것이다. 예를 들어, 사용자는 서드 파티 디바이스의 어플리케이션에서 재생 목록을 편집할 수 있으며, 어플리케이션은 선택가능한 엘리먼트에 "방금 편집한 재생 목록을 재생해줘"라는 호출 문구를 제시할 수 있다. 선택가능한 엘리먼트를 클릭하면, 자동화된 어시스턴트는 음악을 재생하는데에 서드 파티 디바이스보다 더 적절한 별개의 디바이스 상에서 초기화될 수 있다. 대안적으로, 다른 디바이스가 사용가능하지 않으면, 자동화된 어시스턴트에 대응하는 웹 어플리케이션이 서드 파티 디바이스에서 초기화될 수 있다. 이러한 방식으로, 사용자는 서드 파티 디바이스에서 보고 있는 컨텐츠를 활용하기 위해 자동화된 어시스턴트를 호출하는 능력을 인식할 수 있다.
또 다른 구현예에서, 선택가능한 엘리먼트에 포함된 호출 문구는 학습된 선호도 및 사용자의 트렌드에 기초하여 시간에 따라 적응될 수 있다. 결과적으로, 사용자는 중복된 일반 요청을 하는 것과 반대로, 자동화된 어시스턴트를 호출하기 위해 보다 구체적인 문구를 말할 수 있음을 인식할 것이다. 예를 들어, 사용자는 자동화된 어시스턴트에게 재생 목록의 음악을 재생하도록 요청할 수 있다. 그러나 재생 목록 상의 아티스트가 다른 사람보다 더 많이 재생되는 경우(예: Led Zeppelin), "Led Zeppelin을(를) 플레이해줘"라는 호출 문구가 포함된 선택가능한 엘리먼트가 사용자에게 제시될 수 있다. 이러한 방식으로, 선택가능한 엘리먼트의 호출 문구를 적응시킴으로써, 사용자는 자동화된 어시스턴트가 보다 구체적인 요청을 이해한다는 것을 알 수 있다. 다른 예로서, 사용자는 언제 사용자가 매일 직장에서 집에 도착하는지를 알려줄 수 있는 자동화된 어시스턴트를 동작하는 독립형 인터렉티브 스피커를 가질 수 있다. 사용자가 매일 집에 도착하면, 사용자는 항상 독립형 인터렉티브 스피커에게 사용자가 차에서 듣고 있던 팟캐스트를 계속 재생하도록 요청할 수 있다. 그러나, 사용자가 이 요청을 반복적으로 할 필요가 없도록하기 위해, 자동차의 차량 네비게이션 시스템의 GUI에서 호출 문구 "어시스턴트, 팟캐스트를 들으면서 집에 도착할 때마다 팟캐스트를 집에서 계속 재생해"가 선택가능한 엘리먼트에 제공될 수 있다. 사용자가 GUI에서 선택가능한 엘리먼트를 선택하면, 독립형 인터렉티브 스피커는 팟캐스트를 계속 재생할 수 있으며, 선택적으로 새로운 자동화 규칙이 설정되었음을 청각적으로 확인할 수 있다. 이러한 방식으로, 사용자의 학습된 선호도에 따라 선택가능한 엘리먼트에서 호출 문구를 적응시킴으로써 자동화 어시스턴트의 능력이 사용자에게 보여질 수 있다.
일부 실시예에서, 초기에 선택가능한 엘리먼트가 선택되고 자동화된 어시스턴트가 초기화된 후, 응답 엘리먼트들이 새로운 문구와 제공되어 사용자에게 그들의 응답을 안내할 수 있다. 응답 엘리먼트를 제공함으로써, 사용자는 자동화된 어시스턴트가 이해할 수 있는 가청 응답을 인식할 수 있다. 또한, 응답 엘리먼트는 자동화된 어시스턴트에 응답할 때 사용자가 채울 수 있는 플레이스홀더가 있는 응답 문구를 도시할 수 있다. 예를 들어, 사용자가 다음 날 아침 일정에서 이른 회의를 스케쥴링한 후, 호출 문구 "내일 아침에 알람을 설정해줘"를 갖는 선택가능한 엘리먼트가 사용자에게 제시될 수 있다. 선택가능한 엘리먼트를 선택하면 자동화된 어시스턴트가 초기화되고 자동화된 어시스턴트로 하여금 사용자에게 문구 "Ok, 알람 설정 시간은 언제입니까?"를 청각적으로 질의하게 한다. 임계 시간 기간 후에 사용자가 청각적으로 응답하지 않으면, "알람을 설정해”라는 응답 문구를 가지는 응답 엘리먼트가 사용자에게 제시될 수 있다. 도 1은 클라이언트 디바이스(106)에 디스플레이된 선택가능한 엘리먼트(118)를 사용하여 자동화된 어시스턴트(106)를 초기화하기 위한 시스템(100)을 도시한다. 각 클라이언트 디바이스(106)는 예를 들어, 데스크톱 컴퓨팅 디바이스, 랩탑 컴퓨팅 디바이스, 태블릿 컴퓨팅 디바이스, 모바일폰 컴퓨팅 디바이스, 참여자 차량의 컴퓨팅 디바이스(예를 들어, 차량 내 통신 시스템, 차량 내 엔터테인먼트 시스템, 차량 내비게이션 시스템) 또는 컴퓨팅 디바이스를 포함하는 참여자의 웨어러블 장치(예를 들어, 컴퓨팅 디바이스를 갖는 참여자의 시계, 컴퓨팅 디바이스를 갖는 참여자의 안경)일 수 있다. 추가적 및/또는 대안적 클라이언트 디바이스들(106)이 제공될 수 있다. 서버 디바이스(104) 및/또는 서버 디바이스(104) 상의 자동화된 어시스턴트(106)는 예를 들어 네트워크(114)를 통해 통신하는 하나 이상의 컴퓨터에서 구현될 수 있다. 사용자는 클라이언트 디바이스(102)를 통해 서버 디바이스(104)와 인터렉션할 수 있다. 각 클라이언트 디바이스(106)는 근거리 통신망(LAN)과 같은 하나 이상의 네트워크(114) 또는 인터넷과 같은 광역 통신망(WAN)을 통해 서버 디바이스(104)에 연결된 컴퓨터 시스템일 수 있다.
사용자 계정 데이터베이스(116)는 네트워크(114)를 통해 서버 디바이스(104) 및/또는 클라이언트 디바이스(102)에 연결될 수 있다. 본 명세서에서, 용어 "데이터베이스”는 임의의 데이터 집합을 지칭하기 위해 광범위하게 사용될 것이다. 데이터베이스의 데이터는 임의의 특정한 방식으로 구조화될 수 있고, 데이터는 하나 이상의 지리적 위치에 있는 저장 디바이스에 저장될 수 있다. 따라서, 예를 들어, 사용자 계정 데이터베이스(116)는 데이터의 다수의 집합을 포함할 수 있고, 그 각각은 상이하게 조직화되고 액세스될 수 있다.
클라이언트 디바이스(102)의 사용자는 클라이언트 디바이스(102) 상에서 하나 이상의 소프트웨어 어플리케이션(도시되지 않음)을 동작하여 데이터 기록, 미디어 액세스, 다른 클라이언트 디바이스(102) 제어 및/또는 컴퓨터 시스템에 적합한 임의의 다른 작업과 같은 작업을 수행할 수 있다. 클라이언트 디바이스(102)를 동작하는 동안, 사용자는 말하기, 손발 움직이기, 오브젝트 움직이기, 텍스트 및/또는 이미지를 자동화된 어시스턴트(106)이 액세스가능하고 및/또는 참여자인 메시징 어플리케이션(예를 들어, SMS, MMS, 인스턴트 메시징, 채팅 등)에 입력하기 등과 같은 다양한 방식으로 자동화된 어시스턴트(106)를 요청할 수 있다. 그러나, 사용자가 특정 시나리오에서 자동화된 어시스턴트(106)를 요청하는 능력을 인식하지 못하는 경우, 선택가능한 엘리먼트(118)는 클라이언트 디바이스(102)의 그래픽 사용자 인터페이스(GUI)에서 사용자에게 제공될 수 있다. 선택가능한 엘리먼트(118)는 GUI에서 제공되는 그래픽 피처(예를 들어, 링크, 이미지, 버튼, 카드, 팝업 통지 등)일 수 있으며, 이는 선택가능한 엘리먼트(118)가 선택된 경우 클라이언트 디바이스(102)가 서버 디바이스(104)와 인터렉션하게 한다. 선택가능한 엘리먼트(118)는 텍스트, 이미지, 비디오, 사운드, 내장된 정보(예: 메타 정보 및/또는 하이퍼링크); 및/또는 내장된 명령어들(예: JavaScript와 같은 ECMAScript 구현)와 같은 컨텐츠를 포함할 수 있다.
클라이언트 디바이스(102)의 GUI에서 선택가능한 엘리먼트(118)를 제공하기 위해, 일부 구현예에서, 계정 데이터(예를 들어, 로그인 크리덴셜 또는 사용자 식별자)가 클라이언트 디바이스(102)로부터 서버 디바이스(104)에게로 네트워크(114)를 통해 제공될 수 있다. 서버 디바이스(104)는 계정 데이터를 사용하여 사용자 계정 데이터베이스(116)에 질의할 수 있다. 서버 디바이스(104)는 사용자 계정 데이터베이스(116)에서 사용자의 계정과 연관된 정보, 예를 들어 계정과 연관된 디바이스들(예를 들어, 이전에 언급된 디바이스의 조정된 에코시스템), 사용자의 선호도, 사용자의 학습된 스케줄, 사용자의 연락처, 사용자의 디바이스들 보여진 미디어 및/또는 사용자의 계정과 연관하여 저장될 수 있는 임의의 다른 데이터를 식별할 수 있다. 서버 디바이스(104)는 선택가능한 엘리먼트(118)를 클라이언트 디바이스(102)에 제공하는 방법 및 자동화된 어시스턴트(106)가 선택가능한 엘리먼트(118)의 선택에 응답할 수 있는 방법에 관한 결정을 하기 위해 사용자 계정 데이터베이스(116)로부터의 정보를 사용할 수 있다. 서비스 디바이스(104) 및 사용자 계정 데이터베이스(116)가 도 1에 개별적으로 도시되어 있지만, 이것은 제한적인 것으로 의도되지 않으며, 이들 컴포넌트는 동일한 컴퓨팅 시스템에서 구현될 수 있고 및/또는 다양한 방식으로 다수의 컴퓨팅 시스템에 걸쳐서 분산될 수 있다.
하나 이상의 자동화된 어시스턴트(106)의 동작은 서버 디바이스(104)에 저장된 데이터에 따라 수행될 수 있다. 일부 구현예에서, 사용자 계정은 하나 이상의 상이한 자동화된 어시스턴트(106)와 연관될 수 있고, 각각의 자동화된 어시스턴트(106)는 사용자에게 유사하거나 상이한 서비스를 제공할 수 있다. 다른 구현예에서, 사용자 계정은 단일 자동화된 어시스턴트(106) 또는 에이전트와 연관될 수 있고 및/또는 단일 자동화된 어시스턴트(106)는 다수의 사용자 계정 및/또는 에이전트와 서비스 또는 인터렉션할 수 있다(일부 경우, 자동화된 어시스턴트(106)는 현재 서비스 중인 사용자 계정 또는 에이전트에 따라 상이한 데이터에 액세스할 수 있다). 예를 들어, 사용자로부터 자동화된 어시스턴트(106)에 대한 응답은 자동화된 어시스턴트(106)에 의해 프로세싱되어 사용자에게 서비스를 제공하기 위해 하나 이상의 에이전트로 전송될 수 있다. 자동화된 어시스턴트(106)는 사용자의 발화된 단어에 대응하는 오디오 데이터를 수신하고 상기 오디오 데이터를 수신된 언어 데이터로 변환할 수 있는 (자연) 언어 프로세싱 엔진(108)을 포함하거나 또는 이에 따라 동작할 수 있다. 수신된 언어 데이터는 자동화된 어시스턴트(106)가 명령에 동작하게 할 수 있는 명령(예를 들어, 자연어 입력)에 대응할 수 있다. 예를 들어, 자동화된 어시스턴트(106)는 사용자에게 정보를 제공하는 것, 사용자와 연관된 디바이스를 제어하는 것, 사용자의 계정과 연관하여 저장된 데이터를 편집하는 것 및/또는 컴퓨터 시스템에 의해 수행될 수 있는 임의의 다른 액션과 같이 사용자로부터 명령을 수신함에 응답하여 다양한 액션들을 수행할 수 있다. 자동화된 어시스턴트(106)는 또한 자동화된 어시스턴트(106)가 동작을 수행하기 전, 동안 및/또는 후에 클라이언트 디바이스(102)로 하여금 가청 응답을 제공하게 할 수 있다. 자동화된 어시스턴트(106)로부터의 응답은 자동화된 어시스턴트(106)의 응답 컨텐츠 엔진(110)에 의해 생성될 수 있다. 응답 컨텐츠 엔진(110)은 사용자가 자동화된 어시스턴트(106)와 통신할 때 응답을 제공하기 위해 서버 디바이스(104), 클라이언트 디바이스(102) 및/또는 사용자 계정 데이터베이스(116)로부터의 데이터를 사용할 수 있다. 추가적으로, 응답 컨텐츠 엔진(110)에 의해 사용되는 데이터는 사용자의 계정과 연관되지 않은 데이터 소스(예를 들어, 일반적인 인터넷 검색, 기타 웹 서비스 등)로부터 온 것일 수 있다. 응답 컨텐츠 엔진(110)에 의해 생성된 응답은 자동화된 어시스턴트(106)에 의해 출력될 가청 응답(예를 들어, 발화된 단어)일 수 있지만, 응답은 또한 비-청각적(예를 들어, 이미지, 텍스트, 비디오, 촉각 피드백)일 수 있다. 예를 들어, 자동화된 어시스턴트(106)를 요청하는 사용자에 대한 응답은 클라이언트 디바이스(102)의 GUI에 나타나는 텍스트 또는 선택가능한 엘리먼트(118)의 형태일 수 있다.
서버 디바이스(104)는 선택가능한 엘리먼트(118)의 제시 및 동작과 관련된 컨텐츠 및 데이터를 생성하기 위한 선택가능한 엘리먼트 엔진(112)을 포함할 수 있다. 선택가능한 엘리먼트(118)의 컨텐츠는 사용자 계정 데이터베이스(116), 하나 이상의 클라이언트 디바이스(102), 서버 디바이스(104) 및/또는 선택가능한 엘리먼트(118)에 포함시키기 위한 정보를 제공할 수 있는 임의의 다른 데이터 소스로부터의 데이터에 기초할 수 있다. 클라이언트 디바이스(102)를 위해 선택가능한 엘리먼트 엔진(112)에 의해 제공된 선택가능한 엘리먼트(118)는 사용자를 돕기 위해 하나 이상의 자동화된 어시스턴트(106)를 초기화하는데 사용될 수 있다. 선택가능한 엘리먼트(118)의 컨텐츠 및 동작은 사용자가 클라이언트 디바이스(102)를 어떻게 동작하고 있는지에 기초할 수 있다. 예를 들어, 사용자는 클라이언트 디바이스(102)를 사용하여 자동화된 어시스턴트(106)에 의해 수행될 수 있는 기능을 수행할 수 있다. 기능과 관련된 데이터는 네트워크(114)를 통해 서버 디바이스(104)에 전송될 수 있다. 서버 디바이스(104)의 선택가능한 엘리먼트 엔진(112)은 자동화된 어시스턴트(106)를 초기화할 수 있는 선택가능한 엘리먼트(118)를 생성하기 위한 기초로서 기능과 관련된 데이터를 사용할 수 있다.
선택가능한 엘리먼트(118)의 컨텐츠는 사용자에 의해 클라이언트 디바이스(102)에 청각적으로 발화되면 자동화된 어시스턴트(106)를 초기화하는 호출 문구를 포함할 수 있다. 선택가능한 엘리먼트(118)의 컨텐츠 및 동작에 대응하는 데이터는 클라이언트 디바이스(102)로 다시 전송될 수 있고, 클라이언트 디바이스(102)는 클라이언트 디바이스(102)의 GUI에서 선택가능한 엘리먼트(118)를 디스플레이할 수 있다. 사용자가 선택가능한 엘리먼트(118)를 선택하는 경우 자동화된 어시스턴트(106)는 초기화되고 기능 수행을 보조할 수 있다. 이러한 방식으로, 사용자는 기능을 수행하기 위해 자동화된 어시스턴트(106)를 초기화할 수 있는 호출 문구를 통지할 수 있다. 그 후, 사용자는 클라이언트 디바이스(102)로 기능 자체를 수동으로 수행하기 보다는 호출 문구를 말하도록 권장될 것이다.
도 2a 내지 2c는 사용자(202)에게 서비스를 제공하기 위한 자동화된 어시스턴트를 초기화할 수 있는 선택가능한 엘리먼트(212)의 구현을 도시한다. 구체적으로, 도 2a는 컴퓨터 시스템(204)의 그래픽 사용자 인터페이스(GUI)(208)에 디스플레이되는 어플리케이션(206)을 사용하는 사용자(202)의 사시도(200)를 도시한다. 어플리케이션(206)은 웹 브라우저, 워드 프로세싱 어플리케이션, 스케줄링 어플리케이션, 미디어 어플리케이션, 게임 어플리케이션, 지도 어플리케이션, 서드 파티 어플리케이션, 컨트롤러 어플리케이션, 이메일 어플리케이션, 메시징 어플리케이션 및/또는 컴퓨팅 시스템에서 동작할 수 있는 임의의 다른 어플리케이션일 수 있다. 어플리케이션(206)이 웹 브라우저인 경우, 컴퓨터 시스템(204)은 사용자(202)와 연관된 계정 데이터를 선호도를 관리하고 사용자(202)의 트렌드를 식별하는 서버로 전송할 수 있다. 사용자(202)는 예를 들어, 사용자(202)가 먹고 싶어하는 음식점을 식별하는 웹사이트를 탐색할 수 있다. 사용자는 그것을 인식하지 못할 수 있지만, 컴퓨터 시스템(204)은 사용자(202)에게 음식점으로의 길안내를 제공할 수 있는 자동화된 어시스턴트를 초기화할 수 있다. 컴퓨터 시스템(204)은 사용자(202)가 컴퓨터 시스템(204)에서 호출 문구를 말하는 것에 응답하여 자동화된 어시스턴트를 초기화할 수 있다. 그러나, 사용자(202)가 호출 문구를 말하지 않거나 그러한 기능을 인식하지 못하면, 선택가능한 엘리먼트(212)는 GUI(208)에 디스플레이되는 어플리케이션(206)과 동시에 컴퓨터 시스템(204)의 GUI(208)에 제시될 수 있다. 선택가능한 엘리먼트(212)는 도 2b의 사시도(210)에 도시된 바와 같이, 호출 문구를 포함하는 텍스트를 디스플레이할 수 있다. 호출 문구는 예를 들어, 음식점을 식별하는 웹사이트와 같이 사용자(202)에 의해 보여지는 미디어에 기초할 수 있다. 호출 문구 및/또는 선택가능한 엘리먼트(212)를 제공하기 위한 명령어들은 컴퓨터 시스템(212), 컴퓨터 시스템(212)에 연결된 서버 디바이스 및/또는 자동화된 어시스턴트를 제어 및/또는 호스팅할 수 있는 임의의 다른 디바이스에 의해 제공될 수 있다. 호출 문구는 “이 음식점에 대한 길안내를 해줘”와 같은 명령일 수 있다. 선택가능한 엘리먼트(212)에서 호출 문구를 전달함으로써, 사용자(202)는 길안내를 찾는 것을 돕기 위해 자동화된 어시스턴트(106)를 호출하는 능력을 통지할 수 있다. 또한, 선택가능한 엘리먼트(212)를 클릭함으로써, 사용자(202)는 도 2c의 사시도(214)에 도시된 바와 같이, 자동화된 어시스턴트와 대화를 개시할 수 있다.
도 2c는 사용자(202)가 선택가능한 엘리먼트(212)를 선택하는 것에 응답하여, 컴퓨터 시스템(204)으로부터 나오는 청각적 출력(218)을 도시한다. 청각적 출력(218)은 사용자(202)가 선택가능한 엘리먼트(212)를 선택하는 것에 응답하여 자동화된 어시스턴트에 의해 제공되는 음성에 대응할 수 있다. 선택가능한 엘리먼트(212)를 클릭함으로써, 자동화된 어시스턴트는 마치 사용자(202)가 컴퓨터 시스템(204)에 호출 문구를 말한 것처럼 호출 문구를 수신한다. 사용자(202)가 선택가능한 엘리먼트(212)를 클릭하면, 선택가능한 엘리먼트(212)는 GUI(208)에서 사라질 수 있고, 어플리케이션(206)은 GUI(208)에서 확장될 수 있다. 자동화된 어시스턴트로부터의 청각적 출력(218)은 사용자(202)에게 길안내를 제공하고 및/또는 음식점으로의 경로의 세부 사항에 관해 사용자(202)에게 질의할 수 있다. 예를 들어, 자동화된 어시스턴트는 사용자(202)가 음식점으로 걸어갈 것인지 음식점으로 운전할 것인지를 물을 수 있다. 임계 시간 기간 후 사용자(202)가 쿼리에 응답하지 않으면, 다른 선택가능한 엘리먼트(212)에 자동화된 어시스턴트로부터의 질의에 응답하기 위한 텍스트(예를 들어, "걸어가고 싶다")가 제시될 수 있다. 사용자(202)에 의해 선택된 경우, 다른 선택가능한 엘리먼트(212)는 자동화된 어시스턴트(106)가 다른 청각적 출력(218)을 제공하게 할 수 있다. 예를 들어, 다른 선택가능한 엘리먼트(212)의 텍스트가 "음식점까지 걸어가는 길안내를 해줘"라는 문구에 대응하면, 자동화된 어시스턴트는 컴퓨터 시스템(204)을 통해 사용자(202)에게 걸어가는 길안내를 제공할 수 있다.
일부 구현예에서, 자동화된 어시스턴트의 동작과 관련된 데이터는 컴퓨터 시스템(204) 및/또는 컴퓨터 시스템(204)과 통신하는 서버 디바이스에 저장될 수 있다. 또한, 서버 디바이스가 자동화된 어시스턴트를 동작시키기 위한 데이터를 포함하는 경우, 서버 디바이스는 자동화된 어시스턴트로부터의 출력을 제공하기 위해 사용자의 계정과 연관된 상이한 컴퓨터 시스템들 중에서 선택할 수 있다. 예를 들어, 서버 디바이스가 컴퓨터 시스템(204)이 휴대가능하고 사용자(202)가 컴퓨터 시스템(204)을 사용하는 것과 동시에 길안내를 요구하고 있음을 알 수 있기 때문에 서버 디바이스는 도 2a 내지 2c의 컴퓨터 시스템(204)을 선택하여 길안내를 제공할 수 있다. 대안적으로, 사용자(202)가 컴퓨터 시스템(204)과 별개의 디바이스에 적절한 기능을 갖는 어플리케이션을 동작하고 있다면, 서버 디바이스 또는 컴퓨터 시스템(204)은 자동화된 어시스턴트로부터 출력을 제공하기 위한 디바이스를 선택할 수 있다. 예를 들어, 자동화된 어시스턴트의 동작과 관련된 데이터는 컴퓨터 시스템(204)에 저장될 수 있고, 컴퓨터 시스템(204)은 홈 모니터링 어플리케이션을 포함할 수 있다. 사용자(202)가 홈 모니터링 어플리케이션을 동작하는 동안, 선택가능한 엘리먼트가 홈 모니터링 디바이스에 제시될 수 있다. 홈 모니터링 디바이스에서 선택가능한 엘리먼트의 제시는 컴퓨터 시스템(204)에서 수행되는 액션에 기초할 수 있으며, 이는 사용자(202)의 계정과 연관된 디바이스의 디렉토리를 저장할 수 있다. 선택가능한 엘리먼트는 홈 모니터링 디바이스에서 자동화된 어시스턴트를 호출할 수 있는 호출 문구를 포함할 수 있다. 예를 들어, 호출 문구에는 "집의 온도를 70도로 조정해"와 같은 텍스트가 포함될 수 있다. 사용자(202)가 홈 모니터링 디바이스에서 선택가능한 엘리먼트를 클릭하면, 그에 따라 집의 온도가 조정될 수 있고, 자동화된 어시스턴트는 “집의 온도를 조정했습니다”와 같은 홈 모니터링 디바이스로부터의 청각적 출력을 제공할 수 있다. 일부 구현예에서, 호출 문구 내의 텍스트는 서버 디바이스에 의해 저장된 트렌드 및 선호도에 기초할 수 있다. 예를 들어, 호출 문구 텍스트로부터의 텍스트 "70도"는 서버 디바이스 및/또는 컴퓨터 시스템(204)에 의해 저장된 바와 같이, 사용자(202)가 온도를 70도로 조정하기 위해 홈 모니터링 어플리케이션을 이전에 사용했던 빈도에 기초할 수 있다.
도 3a 내지 3c는 제2 디바이스(304)에서 자동화된 어시스턴트를 초기화하기 위해 제1 디바이스(302)에서 사용자(306)에게 디스플레이되는 선택가능한 엘리먼트를 사용할 수 있는 디바이스들의 사시도를 도시한다. 제1 디바이스(302) 및 제2 디바이스(304) 각각은 사용자(306)가 컴퓨터 시스템(예를 들어, 사용자(306)에 의해 동작되는 컴퓨팅 디바이스의 전술한 조정된 에코시스템의 멤버들)으로부터 어플리케이션을 제어할 수 있게 하는 컴퓨터 시스템일 수 있다.
또한, 제1 디바이스(302) 및 제2 디바이스(304)는 네트워크를 통해 연결될 수 있다. 제1 디바이스(302)를 동작하는 동안, 사용자(202)는 컴퓨터 시스템의 그래픽 사용자 인터페이스(GUI)(308)에 의해 제공될 수 있는 임의의 그래픽 컨텐츠에 대응할 수 있는 어플리케이션 컨텐츠(310)를 보고 있을 수 있다. 예를 들어, 어플리케이션 컨텐츠(310)는 사용자(306)가 그들의 집 안에서 재생하기를 원하는 비디오의 재생목록일 수 있다. 사용자(306)는 제2 디바이스(304)가 비디오의 재생목록을 재생할 수 있다는 것을 인식할 수 있지만, 사용자(306)는 자동화된 어시스턴트가 제2 디바이스(304)에서 재생목록의 재생을 개시할 수 있다는 것을 인식하지 못할 수 있다. 사용자(306)가 이러한 방식으로 자동화된 어시스턴트를 사용하도록 장려하기 위해, 호출 문구를 포함하는 선택가능한 엘리먼트가 제1 디바이스(302)에서 사용자(306)에게 제시될 수 있다.
제1 디바이스(302)는 서버 디바이스를 포함하는 네트워크뿐만 아니라 제2 디바이스(304)에 연결될 수 있다. 사용자(306)는 제1 디바이스(302)에 제공되고 이후 서버 디바이스로 전송되는 계정 데이터를 사용하여 서버 디바이스에 로그인할 수 있다. 서버 디바이스는 계정 데이터를 사용하여 사용자(306)의 계정과 연관된 디바이스들의 디렉토리를 포함하는 사용자 계정 데이터베이스를 질의할 수 있다. 디바이스들의 디렉토리는 적어도 제1 디바이스(302) 및 제2 디바이스(304)를 식별하는 엔트리를 포함할 수 있다. 이러한 방식으로, 서버 디바이스는 자동화된 어시스턴트가 초기화될 위치를 제어할 수 있다. 제2 디바이스(304)는 제1 디바이스(302)보다 더 큰 디스플레이 영역을 갖기 때문에, 서버 디바이스는 제2 디바이스(304)가 사용자(306)에 액세스가능할 때 사용자(306)에 의해 선택된 비디오를 출력하도록 제2 디바이스(304)를 선택할 수 있다. 또한, 사용자(306)가 비디오의 재생목록과 관련된 어플리케이션 컨텐츠(310)를 보고 있을 때, 서버 디바이스는 자동화된 어시스턴트를 초기화할 수 있는 선택가능한 엘리먼트의 동작 및 제시에 대응하는 데이터를 제1 디바이스(302)에 제공할 수 있다. 예를 들어, 선택가능한 엘리먼트의 동작과 관련된 데이터는 제1 디바이스(302) 또는 제2 디바이스(304)에 의해 실행가능한 명령어들을 포함하여 자동화된 어시스턴트의 출력이 제2 디바이스(304)에서 제공되게 할 수 있다. 추가적으로, 선택가능한 엘리먼트의 제시와 관련된 데이터는 "제2 디바이스에서 비디오의 재생목록을 재생해"와 같은 호출 문구의 텍스트를 포함할 수 있다.
도 3b는 GUI(308)에서 선택가능한 엘리먼트(314)를 가진 어플리케이션 컨텐츠(310)를 보는 사용자(306)의 사시도(312)를 도시한다. 선택가능한 엘리먼트(314)는 사용자(306)가 자동화된 어시스턴트의 특정 기능을 알지 못할 때 사용자가 호출 문구를 말하도록 장려하기 위해 호출 문구와 함께 GUI(308)에 디스플레이될 수 있다. 이 예에서, 사용자(306)는 호출 문구를 제2 디바이스(304)에 말함으로써 자동화된 어시스턴트가 제2 디바이스(304)에서 초기화될 수 있다는 것을 인식하지 못한다. 따라서, 서버 디바이스는 사용자(306)가 제1 디바이스(302)에서 어플리케이션 컨텐츠(310)를 보고 있다는 것을 통지받으므로, 서버 디바이스는 제1 디바이스(302)로 하여금 선택가능한 엘리먼트(314)를 디스플레이하게 할 수 있다. 사용자(306)에 의해 선택된 경우, 선택가능한 엘리먼트(314)는 사용자(306)가 호출 문구를 제2 디바이스(304)에 청각적으로 말한 것처럼 자동화된 어시스턴트로 하여금 제2 디바이스(304)에서 초기화되게 할 수 있다. 추가적으로, 자동화된 어시스턴트는 호출 문구에 대응하는 명령이 실행되게 할 수 있다. 예를 들어, 호출 문구가 "제2 디바이스에서 비디오의 재생목록을 재생해"면, 자동화된 어시스턴트는 도 3c의 사시도(316)에 도시된 바와 같이, 제2 디바이스(304)로 하여금 비디오의 재생목록의 비디오에 대응하는 비디오 컨텐츠(318)를 디스플레이하게 할 수 있다.
구체적으로, 도 3c는 사용자(306)가 제1 디바이스(302)에서 선택가능한 엘리먼트(314)를 클릭한 후, 제2 디바이스(304)에 디스플레이된 비디오 컨텐츠(318)를 보는 사용자(306)의 사시도(316)를 제공한다. 선택적으로, 일부 구현예에서, 제2 디바이스(304)는 자동화된 어시스턴트가 제2 디바이스(304)에서 도울 수 있는 다른 피처를 사용자(306)에게 통지할 수 있는 호출 문구(320)를 디스플레이할 수 있다. 예를 들어, 사용자(306)가 선택가능한 엘리먼트(314)를 선택하고 자동화된 어시스턴트(106)가 비디오 컨텐츠(318)를 디스플레이하게 한 후에, 사용자(306)는 재생목록에서 특정 비디오를 건너뛰기를 원할 수 있다. 건너뛰기 기능은 사용자(306)의 지시시 자동화된 어시스턴트에 의해 수행될 수 있다. 이 능력을 사용자(306)에게 알리기 위해, 서버 디바이스, 제1 디바이스(302) 또는 제2 디바이스(304)는 호출 문구(320)가 "재생목록의 다음 비디오로 건너뛰어"라는 텍스트를 디바이스하게 할 수 있다. 대안적으로, 호출 문구(320)는 "제2 디바이스(304)에서 비디오의 볼륨을 높여"라는 텍스트를 디스플레이할 수 있다. 호출 문구를 제공하기 위한 명령어는 서버 디바이스로부터, 또는 선택적으로 제1 디바이스(302) 또는 제2 디바이스(304)로부터 제2 디바이스에게로 제공될 수 있다. 명령어는 자동화된 어시스턴트를 동작하는 디바이스에 의해 선택적으로 생성될 수 있다.
일부 구현예에서, 자동화된 어시스턴트는 사용자(306)와 관련된 선호도 및 트렌드 데이터에 액세스할 수 있고, 호출 문구(320)가 사용자(306)의 트렌드에 보다 특정된 텍스트를 포함하게 할 수 있다. 예를 들어, 자동화된 어시스턴트는 사용자(306)에 의해 가장 많이 재생된 비디오(예를 들어, Led Zeppelin 비디오)가 비디오의 재생목록에 있음을 표시하는 서버 디바이스의 데이터에 액세스할 수 있다. 그 다음, 자동화된 어시스턴트는 호출 문구(320) 또는 선택가능한 엘리먼트(314)가 "Led Zeppelin 비디오를 재생해"라는 텍스트를 디스플레이하게 할 수 있다. 이러한 방식으로, 사용자(306)는 자동화된 어시스턴트를 호출하기 위해 제1 디바이스(302) 및 제2 디바이스(304)에 보다 특정된 요청을 제공할 수 있음을 알릴 수 있다. 일부 구현예에서, 호출 문구(320)는 클릭가능하거나 클릭불가능한 그래픽 엘리먼트의 일부일 수 있다. 예를 들어, 일부 구현예에서, 사용자(306)가 호출 문구(320)를 제2 디바이스(304)에 말하도록 장려하기 위해 호출 문구(320)를 갖는 그래픽 엘리먼트는 클릭불가능할 수 있다.
도 4a 및 4b는 상이한 언어로 자동화된 어시스턴트를 호출할 수 있는 선택가능한 엘리먼트를 제공하기 위한 시스템을 도시한다. 구체적으로, 도 4a는 네트워크(404)를 통해 연결된 서버 디바이스(402), 클라이언트 디바이스(406) 및 사용자 계정 데이터베이스(412)를 포함하는 시스템의 다이어그램(400)을 도시한다. 클라이언트 디바이스(406)는 클라이언트 디바이스(406)의 디스플레이 컴포넌트(408)에서 제1 언어로 컨텐츠를 디스플레이할 수 있는 임의의 컴퓨터 시스템(204)일 수 있다. 예를 들어, 디스플레이 컴포넌트(408)는 제1 언어 컨텐츠(410)를 갖는 어플리케이션을 디스플레이하는 그래픽 사용자 인터페이스(GUI)(414)를 포함할 수 있다. 제1 언어는 영어, 독일어, 스페인어, 프랑스어, 일본어, 페르시아어 및/또는 사람이 말하거나 쓸 수 있는 임의의 다른 언어일 수 있다. 서버 디바이스(402)는 클라이언트 디바이스(406)에서 기능을 수행하는데 사용될 수 있는 하나 이상의 자동화된 어시스턴트들에 대응하는 하나 이상의 모듈들을 포함할 수 있다. 사용자는 다양한 상이한 언어로 발화될 수 있는 호출 문구를 통해 자동화된 어시스턴트와 통신할 수 있다. 그러나, 일부 구현예에서, 자동화된 어시스턴트에 의해 이해되는 언어는 제한될 수 있다. 따라서, 사용자에게 자동화된 어시스턴트에 의해 이해되는 언어로 자동화된 어시스턴트를 요청하도록 하기 위해, 선택가능한 엘리먼트가 제공될 수 있다. 선택가능한 엘리먼트는 제1 언어, 사용자가 선호하는 언어로 제시될 수 있지만, 자동화된 어시스턴트는 사용자에 의해 청각적으로 발화된 경우 자동화된 어시스턴트가 이해할 수 있는 제2 언어로 응답할 수 있다. 예를 들어, 제1 언어는 독일어일 수 있고, 제1 언어 컨텐츠(410)는 사용자의 선호도에 따라 독일어 텍스트로 디스플레이되는 메일 어플리케이션에 대응할 수 있다. 메일 어플리케이션을 사용하기 위해, 사용자는 로그인 크리덴셜을 클라이언트 디바이스(406)에 제공할 수 있고, 그 다음 로그인 크리덴셜을 서버 디바이스(402)에 전송할 수 있다. 서버 디바이스(402)는 로그인 크리덴셜을 사용하여 사용자 계정 데이터베이스(412)에 질의하고 사용자의 언어 선호를 결정할 수 있다. 언어 선호가 예를 들어 영어와 같은 자동화된 어시스턴트에 의해 이해되는 언어에 대응하지 않으면, 서버 디바이스(402)는 선택가능한 엘리먼트에 대응하는 데이터를 클라이언트 디바이스(406)에 제공할 수 있다. 선택가능한 엘리먼트는 제1 언어로 작성된 호출 문구를 포함할 수 있지만, 선택된 경우, 자동화된 어시스턴트가 오디오 컴포넌트(416)로부터 제2 언어로 말하게 하여 사용자에게 제2 언어로 어떻게 자동화된 어시스턴트를 호출하는지 알릴 수 있다.
도 4b는 자동화된 어시스턴트를 초기화하는데 사용될 수 있는 제2 언어 선택가능한 엘리먼트(420)로서 디스플레이되는 선택가능한 엘리먼트를 도시하는 다이어그램(418)을 제공한다. 사용자가 제2 언어 선택가능한 엘리먼트(420)를 선택하는 것에 응답하여, 자동화된 어시스턴트는 제2 언어 선택가능한 엘리먼트(420)에서 식별된 명령을 수행하고 사용자에 대한 명령을 청각적으로 음송할 수 있다. 예를 들어, 사용자가 독일어로 메일 어플리케이션을 보고 있는 동안, 제2 언어 선택가능한 엘리먼트(420)는 "이메일을 읽어줘"를 의미하는 "Bitte liest du diese email” 텍스트를 포함하는 호출 문구를 포함할 수 있다. 자동화된 어시스턴트는 호출 문구를 영어로 음송하고 명령을 수행할 수 있다(예를 들어, 이메일의 텍스트를 청각적으로 음송). 이는 이중 언어 사용자가 다른 언어를 이해할 수 있는 자동화된 어시스턴의 능력을 인식하게 한다.
일부 구현예에서, 서버 디바이스(402) 및/또는 클라이언트 디바이스(406)는 자동화된 어시스턴트에 의해 이해되는 다수의 발화된 호출 문구를 확장하는데 사용될 수 있다. 서버 디바이스(402)는 사용자의 음성을 프로세싱하고, 프로세싱된 음성을 서버 디바이스(402) 및/또는 클라이언트 디바이스(406)의 기능과 상관시키고, 어플리케이션 텍스트를 서버 디바이스(402) 및/또는 클라이언트 디바이스(406)의 기능과 상관시키고, 및/또는 자동화된 어시스턴트에 의해 이해되는 호출 문구를 관리하기 위한 하나 이상의 언어 프로세싱 모듈들을 포함할 수 있다. 이 모듈들을 사용하여 자동화된 어시스턴트에 의해 이해되는 발화된 호출 문구들의 수를 확장할 수 있다. 예를 들어, 사용자는 클라이언트 디바이스(406)에서 다수의 텍스트 엔트리를 갖는 GUI를 포함하는 소셜 네트워크 어플리케이션을 제1 언어로 볼 수 있다. 클라이언트 디바이스(406) 및/또는 서버 디바이스(402)는 소셜 네트워크 어플리케이션에 디스플레이된 비디오를 재생하는 것과 같이, 자동화된 어시스턴트에 의해 수행될 수 있는 기능과 상관된 텍스트 엔트리를 식별할 수 있다. 그러나, 자동화된 어시스턴트는 제1 언어를 이해하지 못할 수 있고, 대신 제2 언어로 제공될 호출 문구들에 의존할 수 있다. 다시 말해서, 자동화된 어시스턴트는 사용자가 제1 언어가 아닌 제2 언어로 호출 문구를 말하는 경우 이미 기능을 수행할 수 있다. 이 시나리오에서, 사용자에게는 제1 언어로 선택가능한 엘리먼트가 제공될 수 있고, 제1 언어로 선택가능한 엘리먼트의 호출 문구를 말하도록 프롬프트될 수 있다. 프롬프트는 선택가능한 엘리먼트에 포함될 수 있으며 “당신의 선호 언어로 명령을 기록하시겠습니까?”라는 문구를 포함한다. 사용자가 동의하면, 클라이언트 디바이스(406) 및/또는 서버 디바이스(402)는 자동화된 어시스턴트가 제1 언어로 이해할 수 있는 호출 문구의 수를 확장하기 위해 사용자로부터 수신된 음성을 프로세싱할 수 있다. 그 다음, 프로세싱된 음성과 관련된 데이터는 기능과 연관하여 저장될 수 있고, 자동화된 어시스턴트가 제1 언어 또는 제2 언어로 기능을 수행하도록 호출될 수 있다. 대안적으로, 선택가능한 엘리먼트는 자동화된 어시스턴트가 선호하는 언어로 호출 문구를 음송하는 방법을 사용자에게 알리기 위해, 자동화된 어시스턴트가 제2 언어로 선택가능한 엘리먼트의 호출 문구를 음송하게 할 수 있다.
도 5는 선택가능한 엘리먼트로부터 자동화된 어시스턴트를 초기화하기 위한 방법(500)을 도시한다. 방법(500)은 컴퓨터 시스템, 장치 및/또는 자동화된 어시스턴트를 제어하기에 적절한 임의의 다른 디바이스에 의해 수행될 수 있다. 컴퓨터 시스템은 본 명세서에 기술된 다양한 엔진, 데이터베이스 및 모듈을 포함하는 다양한 컴퓨터 시스템의 다양한 컴포넌트들을 포함할 수 있다. 추가로, 방법(500)의 동작들이 특정한 순서로 도시되었지만, 이는 그러한 제한을 의미하지 않는다. 하나 이상의 동작들은 재순서화, 생략 또는 추가될 수 있다. 방법(500)은 컴퓨팅 디바이스의 그래픽 사용자 인터페이스에서 선택가능한 엘리먼트를 제공하기 위한 명령어들을 수신하는 블록(502)을 포함할 수 있다. 명령어들은 컴퓨팅 디바이스에 연결된 서버 디바이스에 의해 제공될 수 있다. 블록(504)에서, 상기 선택가능한 엘리먼트는 상기 컴퓨팅 디바이스의 상기 그래픽 사용자 인터페이스에 디스플레이될 수 있다. 선택가능한 엘리먼트는 자동화된 어시스턴트를 요청하기 위한 호출 문구에 대응하는 텍스트를 포함할 수 있다. 호출 문구는 자동화된 어시스턴트에 의해 이해되고 수행될 수 있는 명령을 포함할 수 있다. 예를 들어, 명령은 자동화된 어시스턴트에게 컴퓨팅 디바이스 및/또는 서버 디바이스에 저장된 데이터를 사용하여 액션을 수행하도록 지시할 수 있다. 블록(506)에서, 선택가능한 엘리먼트의 선택이 그래픽 사용자 인터페이스에서 수신될 수 있다. 선택은 컴퓨팅 디바이스의 터치스크린, 키보드, 터치패드 및/또는 주변기기를 사용하여 이루어질 수 있다. 또한, 블록(508)에서, 자동화된 어시스턴트는 선택을 수신함에 응답하여 동작 상태로 전이할 수 있다. 동작 상태는 자동화된 어시스턴트가 사용자로부터의 발화된 호출 문구에 응답할 수 있는 활성 동작 상태일 수 있다. 대안적으로, 동작 상태는 자동화된 어시스턴트가 선택을 수신하는 것에 응답하여 액션을 수행하는 활성 동작 상태일 수 있다.
도 6은 선택가능한 엘리먼트가 제공되는 곳과 다른 컴퓨팅 디바이스에서 자동화된 어시스턴트를 초기화하기 위한 방법(600)을 도시한다. 방법(600)은 컴퓨터 시스템, 장치 및/또는 자동화된 어시스턴트를 제어하기에 적절한 임의의 다른 디바이스에 의해 수행될 수 있다. 컴퓨터 시스템은 본 명세서에 기술된 다양한 엔진, 데이터베이스 및 모듈을 포함하는 다양한 컴퓨터 시스템의 다양한 컴포넌트들을 포함할 수 있다. 추가로, 방법(600)의 동작들이 특정한 순서로 도시되었지만, 이는 그러한 제한을 의미하지 않는다. 하나 이상의 동작들은 재순서화, 생략 또는 추가될 수 있다. 방법(600)은 네트워크에 연결된 제1 컴퓨팅 디바이스의 그래픽 사용자 인터페이스에서 선택가능한 엘리먼트를 제공하는 블록(602)을 포함할 수 있다. 선택가능한 엘리먼트는 선택가능한 엘리먼트에 디스플레이된 텍스트에서 식별된 기능을 수행하기 위해 자동화된 어시스턴트를 호출할 수 있는 링크에 대응할 수 있다. 방법(600)은 제1 컴퓨팅 디바이스의 그래픽 사용자 인터페이스에서 선택가능한 엘리먼트의 선택을 수신하는 블록(604)을 더 포함할 수 있다. 추가적으로, 방법(600)은 자동화된 어시스턴트를 호출하기 위해 네트워크에서 제2 컴퓨팅 디바이스를 식별하는 블록(606)을 포함할 수 있다. 제2 컴퓨팅 디바이스는 사용자의 계정 데이터와 연관하여 저장된 디바이스들의 디렉토리로부터 식별될 수 있다. 추가적으로, 제2 컴퓨팅 디바이스는 제1 컴퓨팅 디바이스보다 선택가능한 엘리먼트의 선택에 응답하는 것이 더 적절한 지 여부에 기초하여 식별될 수 있다. 예를 들어, 제1 컴퓨팅 디바이스가 셀룰러 디바이스이고, 제2 컴퓨팅 디바이스가 텔레비전이고, 선택가능한 엘리먼트가 비디오를 재생하는 명령에 대응하는 경우, 텔레비전은 비디오들을 재생하는데 더 적절하기 때문에 자동화된 어시스턴트를 호출하기 위해 선택될 수 있다. 대안적으로, 제1 컴퓨팅 디바이스가 텔레비전이고, 제2 컴퓨팅 디바이스가 휴대용 디바이스이고, 선택가능한 엘리먼트가 길안내를 제공하는 명령에 대응하는 경우, 휴대용 디바이스가 이동시 쉽게 휴대될 수 있기 때문에 자동화된 어시스턴트를 호출하기 위해 휴대용 디바이스가 선택될 수 있다. 블록(608)에서, 자동화된 어시스턴트는 제2 컴퓨팅 디바이스에서 동작 상태로 전이할 수 있다. 동작 상태는 자동화된 어시스턴트가 제2 컴퓨팅 디바이스에서 액션을 수행하게 하는 활성 동작 상태일 수 있다. 활성 동작 상태에 있는 동안, 자동화된 어시스턴트는 발화된 호출 문구 및 다른 선택가능한 엘리먼트의 임의의 후속 선택에 응답할 수 있다.
도 7은 컴퓨팅 디바이스에서 제공된 컨텐츠의 언어와 상이한 언어를 이해하는 자동화된 어시스턴트를 초기화하는 방법(700)을 도시한다. 방법(700)은 컴퓨터 시스템, 서버 디바이스, 장치 및/또는 자동화된 어시스턴트를 제어하기에 적절한 임의의 다른 디바이스에 의해 수행될 수 있다. 컴퓨터 시스템은 본 명세서에 기술된 다양한 엔진, 데이터베이스 및 모듈을 포함하는 다양한 컴퓨터 시스템의 다양한 컴포넌트들을 포함할 수 있다. 추가로, 방법(700)의 동작들이 특정한 순서로 도시되었지만, 이는 그러한 제한을 의미하지 않는다. 하나 이상의 동작들은 재순서화, 생략 또는 추가될 수 있다. 방법(700)은 컴퓨팅 디바이스의 그래픽 사용자 인터페이스에서 디스플레이된 컨텐츠의 제1 언어를 식별하는 블록(702)을 포함할 수 있다. 제1 언어는 사람에 의해 이해될 수 있는 기록 언어에 대응할 수 있고, 컨텐츠는 컴퓨팅 디바이스에서 동작하는 어플리케이션의 인터페이스에서 제공될 수 있다. 예를 들어, 어플리케이션은 특정 스케줄된 이벤트의 주제와 같은 컨텐츠를 독일어로 디스플레이하는 일정 어플리케이션일 수 있다. 블록(704)에서, 제1 언어는 자동화된 어시스턴트의 제2 언어와 상이한 것으로 결정된다. 제2 언어는 제1 언어와 상이한 임의의 언어일 수 있다. 예를 들어, 제2 언어는 자동화된 어시스턴트를 동작하는 디바이스에 청각적으로 발화된 경우 자동화된 어시스턴트가 이해할 수 있는 영어일 수 있다. 블록(706)에서, 선택가능한 엘리먼트는 제1 언어로 컴퓨팅 디바이스의 그래픽 사용자 인터페이스에 디스플레이될 수 있다. 예를 들어, 선택가능한 엘리먼트는 제1 언어로 제공되는 호출 문구에 대응하는 텍스트를 포함하는 버튼 또는 링크일 수 있다. 선택가능한 엘리먼트는 사용자가 자동화된 어시스턴트에 의해 제어될 수 있는 기능을 갖는 어플리케이션을 동작할 때 제공될 수 있다. 예를 들어, 어플리케이션이 일정 어플리케이션을 사용 중인 경우, 선택가능한 엘리먼트는 "다음 달 달력을 열어줘"라는 의미의 독일어 호출 문구를 포함할 수 있다. 블록(708)에서, 선택가능한 엘리먼트의 선택에 응답하여, 자동화된 어시스턴트는 제2 언어로 응답할 수 있다. 일부 구현예에서, 자동화된 어시스턴트의 응답은 제1 언어 및 제2 언어 모두를 포함할 수 있다. 예를 들어, 제1 언어에서, 자동화된 어시스턴트는 "여기에 제2 언어로 명령을 말하는 방법입니다"라고 말할 수 있고, 후속적으로 제2 언어로 자동화된 어시스턴트가 호출 문구를 말할 수 있다. 이러한 방식으로, 사용자는 자동화된 어시스턴트가 선호하는 언어로 호출 문구를 말하도록 권장될 수 있다.
도 8은 예시적 컴퓨터 시스템(810)의 블록도(800)이다. 컴퓨터 시스템(810)는 일반적으로 적어도 하나의 프로세서(814)를 포함하며, 버스 서브시스템(812)을 통해 다수의 주변 디바이스들과 통신한다. 이들 주변 디바이스들은 예를 들면, 메모리 서브시스템(825) 및 파일 저장 서브시스템(826)을 포함하는 저장 서브시스템(824), 사용자 인터페이스 출력 디바이스(820), 사용자 인터페이스 입력 디바이스(822) 및 네트워크 인터페이스 서브시스템(816)을 포함할 수 있다. 입력 및 출력 디바이스는 컴퓨터 시스템(810)과 사용자 인터렉션을 하게 한다.
네트워크 인터페이스 서브시스템(816)은 외부 네트워크에 대한 인터페이스를 제공하며, 다른 컴퓨터 시스템들의 대응하는 인터페이스 디바이스들과 연결된다.
사용자 인터페이스 입력 디바이스(822)는 키보드, 마우스, 트랙볼, 터치패드 또는 그래픽 태블릿, 스캐너, 디스플레이에 통합된 터치스크린과 같은 포인팅 디바이스, 음성 인식 시스템, 마이크로폰과 같은 오디오 입력 디바이스 및/또는 다른 유형의 입력 디바이스를 포함한다. 일반적으로, 용어 “입력 디바이스”의 사용은 정보를 컴퓨터 시스템(810) 또는 통신 네트워크에 입력하기 위한 모든 가능한 유형의 디바이스들와 방식들을 포함하도록 의도된다.
사용자 인터페이스 출력 디바이스(820)는 디스플레이 서브시스템, 프린터, 팩스 기계 또는 오디오 출력 디바이스와 같은 비-시각적 디스플레이를 포함할 수 있다. 디스플레이 서브시스템은 CRT, LCD와 같은 평면 패널 디바이스, 프로젝션 디바이스 또는 시각적 이미지를 생성하기 위한 일부 기타 메커니즘을 포함할 수 있다. 또한, 디스플레이 서브시스템은 오디오 출력 디바이스와 같은 비-시각적 디스플레이를 제공할 수 있다. 일반적으로, 용어 “출력 디바이스”의 사용은 정보를 컴퓨터 시스템(810)로부터 사용자에게 또는 다른 기계 또는 컴퓨터 시스템에 정보를 출력하기 위한 모든 가능한 유형의 디바이스들와 방식들을 포함하도록 의도된다.
저장 서브시스템(824)은 본 명세서에 기술된 일부 또는 전부의 모듈들의 기능을 제공하기 위한 프로그래밍 및 데이터 구조를 저장한다. 예를 들어, 스토리지 서브시스템(824)은 방법(500, 600, 700)의 선택된 양태를 수행하고 및/또는 본 명세서에서 논의된 서버 디바이스, 클라이언트 디바이스, 데이터베이스, 엔진 및/또는 모듈 중 하나 이상을 구현하는 로직을 포함할 수 있다.
이들 소프트웨어 모듈들은 일반적으로 프로세서(814) 단독으로 또는 다른 프로세서들과의 조합에 의해 실행된다. 저장 서브시스템(824)에서 사용된 메모리(825)는 프로그램 실행 중에 명령어들 및 데이터의 저장을 위한 메인 RAM(830) 및 고정된 명령어들이 저장되는 ROM(832)을 포함하는 다수의 메모리들을 포함할 수 있다. 파일 저장 서브시스템(826)은 프로그램 및 데이터 파일에 대한 영구적 저장을 제공할 수 있고, 하드 디스크 드라이브, 연관된 이동식 매체와 함께인 플로피 디스크 드라이브, CD-ROM 드라이브, 광학 드라이브 또는 이동식 매체 카트리지들을 포함할 수 있다. 특정 구현예들의 기능을 구현하는 모듈들은 파일 저장 서브시스템(826)에 의해 저장 서브시스템(824)에 또는 프로세서(들)(814)에 의해 엑세스가능한 다른 기계에 저장될 수 있다.
버스 서브시스템(812)은 의도된 대로 컴퓨터 시스템(810)의 다양한 컴포넌트들 및 서브시스템들이 서로 통신하게 하기 위한 메커니즘을 제공한다. 버스 서브시스템(812)이 개략적으로 단일의 버스로 도시되었지만, 버스 서브시스템의 대안적 구현예들은 다수의 버스들을 사용할 수 있다.
컴퓨터 시스템(810)은 워크스테이션, 서버, 컴퓨팅 클러스터, 블레이드 서버, 서퍼팜 또는 임의의 기타 데이터 프로세싱 시스템 또는 컴퓨팅 디바이스를 포함하는 다양한 유형들일 수 있다. 컴퓨터들 및 네트워크들의 변하지 않는 성질 때문에, 도 8에 도시된 컴퓨터 시스템(810)의 기술은 일부 구현예들을 도시하기 위한 목적의 특정 예시로만 의도된다. 컴퓨터 시스템(810)의 많은 다른 구성들이 도 8에 도시된 컴퓨터 시스템보다 많거나 적은 컴포넌트들을 가질 수 있다.
본 명세서에서 논의된 시스템들이 사용자들에 관한 개인 정보를 수집하거나 또는 개인 정보를 사용하는 경우들에 있어서, 사용자들에게 프로그램들 또는 구성들이 사용자 정보(예를 들면, 사용자의 소셜 네트워크, 소셜 액션들 또는 활동들, 직업, 사용자의 선호들 또는 사용자의 현재 지리적 위치)에 관한 정보를 수집할 것인지 여부를 제어할, 사용자와 더 관련된 서버로부터의 컨텐츠를 수신할지 및/또는 어떻게 수신할지 제어할 기회가 제공될 수 있다. 추가로, 특정 데이터는 그것이 저장되거나 사용되기 전에 하나 이상의 다양한 방식들로 취급되어, 개인적으로 식별가능한 정보는 제거된다. 예를 들면, 사용자의 신원은 사용자에 관한 개인적으로 식별가능한 정보가 결정될 수 없도록 취급되거나 또는 사용자의 지리적 위치는 위치 정보가 획득된 곳에서 일반화되어(시, 우편번호 또는 주 수준으로), 사용자의 특정한 지리적 위치가 결정될 수 없도록 한다. 따라서, 사용자는 사용자에 관한 정보가 어떻게 수집되는지 그리고 사용되는지에 관한 제어를 가질 수 있다.
몇몇 구현예가 본 명세서에서 기술되고 도시되었지만, 기능을 수행하고 및/또는 결과 및/또는 본 명세서에 기술된 하나 이상의 이점을 획득하기 위한 다양한 다른 수단들 및/또는 구조들가 활용될 수 있으며, 그러한 변형들 및/또는 수정들은 본 명세서에서 기술된 구현예들의 범위 내에 있는 것으로 간주된다. 보다 일반적으로, 본 명세서에 기술된 모든 파라미터, 치수, 재료 및 구성은 예시적인 것으로 의도되었으며, 실제 파라미터, 치수, 재료 및/또는 구성은 교시를 사용되는 특정 어플리케이션 또는 어플리케이션들에 의존할 것이다. 통상의 기술자는 일상적인 실험만을 사용하여 본 명세서에 기술된 특정 구현예들에 대한 많은 균등물들을 인식할 수 있거나 또는 확인할 수 있을 것이다. 따라서, 전술한 구현예들은 단지 예일 뿐이며, 첨부된 청구범위 및 그 균등물의 범위 내에서 구현은 구체적으로 기술되고 청구된 것과 다르게도 실시 될 수 있음을 이해해야 한다. 본 개시의 구현은 본 명세서에 기술된 각각의 개별적인 구성, 시스템, 물품, 재료, 키트 및/또는 방법에 관한 것이다. 또한 구성, 시스템, 물품, 재료, 키트 및/또는 방법이 상호 불일치하지 않는다면, 그러한 두 개 이상의 구성, 시스템, 물품, 재료, 키트 및/또는 방법의 모든 조합이 본 발명의 범위 내에 포함된다.

Claims (21)

  1. 제1 컴퓨팅 디바이스에 의해, 서버 디바이스로부터, 상기 제1 컴퓨팅 디바이스의 그래픽 사용자 인터페이스에서 선택가능한 엘리먼트를 제공하기 위한 명령어들을 수신하는 단계, 상기 선택가능한 엘리먼트는 사용자에 의해 제2 컴퓨팅 디바이스의 자동화된 어시스턴트 인터페이스에 발화된 입력으로서 제공된 때 자동화된 어시스턴트를 동작 상태로 전이하는, 자연어 컨텐츠를 포함하는 문구를 포함하여 상기 그래픽 사용자 인터페이스에 디스플레이되며, 상기 동작 상태는 상기 자동화된 어시스턴트가 출력을 상기 제2 컴퓨팅 디바이스에 제공되게 하며;
    상기 선택가능한 엘리먼트 및 상기 문구를 상기 제1 컴퓨팅 디바이스의 상기 그래픽 사용자 인터페이스에 디스플레이하는 단계;
    상기 그래픽 사용자 인터페이스에서, 상기 선택가능한 엘리먼트의 선택을 수신하는 단계;
    상기 제1 컴퓨팅 디바이스와 연관된 상기 사용자의 계정과 연관된 다수의 컴퓨팅 디바이스들을 식별하는 단계, 상기 다수의 컴퓨팅 디바이스들은 적어도 상기 제1 컴퓨팅 디바이스 및 상기 제2 컴퓨팅 디바이스를 포함하며;
    상기 문구에 기초하여, 상기 다수의 컴퓨팅 디바이스들 중에서 상기 자동화된 어시스턴트를 초기화하기 위한 상기 제2 컴퓨팅 디바이스를 선택하는 단계; 및
    상기 선택가능한 엘리먼트의 선택에 응답하여, 그리고 상기 제2 컴퓨팅 디바이스 선택에 기초하여, 상기 자동화된 어시스턴트가 상기 출력을 상기 제2 컴퓨팅 디바이스의 상기 자동화된 어시스턴트 인터페이스에서 초기화하고 제공되게 하는 단계를 포함하며, 상기 출력 제공에 후속하여, 상기 자동화된 어시스턴트를 상기 자동화된 어시스턴트가 상기 제2 컴퓨팅 디바이스의 상기 자동화된 어시스턴트 인터페이스에 상기 사용자의 하나 이상의 추가적 발화된 발언들에 응답할 수 있는 상태로 전이시키는, 컴퓨터로 구현되는 방법.
  2. 청구항 1에 있어서,
    상기 사용자의 크리덴셜들을 상기 서버 디바이스에 제공하는 단계; 및
    상기 서버 디바이스로부터, 상기 사용자의 크리덴셜들에 기초하여, 상기 사용자와 연관된 컴퓨팅 디바이스들의 디렉토리를 수신하는 단계를 더 포함하며, 상기 디렉토리는 상기 제2 컴퓨팅 디바이스를 식별하는, 컴퓨터로 구현되는 방법.
  3. 청구항 1에 있어서, 상기 서버 디바이스는 상기 사용자의 계정과 연관된 데이터에 기초하여 상기 문구가 생성되게 하는, 컴퓨터로 구현되는 방법.
  4. 청구항 1에 있어서, 상기 선택가능한 엘리먼트의 선택에 응답하여, 그리고 상기 제2 컴퓨팅 디바이스 선택에 기초하여, 상기 자동화된 어시스턴트가 상기 출력을 제공되게 하는 단계는 애플리케이션이 상기 제2 컴퓨팅 디바이스에서 런칭되게 하는 것을 포함하는, 컴퓨터로 구현되는 방법.
  5. 청구항 1에 있어서,
    상기 제1 컴퓨팅 디바이스 또는 상기 제2 컴퓨팅 디바이스가 상기 문구를 청각적으로 출력하게 하는 단계를 더 포함하는, 컴퓨터로 구현되는 방법.
  6. 청구항 1에 있어서, 상기 선택가능한 엘리먼트는 상기 문구의 시각적 표현을 포함하며, 상기 자연어 컨텐츠는 임의의 발화된 입력을 통해 사용자에 의해 상기 자동화된 어시스턴트에 이전에 제출되지 않았던 것인, 컴퓨터로 구현되는 방법.
  7. 청구항 6에 있어서,
    상기 문구를 포함하는 상기 선택가능한 그래픽 엘리먼트를 디스플레이하기 전에 상기 그래픽 사용자 인터페이스에 이전에 디스플레이된 컨텐츠를 식별하는 데이터를 상기 서버 디바이스에 제공하는 단계를 더 포함하며, 상기 문구의 적어도 일부는 상기 이전에 디스플레이된 컨텐츠를 기술하는, 컴퓨터로 구현되는 방법.
  8. 청구항 1에 있어서, 상기 제1 컴퓨팅 디바이스는 상기 문구에서 식별되는, 컴퓨터로 구현되는 방법.
  9. 메모리 및 하나 이상의 프로세서들을 포함하는 시스템으로서, 상기 메모리는 명령어들을 저장하며, 상기 명령어들은 상기 하나 이상의 프로세서들에 의해 실행될 때, 상기 하나 이상의 프로세서들로 단계들을 수행하게 하며, 상기 단계들은:
    제1 컴퓨팅 디바이스의 그래픽 사용자 인터페이스에 선택가능한 엘리먼트를 제공하는 단계, 상기 선택가능한 엘리먼트는 사용자에 의해 제2 컴퓨팅 디바이스의 자동화된 어시스턴트 인터페이스에 발화된 입력으로서 제공된 때 자동화된 어시스턴트를 동작 상태로 전이하는, 서버 디바이스에 의해 생성되고 자연어 컨텐츠를 포함하는 문구를 포함하여 상기 그래픽 사용자 인터페이스에 디스플레이되며, 상기 동작 상태는 상기 자동화된 어시스턴트가 출력을 상기 제2 컴퓨팅 디바이스에 제공되게 하며;
    상기 선택가능한 엘리먼트 및 상기 문구를 상기 제1 컴퓨팅 디바이스의 상기 그래픽 사용자 인터페이스에 디스플레이하는 단계;
    상기 그래픽 사용자 인터페이스에서, 상기 선택가능한 엘리먼트의 선택을 수신하는 단계;
    상기 제1 컴퓨팅 디바이스와 연관된 상기 사용자의 계정과 연관된 다수의 컴퓨팅 디바이스들을 식별하는 단계, 상기 다수의 컴퓨팅 디바이스들은 적어도 상기 제1 컴퓨팅 디바이스 및 상기 제2 컴퓨팅 디바이스를 포함하며;
    상기 문구에 기초하여, 상기 다수의 컴퓨팅 디바이스들 중에서 상기 자동화된 어시스턴트를 초기화하기 위한 상기 제2 컴퓨팅 디바이스를 선택하는 단계; 및
    상기 선택가능한 엘리먼트의 선택에 응답하여, 그리고 상기 제2 컴퓨팅 디바이스 선택에 기초하여, 상기 자동화된 어시스턴트가 상기 출력을 상기 제2 컴퓨팅 디바이스의 상기 자동화된 어시스턴트 인터페이스에서 초기화하고 제공되게 하는 단계를 포함하며, 상기 출력 제공에 후속하여, 상기 자동화된 어시스턴트를 상기 자동화된 어시스턴트가 상기 제2 컴퓨팅 디바이스의 상기 자동화된 어시스턴트 인터페이스에 상기 사용자의 하나 이상의 추가적 발화된 발언들에 응답할 수 있는 상태로 전이시키는, 시스템.
  10. 청구항 9에 있어서,
    상기 사용자의 크리덴셜들을 서버 디바이스에 제공하는 단계; 및
    상기 서버 디바이스로부터, 상기 사용자의 크리덴셜들에 기초하여, 상기 사용자와 연관된 컴퓨팅 디바이스들의 디렉토리를 수신하는 단계를 더 포함하며, 상기 디렉토리는 상기 제2 컴퓨팅 디바이스를 식별하는, 시스템.
  11. 청구항 9에 있어서, 상기 서버 디바이스는 상기 사용자의 계정과 연관된 데이터에 기초하여 상기 문구가 생성되게 하는, 시스템.
  12. 청구항 9에 있어서, 상기 선택가능한 엘리먼트의 선택에 응답하여, 그리고 상기 제2 컴퓨팅 디바이스 선택에 기초하여, 상기 자동화된 어시스턴트가 상기 출력을 제공되게 하는 단계는 애플리케이션이 상기 제2 컴퓨팅 디바이스에서 런칭되게 하는 것을 포함하는, 시스템.
  13. 청구항 9에 있어서, 상기 단계들은:
    상기 제1 컴퓨팅 디바이스 또는 상기 제2 컴퓨팅 디바이스가 상기 문구를 청각적으로 출력하게 하는 단계를 더 포함하는, 시스템.
  14. 청구항 9에 있어서, 상기 선택가능한 엘리먼트는 상기 문구의 시각적 표현을 포함하며, 상기 자연어 컨텐츠는 임의의 발화된 입력을 통해 사용자에 의해 상기 자동화된 어시스턴트에 이전에 제출되지 않았던 것인, 시스템.
  15. 청구항 14에 있어서,
    상기 문구를 포함하는 상기 선택가능한 그래픽 엘리먼트를 디스플레이하기 전에 상기 그래픽 사용자 인터페이스에 이전에 디스플레이된 컨텐츠를 식별하는 데이터를 상기 서버 디바이스에 제공하는 단계를 더 포함하며, 상기 문구의 적어도 일부는 상기 이전에 디스플레이된 컨텐츠를 기술하는, 시스템.
  16. 청구항 9에 있어서, 상기 제2 컴퓨팅 디바이스는 상기 그래픽 사용자 인터페이스에서 디스플레이된 상기 문구에서 식별되는, 시스템.
  17. 명령어들을 포함하는 적어도 하나의 비일시적 컴퓨터 판독가능 매체로서, 상기 명령어들은 하나 이상의 프로세서에 의한 명령어들의 실행에 응답하여, 상기 하나 이상의 프로세서로 하여금 단계들을 수행하게 하며, 상기 단계들은:
    제1 컴퓨팅 디바이스에 의해, 서버 디바이스로부터, 상기 제1 컴퓨팅 디바이스의 그래픽 사용자 인터페이스에서 선택가능한 엘리먼트를 제공하기 위한 명령어들을 수신하는 단계, 상기 선택가능한 엘리먼트는 사용자에 의해 제2 컴퓨팅 디바이스의 자동화된 어시스턴트 인터페이스에 발화된 입력으로서 제공된 때 자동화된 어시스턴트를 동작 상태로 전이하는, 자연어 컨텐츠를 포함하는 문구를 포함하여 상기 그래픽 사용자 인터페이스에 디스플레이되며, 상기 동작 상태는 상기 자동화된 어시스턴트가 출력을 상기 제2 컴퓨팅 디바이스에 제공되게 하며;
    상기 선택가능한 엘리먼트 및 상기 문구를 상기 제1 컴퓨팅 디바이스의 상기 그래픽 사용자 인터페이스에 디스플레이하는 단계;
    상기 그래픽 사용자 인터페이스에서, 상기 선택가능한 엘리먼트의 선택을 수신하는 단계;
    상기 제1 컴퓨팅 디바이스와 연관된 상기 사용자의 계정과 연관된 다수의 컴퓨팅 디바이스들을 식별하는 단계, 상기 다수의 컴퓨팅 디바이스들은 적어도 상기 제1 컴퓨팅 디바이스 및 상기 제2 컴퓨팅 디바이스를 포함하며;
    상기 문구에 기초하여, 상기 다수의 컴퓨팅 디바이스들 중에서 상기 자동화된 어시스턴트를 초기화하기 위한 상기 제2 컴퓨팅 디바이스를 선택하는 단계; 및
    상기 선택가능한 엘리먼트의 선택에 응답하여, 그리고 상기 제2 컴퓨팅 디바이스 선택에 기초하여, 상기 자동화된 어시스턴트가 상기 출력을 상기 제2 컴퓨팅 디바이스의 상기 자동화된 어시스턴트 인터페이스에서 초기화하고 제공되게 하는 단계를 포함하며, 상기 출력 제공에 후속하여, 상기 자동화된 어시스턴트를 상기 자동화된 어시스턴트가 상기 제2 컴퓨팅 디바이스의 상기 자동화된 어시스턴트 인터페이스에 상기 사용자의 하나 이상의 추가적 발화된 발언들에 응답할 수 있는 상태로 전이시키는, 적어도 하나의 비일시적 컴퓨터 판독가능 매체.
  18. 청구항 17에 있어서, 상기 단계들은:
    상기 사용자의 크리덴셜들을 상기 서버 디바이스에 제공하는 단계; 및
    상기 서버 디바이스로부터, 상기 사용자의 크리덴셜들에 기초하여, 상기 사용자와 연관된 컴퓨팅 디바이스들의 디렉토리를 수신하는 단계를 더 포함하며, 상기 디렉토리는 상기 제2 컴퓨팅 디바이스를 식별하는, 적어도 하나의 비일시적 컴퓨터 판독가능 매체.
  19. 청구항 17에 있어서, 상기 선택가능한 엘리먼트의 선택에 응답하여, 그리고 상기 제2 컴퓨팅 디바이스 선택에 기초하여, 상기 자동화된 어시스턴트가 상기 출력을 제공되게 하는 단계는 애플리케이션이 상기 제2 컴퓨팅 디바이스에서 런칭되게 하는 것을 포함하는, 적어도 하나의 비일시적 컴퓨터 판독가능 매체.
  20. 청구항 17에 있어서, 상기 단계들은:
    상기 제1 컴퓨팅 디바이스 또는 상기 제2 컴퓨팅 디바이스가 상기 문구를 청각적으로 디스플레이하게 하는 단계를 더 포함하는, 적어도 하나의 비일시적 컴퓨터 판독가능 매체.
  21. 명령어들을 포함하는 적어도 하나의 비일시적 컴퓨터 판독가능 매체로서, 상기 명령어들은 하나 이상의 프로세서에 의한 명령어들의 실행에 응답하여, 상기 하나 이상의 프로세서로 하여금 청구항 1 내지 8 중 어느 한 항의 방법의 단계를 수행하게 하는, 적어도 하나의 비일시적 컴퓨터 판독가능 매체.
KR1020197033711A 2017-04-25 2018-03-29 선택가능한 그래픽 엘리먼트를 통해 자동화된 에이전트로 대화를 초기화하기 KR102351587B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227000858A KR102428368B1 (ko) 2017-04-25 2018-03-29 선택가능한 그래픽 엘리먼트를 통해 자동화된 에이전트로 대화를 초기화하기

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/497,088 2017-04-25
US15/497,088 US11150922B2 (en) 2017-04-25 2017-04-25 Initializing a conversation with an automated agent via selectable graphical element
PCT/US2018/025303 WO2018200124A1 (en) 2017-04-25 2018-03-29 Initializing a conversation with an automated agent via selectable graphical element

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227000858A Division KR102428368B1 (ko) 2017-04-25 2018-03-29 선택가능한 그래픽 엘리먼트를 통해 자동화된 에이전트로 대화를 초기화하기

Publications (2)

Publication Number Publication Date
KR20190139966A KR20190139966A (ko) 2019-12-18
KR102351587B1 true KR102351587B1 (ko) 2022-01-14

Family

ID=62104368

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020227000858A KR102428368B1 (ko) 2017-04-25 2018-03-29 선택가능한 그래픽 엘리먼트를 통해 자동화된 에이전트로 대화를 초기화하기
KR1020197033711A KR102351587B1 (ko) 2017-04-25 2018-03-29 선택가능한 그래픽 엘리먼트를 통해 자동화된 에이전트로 대화를 초기화하기
KR1020227026199A KR102615112B1 (ko) 2017-04-25 2018-03-29 선택가능한 그래픽 엘리먼트를 통해 자동화된 에이전트로 대화를 초기화하기

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020227000858A KR102428368B1 (ko) 2017-04-25 2018-03-29 선택가능한 그래픽 엘리먼트를 통해 자동화된 에이전트로 대화를 초기화하기

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020227026199A KR102615112B1 (ko) 2017-04-25 2018-03-29 선택가능한 그래픽 엘리먼트를 통해 자동화된 에이전트로 대화를 초기화하기

Country Status (6)

Country Link
US (4) US11150922B2 (ko)
EP (2) EP4280047A3 (ko)
JP (1) JP2020518905A (ko)
KR (3) KR102428368B1 (ko)
CN (2) CN110574004B (ko)
WO (1) WO2018200124A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11150922B2 (en) 2017-04-25 2021-10-19 Google Llc Initializing a conversation with an automated agent via selectable graphical element
US10546003B2 (en) 2017-11-09 2020-01-28 Adobe Inc. Intelligent analytics interface
US11928310B2 (en) * 2018-04-24 2024-03-12 Dial House, LLC Vehicle systems and interfaces and related methods
US11580941B2 (en) * 2018-04-24 2023-02-14 Dial House, LLC Music compilation systems and related methods
EP3853845B1 (en) * 2019-12-11 2022-05-04 Google LLC Processing concurrently received utterances from multiple users
KR20220141891A (ko) 2020-02-28 2022-10-20 구글 엘엘씨 디지털 액션 실행을 위한 인터페이스 및 모드 선택
CN111767021A (zh) * 2020-06-28 2020-10-13 广州小鹏车联网科技有限公司 语音交互方法、车辆、服务器、系统和存储介质
US11481686B1 (en) * 2021-05-13 2022-10-25 Google Llc Selectively rendering a keyboard interface in response to an assistant invocation in certain circumstances
US20230062489A1 (en) * 2021-08-24 2023-03-02 Google Llc Proactively activating automated assistant driving modes for varying degrees of travel detection confidence

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010097332A (ja) * 2008-10-15 2010-04-30 Toyota Motor Corp 入力支援装置
US8995972B1 (en) 2014-06-05 2015-03-31 Grandios Technologies, Llc Automatic personal assistance between users devices
US20160212488A1 (en) * 2014-06-30 2016-07-21 Apple Inc. Intelligent automated assistant for tv user interactions

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2792969B2 (ja) 1989-12-20 1998-09-03 三洋電機株式会社 調理メニュー選択装置
US7191233B2 (en) * 2001-09-17 2007-03-13 Telecommunication Systems, Inc. System for automated, mid-session, user-directed, device-to-device session transfer system
US10679605B2 (en) * 2010-01-18 2020-06-09 Apple Inc. Hands-free list-reading by intelligent automated assistant
US8522283B2 (en) * 2010-05-20 2013-08-27 Google Inc. Television remote control data transfer
US9760566B2 (en) * 2011-03-31 2017-09-12 Microsoft Technology Licensing, Llc Augmented conversational understanding agent to identify conversation context between two humans and taking an agent action thereof
EP2691856A1 (en) * 2011-03-31 2014-02-05 AOL Inc. Systems and methods for transferring application state between devices based on gestural input
US9215506B2 (en) * 2011-03-31 2015-12-15 Tivo Inc. Phrase-based communication system
US9471666B2 (en) * 2011-11-02 2016-10-18 Salesforce.Com, Inc. System and method for supporting natural language queries and requests against a user's personal data cloud
US20130332632A1 (en) * 2012-06-08 2013-12-12 Apple Inc. Holistic identification of an electronic device
US9674331B2 (en) * 2012-06-08 2017-06-06 Apple Inc. Transmitting data from an automated assistant to an accessory
US10620797B2 (en) 2012-06-29 2020-04-14 Spotify Ab Systems and methods for multi-context media control and playback
US20140218372A1 (en) * 2013-02-05 2014-08-07 Apple Inc. Intelligent digital assistant in a desktop environment
US9368114B2 (en) * 2013-03-14 2016-06-14 Apple Inc. Context-sensitive handling of interruptions
CN105190607B (zh) * 2013-03-15 2018-11-30 苹果公司 通过智能数字助理的用户培训
US10445115B2 (en) * 2013-04-18 2019-10-15 Verint Americas Inc. Virtual assistant focused user interfaces
US20140316841A1 (en) 2013-04-23 2014-10-23 Kofax, Inc. Location-based workflows and services
JP6259911B2 (ja) * 2013-06-09 2018-01-10 アップル インコーポレイテッド デジタルアシスタントの2つ以上のインスタンスにわたる会話持続を可能にするための機器、方法、及びグラフィカルユーザインタフェース
EP3036594B1 (en) * 2013-08-21 2021-05-26 Ademco Inc. Devices and methods for interacting with an hvac controller
US9489171B2 (en) * 2014-03-04 2016-11-08 Microsoft Technology Licensing, Llc Voice-command suggestions based on user identity
US10170123B2 (en) * 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9473233B2 (en) * 2014-06-18 2016-10-18 Samsung Electronics Co., Ltd. Method and apparatus for transmitting data using relay device
US20160070580A1 (en) * 2014-09-09 2016-03-10 Microsoft Technology Licensing, Llc Digital personal assistant remote invocation
US9576575B2 (en) * 2014-10-27 2017-02-21 Toyota Motor Engineering & Manufacturing North America, Inc. Providing voice recognition shortcuts based on user verbal input
KR20160061133A (ko) * 2014-11-21 2016-05-31 삼성전자주식회사 이미지 표시 방법 및 그 전자 장치
US9294476B1 (en) * 2015-02-18 2016-03-22 Keeper Security, Inc. User-defined identity verification system
US10567477B2 (en) * 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US11587559B2 (en) * 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
CN108702555B (zh) * 2016-04-22 2021-12-10 三星电子株式会社 电子设备及其用于控制外部设备的方法
DK179309B1 (en) * 2016-06-09 2018-04-23 Apple Inc Intelligent automated assistant in a home environment
DK179415B1 (en) * 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US10395652B2 (en) * 2016-09-20 2019-08-27 Allstate Insurance Company Personal information assistant computing system
US20180189078A1 (en) * 2017-01-03 2018-07-05 Bank Of America Corporation Facilitating Across-Network Handoffs for an Assistant Using Augmented Reality Display Devices
US11164570B2 (en) * 2017-01-17 2021-11-02 Ford Global Technologies, Llc Voice assistant tracking and activation
US11150922B2 (en) 2017-04-25 2021-10-19 Google Llc Initializing a conversation with an automated agent via selectable graphical element

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010097332A (ja) * 2008-10-15 2010-04-30 Toyota Motor Corp 入力支援装置
US8995972B1 (en) 2014-06-05 2015-03-31 Grandios Technologies, Llc Automatic personal assistance between users devices
US20160212488A1 (en) * 2014-06-30 2016-07-21 Apple Inc. Intelligent automated assistant for tv user interactions

Also Published As

Publication number Publication date
EP3602271B1 (en) 2023-10-11
EP3602271A1 (en) 2020-02-05
US11544089B2 (en) 2023-01-03
KR20220110340A (ko) 2022-08-05
US11853778B2 (en) 2023-12-26
KR102428368B1 (ko) 2022-08-02
EP4280047A2 (en) 2023-11-22
US20240126578A1 (en) 2024-04-18
US20180307504A1 (en) 2018-10-25
WO2018200124A1 (en) 2018-11-01
CN110574004B (zh) 2024-02-13
KR20220007710A (ko) 2022-01-18
CN110574004A (zh) 2019-12-13
JP2020518905A (ja) 2020-06-25
CN117992164A (zh) 2024-05-07
EP4280047A3 (en) 2024-02-14
US20230103811A1 (en) 2023-04-06
US20220035643A1 (en) 2022-02-03
US11150922B2 (en) 2021-10-19
KR20190139966A (ko) 2019-12-18
KR102615112B1 (ko) 2023-12-19

Similar Documents

Publication Publication Date Title
KR102351587B1 (ko) 선택가능한 그래픽 엘리먼트를 통해 자동화된 에이전트로 대화를 초기화하기
KR102313474B1 (ko) 자동화된 어시스턴트를 통해 대화 세션 재개를 위한 시스템, 방법 및 장치
KR102164428B1 (ko) 선택 가능한 그래픽 요소를 통해 자동화된 에이전트를 사용하여 대화를 초기화
JP2021144228A (ja) ユーザプログラマブル自動アシスタント
JP6928046B2 (ja) パーソナルアシスタントモジュールとの会話への選択可能アプリケーションリンクの組込み
US10860289B2 (en) Flexible voice-based information retrieval system for virtual assistant
JP2021523467A (ja) ユーザと、自動化されたアシスタントと、他のコンピューティングサービスとの間のマルチモーダル対話
JP2008547128A (ja) セマンティックリッチオブジェクトによる動的なユーザエクスペリエンス
KR102624148B1 (ko) 인간 사용자를 대신하여 대화형 음성 응답(ivr) 트리 자동 탐색
US20170286133A1 (en) One Step Task Completion
JP2021503647A (ja) プライベートデータを保護するための自動アシスタントを用いたヒューマンコンピュータダイアログのための分散ステートマシンの使用
KR20200124298A (ko) 원격으로 생성된 자동화된 어시스턴트 콘텐츠를 렌더링할 때 클라이언트 디바이스 지연 완화
Lee Voice user interface projects: build voice-enabled applications using dialogflow for google home and Alexa skills kit for Amazon Echo
US20190347067A1 (en) User interface interaction channel
US20220215179A1 (en) Rendering content using a content agent and/or stored content parameter(s)
KR102668730B1 (ko) 선택가능한 어플리케이션 링크들을 퍼스널 어시스턴트 모듈과의 대화에 통합하기

Legal Events

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