KR20220035278A - 어시스턴트 애플리케이션을 위한 음성 사용자 인터페이스 단축 - Google Patents

어시스턴트 애플리케이션을 위한 음성 사용자 인터페이스 단축 Download PDF

Info

Publication number
KR20220035278A
KR20220035278A KR1020227007687A KR20227007687A KR20220035278A KR 20220035278 A KR20220035278 A KR 20220035278A KR 1020227007687 A KR1020227007687 A KR 1020227007687A KR 20227007687 A KR20227007687 A KR 20227007687A KR 20220035278 A KR20220035278 A KR 20220035278A
Authority
KR
South Korea
Prior art keywords
command
phrase
automated assistant
user
actions
Prior art date
Application number
KR1020227007687A
Other languages
English (en)
Other versions
KR102505597B1 (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 KR20220035278A publication Critical patent/KR20220035278A/ko
Application granted granted Critical
Publication of KR102505597B1 publication Critical patent/KR102505597B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

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

Abstract

자동화된 어시스턴트를 동작시키기 위해 단축 명령 문구들을 사용하는 방법, 장치, 시스템 및 컴퓨터 판독가능 매체가 제공된다. 자동화된 어시스턴트의 사용자는 자동화된 어시스턴트가 다양한 상이한 액션들을 수행하게 하기 위해 단축 명령 문구가 설정되도록 요청할 수 있다. 이러한 방식으로, 사용자는 수행될 각각의 액션에 대해 개별 명령을 반드시 제공할 필요가 없고, 자동화된 어시스턴트가 액션들을 수행하도록 단축 명령 문구를 사용할 수 있다. 단축 명령 문구는 주변 디바이스, IoT 디바이스, 애플리케이션, 웹 사이트 및/또는 자동화된 어시스턴트를 통해 제어할 수 있는 기타 장치 또는 프로세스를 제어하는데 사용될 수 있다.

Description

어시스턴트 애플리케이션을 위한 음성 사용자 인터페이스 단축{VOICE USER INTERFACE SHORTCUTS FOR AN ASSISTANT APPLICATION}
사람은 본 명세서에서 "자동화된 어시스턴트"("디지털 에이전트", "챗봇", "인터랙티브 퍼스널 어시스턴트", "지능형 퍼스널 어시스턴트", "대화형 에이전트들"로도 지칭됨)로 지칭되는 인터렉티브 소프트웨어 어플리케이션과의 사람-컴퓨터 간 대화에 참여할 수 있다. 예를 들어, 사람(자동화된 어시스턴트와 인터렉션할 때 "사용자"라고 할 수 있음)은 일부 경우에 텍스트로 변환된 다음 프로세싱될 수 있는 발화된 자연어 입력(즉, 발언)을 사용하여 명령을 제공함으로써 자동화된 어시스턴트와 인터렉션할 수 있다.
일반적으로, 자동화된 어시스턴트는 자동화된 어시스턴트에 입력으로서 제공될 때 각각 자동화된 어시스턴트로 하여금 대응하는 액션을 수행하게 하는 다양한 명령들로 미리 구성된다. 그러나 미리 구성되지 않은 명령이 제공되면, 자동화된 어시스턴트는 일반적으로 실패한다(예: "어떻게해야 하는지 모르겠습니다"와 같은 기본 오류 메시지 제시). 추가적으로 또는 대안적으로, 다수의 명령과 연관된 액션을 수행하기 위해, 자동화된 어시스턴트는 일반적으로 다수의 명령 각각에 대해 별도의 입력을 필요로 한다. 예를 들어, 자동화된 어시스턴트가 네트워크화된 조명을 켜고 음악을 재생하게 하려면, 사용자는 "조명 켜기"의 제1 입력과 "음악 재생"의 제2 입력과 같은 두 개의 개별 입력을 제공해야만 한다. 또한, 일부 명령에 응답하여, 일부 자동화된 어시스턴트는 대응하는 액션을 수행하는데 필요한 슬롯(들)에 대한 값(들)을 해결하기 위해 항상 사용자와의 추가 대화에 참여할 것이다. 예를 들어, "조명 켜기"에 응답하여, 자동화된 어시스턴트는 사용자에게 대응하는 액션의 "조명 식별" 슬롯에 대한 값을 해결하기 위해 "어떤 조명인지 지정하십시오"를 항상 프롬프트할 수 있다.
본 개시는 자동화된 어시스턴트 애플리케이션을 위한 단축 명령을 생성 및/또는 활용하는 시스템, 방법 및 장치에 관한 것이다. 일부 구현예에서, 사용자는 자동화된 어시스턴트 인터페이스를 통해 자동화된 어시스턴트와 인터렉션하여, 하나 이상의 미리 구성된 명령 문구들에 대한 단축 명령 문구를 제공한다. 자동화된 어시스턴트는 제공된 단축 명령 문구를 미리 구성된 명령 문구 및/또는 미리 구성된 명령 문구에 대응하는 액션(들)과 상관시키는 저장 엔트리를 생성할 수 있다.
일 예시로서, 자동화된 어시스턴트가 "알람 설정" 및 "조명 끄기" 명령 문구에 응답하도록 미리 구성되어 있다고 가정한다. 또한 어시스턴트가 "nighty night" 명령 문구에 응답하도록 미리 구성되어 있지 않다고 가정한다. 사용자가 자동화된 어시스턴트 인터페이스를 통해 "nighty night"의 자연어(예를 들어, 타이핑되거나 발화된) 입력을 제공하는 경우, 입력(또는 그 변환)은 어시스턴트 애플리케이션에 제공되고, 어시스턴트 애플리케이션에 의해 프로세싱되어 인식되지 않는다고 결정될 수 있다(즉, "nighty night" 문구에 매핑된 특정한 액션이 없음). 인식되지 않는 문구에 대한 응답으로 "어떻게 하는지 모르겠습니다"와 같은 기본 메시지만 제시하는 대신, 자동화된 어시스턴트 애플리케이션은 사용자에게 인식되지 않은 문구에 응답하여 수행할 하나 이상의 액션을 자동화된 어시스턴트에게 가르치도록 프롬프트(예를 들어, 청각적 및/또는 그래픽적으로)할 수 있다. 예를 들어, 프롬프트는 "응답 방법을 모르겠지만 가르쳐주세요. nighty night이라고 말하면 제가 무엇을 하면 좋을까요."일 수 있다. 그 다음 사용자는 "전화 알람을 설정하고 조명을 꺼줘"라는 추가 자연어 입력을 제공할 수 있다. 이에 응답하여, 자동화된 어시스턴트 애플리케이션은 "nighty night" 문구(및 선택적으로 그것의 변형)를 "알람 설정" 및 "조명 끄기"의 인식된 명령 문구들 및/또는 "전화 알람 설정"과 연관된 액션 및 "조명 끄기"와 연관된 액션에 매핑하는 저장 엔트리를 생성할 수 있다. 그 후 사용자가 "nighty night"이라는 문구를 제공하면, 자동화된 어시스턴트 애플리케이션은 "전화 알람 설정" 및 "조명 끄기"와 연관된 액션이 수행되게 할 수 있다. 많은 구현예에서, 저장 엔트리는 사용자에게 개인적일 수 있고, 이는 상기 액션들은 사용자로부터 "nighty night"을 수신함에 응답하여서만, "nighty night"에 응답하여 수행될 것임을 의미한다(예를 들어, 사용자의 디바이스의 자동화된 어시스턴트에서 또는 "공유" 디바이스에서 사용자의 음성 특징의 인식에 따라).
이들 및 다른 방식으로, 자동화된 어시스턴트가 응답하는 명령 문구의 확장을 통해 개선된 자동화된 어시스턴트가 달성될 수 있다. 또한, 이들 및 다른 방식으로, 네트워크 및/또는 계산 리소스가 감소될 수 있다. 예를 들어, 단축 명령 문구는 연관된 액션을 수행하는데 필요한 미리 구성된 명령 문구에 비해 짧아질 수 있다. 예를 들어, 명령 문구로 구성된 후 "nighty night"이 발화되는 경우 음성 데이터의 전송이 "알람 시계 설정해줘"와 "조명을 꺼줘"를 모두 사용하는 경우 음성 데이터 전송보다 적은 대역폭을 소비할 수 있다. 또한, 음성 데이터의 음성-텍스트 변환 프로세싱 및/또는 다른 프로세싱에서의 계산 부담이 감소될 수 있다.
일부 구현예에서, 단축 명령 문구에 매핑되는 액션은 액션이 자동화된 어시스턴트 애플리케이션에 의해 수행되기 전에 값들이 해결되어야 하는 하나 이상의 슬롯들을 가질 수 있다. 예를 들어, "전화 알람 시계 설정해"와 연관된 액션은 액션을 수행하기 전에 값이 해결되어야 하는 "알람 시간"에 대한 슬롯을 가질 수 있다. 이러한 구현예 중 일부에서, 단축 명령 문구가 구성되는 경우, 자동화된 어시스턴트 애플리케이션은 사용자에게 상기 슬롯(들)에 대한 슬롯 값(들)을 정의하도록 프롬프트할 수 있고, 이후에 선택적으로 단축 명령 문구를 수신함에 응답하여 액션(들)에 대해 슬롯 값(들)을 활용한다. 상기 예시를 계속하여, 사용자가 "전화 알람 설정하고 조명 꺼줘"를 제공하면, 자동화된 어시스턴트 애플리케이션은 "전화 알람 설정"에 매핑된 액션이 "전화 알람 설정하고 조명 꺼줘"에 의해 특정되지 않은 "알람 시간" 슬롯에 대한 요구된 슬롯 값을 가진다고 결정할 수 있다. 응답으로, 자동화된 어시스턴트 애플리케이션은 "알람의 표준 시간을 설정하시겠습니까? 아니면 nighty night라고 말할 때마다 프롬프트를 표시합니까?"라는 추가 프롬프트를 제공할 수 있다. 사용자가 특정한 시간(예를 들어, 오전 8시)으로 프롬프트에 응답하면, 자동화된 어시스턴트 애플리케이션은 "nighty night"에 대한 응답으로 사용자 전화의 알람을 오전 8시로 설정할 수 있으며, 선택적으로 사용자에게 어떠한 확인도 요구하지 않는다. 이들 및 다른 방식으로, 명령 문구에 대한 그리고 그 액션의 슬롯(들)에 대한 특정한 슬롯 값(들)에 대해 매핑함으로써 개선된 자동화된 어시스턴트가 달성될 수 있다.
또한, 이들 및 다른 방식들에서, 단축 명령 문구를 수신함에 응답하여, 슬롯 값(들)은 액션에 자동으로 통합될 수 있고 및/또는 액션은 사용자로부터의 임의의 추가적 확인 없이도 수행될 수 있으며, 이는 슬롯 값(들)을 제공하거나 액션을 확인하는데 필요한 대화 차례(들)을 제거할 수 있다. 대화 턴(들)을 제거하면 네트워크 및 계산 리소스를 절약할 수 있다.
일부 추가 및/또는 대안적 구현예에서, 단축 명령 문구는 단축 명령 문구 및 하나 이상의 미리 구성된 명령 문구들을 포함하는 단일 발언에 응답하여 구성될 수 있다. 예를 들면, 자동화된 어시스턴트가 "알람 설정" 및 "조명 끄기" 명령 문구에 응답하도록 미리 구성되어 있다고 가정한다. 또한 어시스턴트가 "nighty night" 명령 문구에 응답하도록 미리 구성되어 있지 않다고 가정한다. 사용자가 자동화된 어시스턴트 인터페이스를 통해 "내가 nighty night라고 말하면, 전화 알람을 설정하고 조명을 꺼줘"라는 자연어(예: 타이핑된 또는 발화된) 입력을 제공하면, 이에 응답하여, 자동화된 어시스턴트 애플리케이션은 "nighty night" 문구(및 선택적으로 그것의 변형)를 "알람 설정" 및 "조명 끄기"의 명령 문구들 및/또는 "전화 알람 설정"과 연관된 액션 및 "조명 끄기"와 연관된 액션에 매핑하는 저장 엔트리를 생성할 수 있다. 그 후 사용자가 "nighty night"이라는 문구를 제공하면, 자동화된 어시스턴트 애플리케이션은 "전화 알람 설정" 및 "조명 끄기"와 연관된 액션이 수행되게 할 수 있다.
상기 설명은 본 개시의 일부 구현예의 개요로서 제공된다. 이들 및 다른 구현예에 대한 추가 설명이 본 명세서에 제공된다.
일부 구현예에서, 하나 이상의 프로세서들에 의해 구현되는 방법은 컴퓨팅 디바이스의 자동화된 어시스턴트 인터페이스에서 하나 이상의 명령 문구들을 수신하는 것과 같은 단계들을 포함하는 것으로서 설명된다. 하나 이상의 명령 문구들이 입력 데이터로서 컴퓨팅 디바이스가 액세스 가능한 자동화된 어시스턴트 애플리케이션에 의해 프로세싱될 수 있다. 단계들은 또한 입력 데이터를 사용하여, 자동화된 어시스턴트 애플리케이션에 의해 수행될 하나 이상의 액션들을 식별하는 단계, 상기 자동화된 어시스턴트 인터페이스에서 단축 명령 문구를 수신하는 단계를 포함할 수 있다. 상기 단축 명령 문구는 상기 단축 명령 문구에 응답하여 상기 하나 이상의 액션들이 상기 자동화된 어시스턴트 애플리케이션에 의해 수행되게 하는 요청에 대응할 수 있다. 단계들은 상기 자동화된 어시스턴트 애플리케이션으로부터 프롬프트가 제공되게 하는 단계를 더 포함할 수 있다. 프롬프트는 상기 하나 이상의 액션들의 액션에 대한 슬롯 값에 대한 요청을 포함할 수 있다. 또한, 단계들은 상기 프롬프트에 응답하여, 상기 액션에 대한 슬롯 값을 이행하기 위한 사용자 입력을 수신하는 단계 및 상기 단축 명령 문구, 상기 슬롯 값 및 상기 하나 이상의 액션들 간의 상관을 제공하는 저장 엔트리를 생성하는 단계를 포함할 수 있다. 상기 저장 엔트리를 생성한 후에, 방법은 상기 컴퓨팅 디바이스의 자동화된 어시스턴트 인터페이스에서 단축 명령 문구를 수신하는 단계, 및 상기 단축 명령 문구를 수신함에 응답하여, 상기 단축 명령 문구, 상기 슬롯 값 및 상기 하나 이상의 액션들 사이의 상관을 제공하는 상기 저장 엔트리에 기초하여: 상기 자동화된 어시스턴트 애플리케이션에 의해, 상기 슬롯 값을 갖는 하나 이상의 액션들을 수행하는 단계를 포함할 수 있다.
일부 구현예에서, 상기 자동화된 어시스턴트 인터페이스는 오디오 인터페이스이고, 상기 하나 이상의 명령 문구들의 각 명령 문구는 사용자에 의해 이전에 제공된 복수의 음성 명령들 중 하나에 대응한다. 상기 하나 이상의 명령 문구들 중 적어도 하나의 명령 문구는 상기 자동화된 어시스턴트 애플리케이션으로 하여금 에이전트 명령을 별개의 컴퓨팅 디바이스에 전송하게 할 수 있고, 상기 에이전트 명령은 상기 슬롯 값을 포함할 수 있다. 상기 하나 이상의 명령 문구들을 식별하는 단계는 상기 입력 데이터의 일부가 상기 명령 문구 엔트리들에서 식별되는지 여부를 결정하기 위해 상기 입력 데이터를 상기 자동화된 어시스턴트 애플리케이션이 액세스 가능한 명령 문구 엔트리들과 비교하는 것을 포함할 수 있다. 상기 단축 명령 문구를 수신하는 단계는 다수의 단축 명령 문구들을 수신하는 것을 포함할 수 있고, 상기 방법은 상기 다수의 단축 명령 문구들에서 총 단축 명령 문구들의 수를 식별하는 단계, 및 상기 총 단축 명령 문구들의 수를 단축 임계치와 비교하는 단계를 더 포함할 수 있다. 상기 방법은 상기 총 단축 명령 문구들의 수가 상기 단축 임계치를 벗어나는 경우, 상기 자동화된 어시스턴트 애플리케이션으로 하여금 상기 총 단축 명령 문구들의 수가 단축 임계치를 초과함을 표시하게 하는 것을 더 포함할 수 있다.
다른 구현예에서, 시스템은 하나 이상의 프로세서들 및 상기 하나 이상의 프로세서들에 의해 실행될 때 상기 하나 이상의 프로세서로 하여금 단계들을 수행하게 하는 명령어들을 저장하도록 구성된 메모리를 포함하는 것으로 기술되며, 상기 단계들은 어시스턴트 인터페이스에서 사용자에 의해 제공된 제1 명령 문구를 수신하는 단계를 포함한다. 상기 어시스턴트 인터페이스는 상기 하나 이상의 프로세서들이 액세스 가능한 자동화된 어시스턴트 애플리케이션과 연관될 수 있다. 단계들은 상기 제1 명령 문구와 상기 자동화된 어시스턴트 애플리케이션이 사용 가능한 하나 이상의 명령 문구들 사이의 상관의 부재에 적어도 기초하여, 상기 제1 명령 문구가 상기 자동화된 어시스턴트 어플리케이션에 의해 인식되지 않는다고 결정하는 단계를 포함할 수 있다. 단계들은 어시스턴트 인터페이스를 통해 응답 문구가 사용자에게 제시되게 하는 단계를 더 포함할 수 있다. 응답 문구는 제1 명령 문구를 실행하기 위한 명령어들에 대한 요청을 포함할 수 있다. 추가적으로, 단계들은 상기 응답 문구의 제공에 응답하여 하나 이상의 제2 명령 문구들을 수신하는 단계를 포함할 수 있다. 상기 하나 이상의 제2 명령 문구들은 상기 제1 명령 문구에 응답하여 상기 자동화된 어시스턴트 애플리케이션에 의해 수행될 하나 이상의 액션들을 식별할 수 있다. 추가로, 상기 단계들은 상기 자동화된 어시스턴트 애플리케이션으로 하여금 상기 제1 명령 문구에 대응하는, 명령 문구를 상기 하나 이상의 제2 명령 문구들에서 식별된 상기 하나 이상의 액션들과 연관하여 저장하게 하는 단계를 포함할 수 있다. 또한 단계들은 상기 자동화된 어시스턴트 애플리케이션으로 하여금 상기 명령 문구를 상기 하나 이상의 제2 명령 문구들에서 식별된 상기 하나 이상의 액션들과 연관하여 저장하게 하는 단계에 후속하여: 상기 어시스턴트 인터페이스 또는 추가 어시스턴트 인터페이스에서, 상기 명령 문구에 대응하는 입력을 수신하는 단계, 및 상기 명령 문구에 대응하는 상기 입력을 수신함에 응답하여, 그리고 상기 명령 문구가 상기 하나 이상의 액션들과 연관하여 저장되는 것에 기초하여: 상기 하나 이상의 액션들이 상기 자동화된 어시스턴트 애플리케이션에 의해 수행되게 하는 단계를 더 포함할 수 있다.
일부 구현예에서, 상기 하나 이상의 액션들 중 하나의 액션은 호출 요청을 서드 파티 에이전트 애플리케이션에 전송하여 별개의 컴퓨팅 디바이스에서 호스팅되는 서드 파티 에이전트 애플리케이션을 호출하는 것을 포함한다. 상기 단계들은 상기 제2 명령 문구들 중 하나에 제공된 슬롯 값을 식별하는 단계, 및 상기 명령 문구와 연관하여 저장된 상기 하나 이상의 액션들 중 적어도 하나에 슬롯 값을 통합하는 단계를 포함할 수 있다. 서드 파티 에이전트 애플리케이션을 호출하는 것은 상기 서드 파티 에이전트 애플리케이션으로 전송된 상기 호출 요청에 상기 슬롯 값을 통합하는 것을 포함할 수 있다. 상기 슬롯 값은 상기 명령 문구와 연관하여 저장된 상기 하나 이상의 액션들에 통합된 상기 슬롯 값에 기초하여 상기 호출 요청에 통합될 수 있다. 상기 명령 문구에 대응하는 입력을 수신함에 응답하여 상기 슬롯 값의 확인을 위한 프롬프트 없이 슬롯 값이 통합될 수 있다.
일부 구현예에서, 단계들은 어시스턴트 인터페이스에서 제3 명령 문구를 수신하는 단계를 포함할 수 있다. 상기 제3 명령 문구는 명령 문구에 대응하는 음성 명령일 수 있다. 또한 단계들은 상기 제3 명령 문구가 음성 프로세싱 애플리케이션에 의해 파싱된 입력 데이터로 변환되게 하고, 상기 입력 데이터로부터, 상기 명령 문구가 상기 제3 명령 문구에서 식별되는지를 결정하는 단계를 포함할 수 있다. 상기 하나 이상의 액션들은 상기 하나 이상의 프로세서가 액세스 가능한 주변 디바이스로 제어 신호를 전송하는 것을 포함할 수 있다.
또 다른 구현예에서, 비일시적 컴퓨터 판독가능 매체는 하나 이상의 프로세서들에 의해 실행될 때 상기 하나 이상의 프로세서들로 하여금 단계들을 수행하게 하는 명령어들을 저장하도록 구성되며, 상기 단계들은: 자동화된 어시스턴트 애플리케이션에 대한 어시스턴트 인터페이스에서 명령 문구를 수신하는 단계를 포함한다. 상기 명령 문구는 상기 어시스턴트 인터페이스를 포함하는 컴퓨팅 디바이스의 사용자에 의해 제공된 음성 명령에 대응할 수 있다. 또한 단계들은 상기 자동화된 어시스턴트 애플리케이션으로 하여금 상기 명령 문구로부터 단축 명령 문구 및 보충 명령 문구를 식별하게 하는 단계를 포함할 수 있다. 보충 명령 문구는 어시스턴트 인터페이스에서 이전에 수신되지 않았던 명령 호출 문구일 수 있다. 또한 단계들은 상기 단축 명령 문구와 상기 보충 명령 문구 사이의 대응을 제공하는 저장 엔트리가 생성되게 하는 단계; 상기 저장 엔트리가 생성된 후, 상기 어시스턴트 인터페이스에서 상기 단축 명령 문구를 수신하는 단계; 및 상기 단축 명령 문구를 수신함에 응답하여, 상기 자동화된 어시스턴트 애플리케이션으로 하여금 상기 보충 명령 문구와 연관된 하나 이상의 액션들을 수행하게 하는 단계를 더 포함할 수 있다. 상기 어시스턴트 인터페이스는 상기 컴퓨팅 디바이스에서의 오디오 인터페이스이고, 상기 하나 이상의 액션들은 상기 컴퓨팅 디바이스로부터 가청 출력이 제공되게 하는 것을 포함할 수 있다. 일부 구현예에서, 단계들은 어시스턴트 티칭 에이전트 애플리케이션으로 하여금 상기 저장 엔트리를 식별하고 명령 데이터를 상기 자동화된 어시스턴트 애플리케이션에 제공하게 하는 단계를 더 포함할 수 있다. 상기 명령 데이터는 상기 보충 명령 문구를 식별할 수 있다. 하나 이상의 액션들은 웹 사이트를 호스팅하는 원격 서버에 웹 쿼리를 제공하는 단계를 포함할 수 있다. 상기 웹 쿼리를 제공하는 액션은 상기 보충 명령 문구에 대응할 수 있다. 보충 명령 문구는 웹 쿼리에 포함될 슬롯 값을 식별할 수 있다. 상기 저장 엔트리가 생성되게 하는 단계는 상기 단축 명령 문구를 상기 보충 명령 문구로 하여금 상기 자동화된 어시스턴트 애플리케이션에 제공되게 하는 트리거로서 지정하는 어시스턴트 티칭 에이전트를 호출하는 것을 포함할 수 있다.
추가로, 일부 구현예들은 하나 이상의 컴퓨팅 디바이스들의 하나 이상의 프로세서들을 포함하며, 상기 하나 이상의 프로세서들은 연관된 메모리에 저장된 명령어들을 실행하도록 동작가능하며, 상기 명령어들은 앞서 언급된 방법들 중 임의의 것을 수행하도록 구성된다. 또한, 일부 구현예들은 앞서 언급된 방법들 중 임의의 것을 수행하도록 하나 이상의 프로세서들에 의해 실행가능한 컴퓨터 명령어들을 저장하는 하나 이상의 비일시적 컴퓨터 판독가능 저장 매체를 포함한다.
본 명세서에서 매우 상세히 기술된 상기 개념들 및 추가적 개념들의 모든 조합들은 본 명세서에 개시된 본 발명의 일부인 것으로 고려되어야 한다. 예를 들면, 본 명세서의 끝부분에 나타나는 청구된 발명의 모든 조합들은 본 명세서에 개시된 본 발명의 일부인 것으로 고려된다.
도 1은 자동화된 어시스턴트로 하여금 다수의 상이한 액션들을 수행하게 할 수 있는 단축 명령 문구에 응답할 수 있는 자동화된 어시스턴트를 제공하기 위한 시스템을 도시한다.
도 2는 사용자가 자동화된 어시스턴트 애플리케이션으로 단축 명령 문구를 설정하는 예를 제공하는 다이어그램을 도시한다.
도 3은 자동화된 어시스턴트를 제어하는데 이용 가능한 단축 명령 문구를 만드는 방법을 도시한다.
도 4는 이전에 인식되지 않은 단축 명령 문구에 응답하도록 자동화된 어시스턴트를 구성하는 방법을 도시한다.
도 5는 자동화된 어시스턴트를 동작하기 위해 기존 명령 문구를 보충하는 단축 명령 문구를 제공하는 방법을 도시한다.
도 6은 예시적 컴퓨터 시스템의 블록도이다.
본 명세서에 설명된 구현예는 자동화된 어시스턴트를 위한 단축 명령을 가능하게 하는 시스템, 방법 및 장치에 관한 것이다. 단축 명령은 사용자가 자동화된 어시스턴트를 통해 사용 가능한 다수의 명령들을 호출하기 위해 발화된 명령 문구일 수 있다. 예를 들어, 컴퓨팅 디바이스를 동작하는 사용자는 음성 명령 문구를 사용하여 컴퓨팅 디바이스를 통해 자동화된 어시스턴트에 액세스할 수 있다. 명령 문구는 자동화된 어시스턴트로 하여금 사용자에 의해 특정된 특정한 액션을 수행하게 할 수 있다. 사용자는 자동화된 어시스턴트에 명령 문구에 응답하여 다양한 상이한 액션들을 수행하고 및/또는 다수의 명령 문구를 단일의 명령 문구로 통합할 것을 요청할 수 있다. 예를 들어, 자동화된 어시스턴트는 새로운 명령 문구를 다수의 기존 명령 문구들에 매핑하여, 자동화된 어시스턴트가 새로운 명령 문구를 수신함에 응답하여 기존 명령 문구들과 연관된 액션들을 실행하도록 한다. 대안적으로, 자동화된 어시스턴트가 새로운 명령 문구를 수신함에 응답하여 액션들을 수행할 수 있도록, 새로운 명령 문구는 기존 명령 문구와 이미 상관된 액션에 매핑될 수 있다. 이러한 방식으로, 사용자는 액션들이 수행되게 하기 위해 각각의 기존 명령 문구를 암송할 필요가 없고, 오히려 액션들이 수행되게 하기 위해 단일의 명령 문구를 제공할 수 있다.
예를 들어, 기존 호출 문구는 자동화된 어시스턴트가 특정한 액션을 수행하게 할 수 있다. 예를 들어, "내 파티 재생 목록을 재생해" 호출 문구는 자동화된 어시스턴트가 음악 스트리밍 애플리케이션이 액세스 가능한 재생 목록에서 식별된 음악을 스트리밍하기 위해 음악 스트리밍 애플리케이션을 열게 할 수 있다. 그러나, 사용자는 기존 호출 문구와 연관된 액션(들)을 달성하기 위해 상이한 문구를 사용하기를 원할 수 있다. 예를 들어, 사용자는 구분되는 새로운 호출이 제공될 때 기존 호출 문구가 프로세싱되도록 요청할 수 있다. 예를 들어, 새로운 호출 문구는 "파티 타임"일 수 있으며, "어시스턴트, 내가 '파티 타임'이라고 말하면 내 재생 목록을 재생해"와 같은 명령을 통해 구성된 기존의 호출 문구에 매핑될 수 있다. 상기 명령은 별개의 어시스턴트 애플리케이션 또는 자동화된 어시스턴트의 일부일 수 있는 어시스턴트 티칭 에이전트 또는 단축 어시스턴트 에이전트를 호출할 수 있으며, 새로운 호출 문구를 원래의 호출 문구에 매핑할 수 있다. 그 후, 사용자가 새로운 호출 문구를 제공하면, 새로운 호출 문구와 원래 호출 문구 사이의 매핑이 식별될 수 있고, 원래 호출 문구가 자동화된 어시스턴트에 의해 프로세싱될 수 있다. 그 다음 자동화된 어시스턴트는 원래 호출 문구에 대응하는 하나 이상의 액션들을 실행할 수 있다.
일부 구현예에서, 사용자가 하나 이상의 기존 호출 문구들과 연관된 기능들을 수행하기 위해 새로운 호출 문구를 할당할 때, 자동화된 어시스턴트는 특정한 액션들을 수행하기 위한 추가 세부 사항들을 사용자에게 질의할 수 있다. 예를 들어, 사용자는 특정 청소 용품 주문과 관련하여 자동화된 어시스턴트에게 호출 문구를 제공한 이력을 가질 수 있다. 호출 문구는 "어시스턴트, 종이 타월을 주문해", "어시스턴트, 화장실 클리너를 주문해"및 "어시스턴트, 스폰지를 주문해"를 포함할 수 있다. 후속적으로, 사용자는 자동화된 어시스턴트가 전술한 호출 문구와 연관된 액션들을 수행하게 하는 단축 또는 새로운 호출 문구를 생성할 수 있다. 새 호출 문구를 생성하는 명령은 예를 들어 "어시스턴트, 내가 청소 용품을 주문해라고 말하면, 종이 타월, 화장실 클리너 및 스폰지를 주문해"일 수 있다.
명령에 응답하여, 자동화된 어시스턴트는 쿼리를 수행하여, 사용자로부터의 명령에 대응하는 임의의 구성된 호출 문구가 있는지 여부를 결정할 수 있다. 예를 들어, 자동화된 어시스턴트는 자동화된 어시스턴트에 대한 설정을 포함하는 데이터베이스에서 쿼리가 수행되게 할 수 있다. 쿼리는 이전에 구성된 호출 문구 및 대응 액션들을 식별할 수 있다. 자동화된 어시스턴트는 추가 쿼리들을 수행하여, 이전에 구성된 호출 문구에 대한 응답을 향상시킬 수 있다. 예를 들어, 종이 타월 주문은 청소 용품 엔터티와 연관된 서드 파티 에이전트와 인터렉션하는 자동화된 어시스턴트를 포함할 수 있다. 새로운 호출 문구를 구성하기 위한 명령을 수신함에 응답하여, 자동화된 어시스턴트는 서드 파티 에이전트가 입력으로서 수용할 슬롯 값(예를 들어, 브랜드, 수량 등)들을 식별하기 위해 서드 파티 에이전트에 쿼리할 수 있다. 그 다음 자동화된 어시스턴트는 새로운 호출 문구의 특정성을 향상시키기 위해 사용자에 대한 응답을 컴파일할 수 있다. 예를 들어, 전술한 호출 문구(즉, "... 청소 용품 주문 ...")를 생성하기 위한 명령에 응답하여, 자동화된 어시스턴트는 사용자에게 추가 정보를 요청하는 응답을 제공할 수 있다. 예를 들어, 자동화된 어시스턴트는 "네, 종이 타월을 주문할 때 어떤 브랜드와 몇 개를 주문하시겠습니까?"와 같은 응답을 제공할 수 있다. 이러한 방식으로, 자동화된 어시스턴트는 새로 생성된 호출 문구에 응답할 수 있을 정도로 다기능일 뿐만 아니라 기존 호출 문구를 자동으로 향상시킬 수 있다.
일부 구현예에서, 활동 데이터(예를 들어, 웹 사이트 활동, 사물 인터넷(IOT) 디바이스 활동, 신체 활동 데이터 등)는 이전에 구성된 호출 문구에 응답하여 수행될 동작을 향상시키기 위해 사용될 수 있다. 예를 들어, 사용자는 예를 들어 "어시스턴트, 조명 꺼줘"와 같은 특정한 호출 문구에 응답하여 IOT(사물 인터넷) 디바이스들을 제어하도록 자동화된 어시스턴트를 미리 구성했을 수 있다. 후속적으로, 사용자는 새로운 호출 문구에 따라 자동화된 어시스턴트에게 다수의 액션들을 수행하도록 지시할 수 있으며, 이는 사용자의 명령에 의해 설정될 수 있다. 예를 들어, 명령은 "어시스턴트, 내가 'Goodnight'이라고 말하면 조명을 끄고 음악을 끄고 알람을 켜줘"일 수 있다. 명령에 대한 응답으로, 자동화된 어시스턴트는 IoT 디바이스의 변경 사항을 스캔할 수 있다. 예를 들어, 사용자가 WiFi 지원 실외 조명과 같은 새로운 IoT 디바이스를 설정했을 수 있다. 자동화된 어시스턴트는 실외 조명을 식별하고, 실외 조명이 새로운 호출 문구와 연관되어야 하는지 여부에 관해 사용자를 요구할 수 있다. 예를 들어, 자동화된 어시스턴트는 "네, goodnight이라고 말하면 실외 조명도 끌까요?"와 같이 명령에 대해 응답할 수 있다. 사용자가 '예스'라고 대답하면, 새로운 호출 문구는 조명을 끄기위한 명령과 이전에 연관되어 있던 임의의 다른 조명 뿐만 아니라 실외 조명을 끄는 액션과도 연관될 수 있다. 이러한 방식으로, 자동화된 어시스턴트는 새로운 호출 문구에 응답하여 수행될 액션들을 직관적으로 향상시킬 수 있으며, 이는 이전에 구성된 호출 문구에 대한 단축으로서 작용한다. 일부 구현예에서, 이전에 구성된 호출 문구(즉, 조명들을 끄는 것)는 또한 호출 문구에 응답하여 수행될 액션이 새로운 실외 조명을 끄는 것을 포함할 수 있도록 업데이트될 수 있다.
일부 구현예에서, 사용자는 구성된 호출 문구에 조건 또는 다른 슬롯 값을 추가하는 구성된 호출 문구에 대한 단축을 생성할 수 있다. 예를 들어, 사용자는 호출 문구 "어시스턴트, 영화 티켓을 주문해"에 응답하도록 자동화된 어시스턴트를 이전에 구성했을 수 있다. 이에 응답하여, 자동화된 어시스턴트는 영화 티켓 주문 단계를 통해 사용자를 안내할 수 있다. 상기 단계들은 영화를 볼 위치를 식별하고, 사용자가 보고 싶은 영화를 식별하고, 사용자가 자유로운 시간을 식별하고, 영화 티켓에 대한 결제를 제공하는 단계를 포함할 수 있다. 후속적으로, 사용자는 자동화된 어시스턴트가 액션들을 실행하기 위한 추가 파라미터(들) 또는 조건(들)을 제외하고, 구성된 호출 문구와 연관된 액션들을 수행하게 하는 새로운 호출 문구를 생성하기 위한 명령을 제공할 수 있다. 예를 들어, 사용자는 "어시스턴트, 영화 티켓을 주문해라고 말하면, 가장 인기있는 영화에 대한 영화 티켓을 주문해"라는 명령을 제공할 수 있다. 자동화된 어시스턴트는 새 호출 문구를 이전에 구성된 호출 문구와 비교하여 두 문구들 간의 차이를 결정할 수 있다. 차이가 새로운 파라미터 또는 조건(예를 들어, "가장 인기 있는")을 포함하는 경우, 자동화된 어시스턴트는 새로운 호출 문구와 연관된 임의의 액션들을 실행하기 위한 기능에서 새로운 파라미터를 슬롯 값으로서 포함할 수 있다. 예를 들어, 영화 웹 사이트는 인기도에 따라 영화를 필터링하는 옵션을 포함할 수 있다. 새로운 호출 문구에 응답하여, 자동화된 어시스턴트는 필터를 조작하여 가장 인기있는 영화를 식별하고 자동화된 어시스턴트의 미리 구성된 액션들에 따라 가장 인기있는 영화에 대한 티켓을 계속 주문할 수 있다.
일부 구현예에서, 자동화된 어시스턴트는 호출 문구를 수신하고, 호출 문구를 자동화 어시스턴트에 의해 수행될 액션과 연관될 수 있는 유사한 문구들과 비교할 수 있다. 예를 들어, 자동화된 어시스턴트는 "어시스턴트, 최근 노래 목록을 재생해"와 같은 호출 문구를 수신할 수 있다. 이에 응답하여, 자동화된 어시스턴트는 사용자가 이전에 제공했던 유사한 문구를 검색할 수 있다. 예를 들어, 자동화된 어시스턴트가 자동화된 어시스턴트가 액세스할 수 있는 음악 애플리케이션과 연관된 노래를 재생하게 하기 위해 사용자는 호출 문구 "어시스턴트, 최근 재생 목록을 재생해"를 제공했을 수 있다. 유사한 문구를 검색 할 때, 자동화된 어시스턴트는 "어시스턴트, 최근 노래 목록을 재생해" 호출 문구가 이전에 수신된 "최근 재생 목록을 재생해" 문구와 유사하다는 것을 결정할 수 있다. "최근 노래 목록을 재생해"라는 문구를 수신하면, 자동화된 어시스턴트는 음악 애플리케이션이 최신 재생 목록을 재생하게 할 수 있다. 또한, 자동화된 어시스턴트는 음악 애플리케이션에 의해 가장 최근의 재생 목록을 재생하는 액션과 연관하여 호출 문구 "최근 노래 목록을 재생해"을 저장할 수 있다.
일부 구현예에서, 자동화된 어시스턴트는 호출 문구를 수신하고 자동화된 어시스턴트는 아직 호출 문구를 수신하지 않은 것으로 결정할 수 있다. 이에 응답하여, 자동화된 어시스턴트는 호출 문구를 제공함으로써 사용자가 요청하는 액션(들)을 정확히 수행하는 방법을 결정하기 위해 사용자에게 쿼리를 제공할 수 있다. 예를 들어, 사용자는 "어시스턴트, 집에 파티를 준비해"와 같은 호출 문구를 제공할 수 있다. 자동화된 어시스턴트는 제공된 호출 문구와 정확히 일치하거나 유사한 일치를 식별하기 위해 호출 문구의 저장소를 검색할 수 있다. 일치하는 것이 식별되지 않으면, 자동화된 어시스턴트는 "이 명령을 인식하지 못합니다. 가르쳐 주시겠어요?"와 같이 사용자에 대한 질의로 응답할 수 있다. 그 후, 사용자는 호출 문구에 제시된 요청을 이행하기 위해 자동화된 어시스턴트에 의해 수행될 액션들을 설정하는 일련의 명령을 제공할 수 있다. 예를 들어, 사용자는 자동화된 어시스턴트에게 "그래, 조명을 어둡게하고 파티 재생 목록을 재생해"라는 문구를 제공할 수 있다. 이에 응답하여, 자동화된 어시스턴트는 전술한 문구와 연관된 액션을 식별하고(예를 들어, 조명을 어둡게하고 파티 재생 목록을 재생), 액션과 초기 호출 문구(예를 들어, 집에 파티를 준비해) 사이에 상관을 생성할 수 있다. 대안적으로, 자동화된 어시스턴트는 초기 호출 문구와 액션들 대신에 초기 호출 문구를 설명하는 문구에서 식별된 명령 사이의 상관을 생성할 수 있다. 이런 식으로, 일반적인 오류(예를 들어, "죄송합니다, 아직 방법을 모르겠습니다")로 익숙하지 않은 명령에 단순히 응답하는 대신 자동화된 어시스턴트가 인식하지 못하는 명령에 응답할 수 있다. 또한, 자동화된 어시스턴트는 자동화된 어시스턴트가 새로운 명령 문구를 학습하게 하는 방식으로 응답할 수 있으므로 시간이 지남에 따라 수신되는 익숙한 명령의 수가 증가한다.
일부 구현예에서, 특정한 액션들을 수행하기 위해 자동화된 어시스턴트를 설정하는 동안, 사용자는 액션들의 완료를 촉진하기 위해 하나 이상의 액션들에 대한 확인이 생략되도록 요청할 수 있다. 예를 들어, 자동화된 어시스턴트를 사용하여 음식점에서 특정한 메뉴 아이템을 주문하는 동안, 자동화된 어시스턴트는 주문이 올바른지 확인하기 위해 주문을 실행하기 전에 쿼리 응답을 제공할 수 있다. 자동화된 어시스턴트를 통해 특정한 주문에 대해 쿼리 응답이 미리 구성되거나 주문을 하기 전에 확인이 필요한 음식점 에이전트 애플리케이션에서 릴레이할 수 있다. 자동화된 어시스턴트와의 특정한 인터렉션의 확인 단계를 우회하기 위해, 사용자는 확인 단계를 우회하도록 요청하거나, 자동화된 어시스턴트는 확인 단계를 우회할지 여부를 사용자에게 질의할 수 있다. 예를 들어, 사용자는 자동화된 어시스턴트가 피자 회사에 페퍼로니와 양파 피자를 소다와 브레드 스틱과 함께 주문하도록 요청한 이력을 가질 수 있다. 응답으로, 자동화된 어시스턴트는 사용자가 주문을 구두로 확인하도록 주문을 다시 암송할 수 있다. 그 다음, 사용자는 피자 회사로부터의 주문에 대해 예를 들어, "어시스턴트, 평상시 피자를 주문해'라고 말하면, 주문을 확인하지 말고 페퍼로니와 양파 피자 소다와 브레드 스틱과 함께 피자 회사로부터 주문해"와 같은 단축 호출 문구가 생성되도록 요청할 수 있다. 이에 응답하여, 자동화된 어시스턴트는 자동화된 어시스턴트에게 제공된 이전 호출 문구를 검색하여 이전 호출 문구와 연관된 액션들을 결정할 수 있다. 결정된 액션은 "평상시 피자를 주문해" 호출 문구에 매핑될 수 있고, 호출 문구와 연관된 설정은 사용자에게 주문을 확인하도록 요청하지 않고, 사용자로부터의 후속적 확인없이 주문을 진행하도록 설정될 수 있다.
일부 구현예에서, 자동화된 어시스턴트는 일련의 명령들을 수신한 직후에 일련의 명령들을 단축 호출 문구로 변환하도록 요청될 수 있다. 예를 들어, "어시스턴트, 집의 조명을 꺼", "어시스턴트, 경보 시스템을 켜" 및 "어시스턴트, 온도를 70도로 설정해"의 일련의 명령들을 포함할 수 있다. 일련의 명령을 제공한 후, 사용자는 "어시스턴트, 난 자러간다고 말할 때 상기 액션들을 수행해"와 같은 명령을 사용하여 자동화된 어시스턴트가 단축 호출 문구를 생성하도록 할 수 있다. 응답으로, 자동화된 어시스턴트는 일련의 명령들을 통해 가장 최근에 요청된 액션들와 단축 호출 문구(예: "난 자러 간다")과 상관시킬 수 있다. 이러한 방식으로, 다음에 사용자가 "난 자러 간다"라는 단축 호출 문구를 제공하면, 자동화된 어시스턴트는 집의 조명을 끄고, 경보 시스템을 켜고, 온도를 70도로 설정하는 액션을 수행할 수 있다.
자동화된 어시스턴트는 단축 호출 문구를 기존 호출 문구 및/또는 기존 액션에 매핑할 수 있는 시스템을 사용하여 새 어시스턴트 단축 또는 새 호출 문구에 응답할 수 있다. 예를 들어, 사용자는 사용자와 연관된 컴퓨팅 디바이스를 통해 액세스 가능한 자동화된 어시스턴트 인터페이스를 통해 자동화된 어시스턴트와 인터렉션할 수 있다. 컴퓨팅 디바이스는 사용자로부터의 구두 입력을 자동화된 어시스턴트 애플리케이션을 호스팅하는 어시스턴트 서버로 통신할 수 있는 어시스턴트 인터페이스를 포함할 수 있다. 어시스턴트 서버는 또한 어시스턴트 티칭 저장소와 인터렉션하는 애플리케이션에 대응할 수 있는 어시스턴트 티칭 에이전트를 포함할 수 있다. 어시스턴트 티칭 저장소는 새로운 단축 호출 문구를 이전에 구성된 호출 문구 및/또는 이전에 구성된 호출 문구에 대한 이전에 구성된 액션으로의 매핑을 포함할 수 있다. 사용자가 예를 들어 구두 명령을 통해 어시스턴트 인터페이스에 단축 호출 문구를 제공하면, 기록된 오디오는 프로세싱을 위해 어시스턴트 서버로 전송될 수 있다. 그러면 어시스턴트 서버는 오디오에 대응하는 단축 호출 문구를 식별하기 위해 오디오를 프로세싱할 수 있다. 어시스턴트 티칭 에이전트는 프로세싱된 오디오 데이터로부터 단축 호출 문구와 기존의 미리 구성된 호출 문구 또는 연관 액션들 사이의 매핑을 식별할 수 있다. 그 다음 어시스턴트 인터페이스에서 단축 호출 문구가 수신되면 자동화된 어시스턴트에 의해 액션들이 수행될 수 있다.
이제 도면들로 돌아가면, 도 1은 자동화된 어시스턴트로 하여금 다수의 상이한 액션들을 수행하게 할 수 있는 단축 명령 문구에 응답할 수 있는 자동화된 어시스턴트를 제공하기 위한 시스템(100)을 도시한다. 자동화된 어시스턴트는 컴퓨팅 디바이스(102) 또는 서버 디바이스(112)와 같은 원격 디바이스(124)에 제공되는 어시스턴트 애플리케이션(118)의 일부로서 동작할 수 있다. 사용자는 어시스턴트 인터페이스(110)를 통해 자동화된 어시스턴트와 인터렉션할 수 있으며, 어시스턴트 인터페이스(110)는 마이크로폰, 카메라, 터치스크린 디스플레이, 사용자 인터페이스 및/또는 사용자와 애플리케이션 사이의 인터페이스를 제공할 수 있는 임의의 다른 장치일 수 있다. 예를 들어, 사용자는 어시스턴트 인터페이스(110)에 구두, 텍스트 또는 그래픽 입력을 제공함으로써 자동화된 어시스턴트를 초기화하여, 자동화된 어시스턴트가 기능을 수행하게 한다(예를 들어, 데이터를 제공하고, 주변 디바이스를 제어하고, 에이전트에 액세스하는 등). 컴퓨팅 디바이스(102)는 디스플레이 디바이스(108)를 포함하며, 이는 사용자가 터치 인터페이스를 통해 컴퓨팅 디바이스(102)의 애플리케이션을 제어할 수 있게 하는 터치 입력 및/또는 제스처를 수신하기 위한 터치 인터페이스를 포함하는 디스플레이 패널일 수 있다. 다른 구현예에서, 컴퓨팅 디바이스(102)는 디스플레이 디바이스(108)가 없을 수 있다(예를 들어, 그래픽 사용자 인터페이스 출력을 제공하지 않고 청각적 사용자 인터페이스 출력을 제공함).
단일 컴퓨팅 디바이스(102)가 도 1에 도시되어 있지만, 다양한 구현예에서, 다수의 컴퓨팅 디바이스들은 본 명세서에 개시된 다양한 기법을 수행함에 있어 어시스턴트 애플리케이션(118)과 인터페이스할 수 있다. 예를 들어, 단축 명령 문구는 컴퓨팅 디바이스(102)의 어시스턴트 인터페이스(110)에 제공될 수 있고, 응답 데이터는 단축 명령 문구에 응답하여 별개의 컴퓨팅 디바이스에서 청각 및/또는 그래픽으로 제시될 수 있다. 별개의 컴퓨팅 디바이스는 컴퓨팅 디바이스(102)에 연결될 수 있다. 예를 들어, 별개의 컴퓨팅 디바이스는 컴퓨팅 디바이스(102)에 연결될 수 있고, 이는 두 컴퓨팅 디바이스에서 활용되는 동일한 사용자 계정, 두 컴퓨팅 디바이스가 동일한 보안 네트워크에 연결됨, 두 컴퓨팅 디바이스가 다른 것과 직접 피어-투-피어 통신을 함에 기초할 수 있다. 다른 예시로서, 단축 명령 문구를 하나 이상의 액션들과 상관시키는 저장 엔트리는 컴퓨팅 디바이스(102)의 어시스턴트 인터페이스(110)를 이용하여 사용자에 의해 제공되는 사용자 인터페이스 입력을 통해 생성될 수 있다(서버 디바이스(112)와의 인터렉션을 통해).. 그 후, 사용자는 별개의 컴퓨팅 디바이스에서 단축 명령 문구를 제공할 수 있고, 응답으로, 저장 엔트리는 하나 이상의 액션들을 수행하기 위해 액세스된다. 또 다른 예로서, 단축 명령 문구는 어시스턴트 애플리케이션(118)이 하나 이상의 주변 디바이스(예를 들어, IoT 디바이스)의 상태가 변경되게 하는 명령(들)을 전송하게 할 수 있다. 예를 들어, 단축 명령 문구는 명령이 네트워크화된 "스마트" 조명으로 전송되어 조명이 켜지거나 꺼지거나 루멘 출력이 변경되거나 조명 출력 색상이 변경되게 할 수 있다. 또한, 예를 들어, 단축 명령 문구는 추가적으로 또는 대안적으로 집(132)의 난방 또는 냉방 시스템의 설정 온도를 변경하게 하고, 난방 또는 냉방 시스템을 켜거나 끄게 하는 네트워크화된 "스마트" 온도장치에 전송될 수 있다. 또한, 예를 들어, 단축 명령 문구는 추가적으로 또는 대안적으로 집(132)에서 차고 문을 열거나 닫게 하는 네트워크화된 "스마트" 차고 문 개폐기에 전송될 수 있다.
컴퓨팅 디바이스(102)는 인터넷과 같은 네트워크(122)를 통해 원격 디바이스(124)와 통신할 수 있다. 컴퓨팅 디바이스(102)는 컴퓨팅 디바이스(102)에서 계산 리소스를 보존하기 위해 계산 작업을 서버 디바이스(112)로 오프로딩할 수 있다. 예를 들어, 서버 디바이스(112)는 어시스턴트 애플리케이션(118)을 호스팅할 수 있고, 컴퓨팅 디바이스(102)는 어시스턴트 인터페이스(110)에서 수신된 입력을 서버 디바이스(112)에 전송할 수 있다. 그러나, 일부 구현예에서, 어시스턴트 애플리케이션(118)은 컴퓨팅 디바이스(102)에서 호스팅될 수 있다. 다양한 구현예에서, 어시스턴트 애플리케이션(118)의 모든 또는 일부 양태는 컴퓨팅 디바이스(102)에서 구현될 수 있다. 이러한 구현들 중 일부에서, 어시스턴트 애플리케이션(118)의 양태들은 컴퓨팅 디바이스(102)의 로컬 어시스턴트 애플리케이션을 통해 구현되고, 어시스턴트 애플리케이션(118)의 다른 양태들을 구현하는 서버 디바이스(112)와 인터페이스한다. 서버 디바이스(112)는 복수의 스레드를 통해 복수의 사용자 및 연관된 어시스턴트 애플리케이션을 선택적으로 제공할 수 있다. 어시스턴트 애플리케이션(118)의 모든 또는 일부 양태들이 컴퓨팅 디바이스(102)의 로컬 어시스턴트 애플리케이션을 통해 구현되는 구현예에서, 로컬 어시스턴트 애플리케이션은 컴퓨팅 디바이스(102)의 운영 체제와 별개인 애플리케이션(예를 들어, 운영 체제 "위에"에 설치된)일 수 있고, 또는 대안적으로 컴퓨팅 디바이스(102)의 운영 체제에 의해 직접 구현될 수 있다(예를 들어, 운영 체제의 애플리케이션이지만 운영 체제와 통합될 수 있다).
일부 구현예에서, 서버 디바이스(112)는 오디오 데이터에 수록된 텍스트를 식별하기 위해 어시스턴트 인터페이스(110)에서 수신된 오디오 데이터를 프로세싱할 수 있는 음성 텍스트 변환 엔진(116)을 포함할 수 있다. 오디오 데이터를 텍스트로 변환하는 프로세스는 음성 인식 알고리즘을 포함할 수 있으며, 이는 단어 또는 문구에 대응하는 오디오 데이터의 그룹을 식별하기 위해 신경 네트워크 및/또는 통계 모델을 이용할 수 있다. 오디오 데이터로부터 변환된 텍스트는 명령 문구들을 생성 및/또는 식별하는데 사용될 수 있는 텍스트 데이터로서 어시스턴트 애플리케이션(118)가 사용가능할 수 있다.
일부 구현예에서, 서버 디바이스(112)는 어시스턴트 애플리케이션(118)이 액세스 가능한 명령들의 데이터베이스를 관리하는 명령 엔진(114)을 동작시킬 수 있다. 데이터베이스는 명령 문구 및 액션을 상관시키는 엔트리들이 포함될 수 있다. 명령 문구는 사용자에 의해 어시스턴트 인터페이스(110)에 발화된 때, 어시스턴트 애플리케이션(118)이 하나 이상의 상이한 액션들을 수행하게 할 수 있는 발화 가능한 명령일 수 있다. 일부 구현예에서, 명령 엔진(114)은 또한 사용자에 의해 요청된 때 및/또는 별도의 엔터티(예를 들어, 개발자)에 의해 단축 명령 문구를 생성하는 작업이 있을 때, 단축 명령 문구를 포함하도록 데이터베이스를 수정할 수 있다. 예를 들어, 사용자는 일반적으로 "내 파티 재생 목록을 재생해" 명령 문구를 사용하여 어시스턴트 애플리케이션(118)이 주말 저녁 동안 파티 음악을 재생하도록 요청할 수 있다. 그러나, 시간이 지남에 따라 사용자는 "It's party time"과 같은 다른 명령 문구에 대한 응답으로 파티 음악을 재생하기를 원할 수 있다. "It's party time"이라는 문구에 대응하는 단축 명령 문구를 생성하기 위해, 사용자는 "내가 'It's party time'이라고 말하면, 내 파티 재생 목록을 재생해"와 같은 명령 문구를 제공할 수 있다. 후자의 명령 문구는 어시스턴트 인터페이스(110)에서 수신되어 프로세싱을 위해 서버 디바이스(112)에 전송될 수 있다. 명령 엔진(114)은 명령 문구에 기초한 입력 데이터를 사용하여, 사용자에 대한 단축 명령 문구를 생성할 수 있다.
명령 엔진(114)은 의도된 단축 명령 문구(예를 들어, "It's party time"), 조건 표시자(예를 들어, "~하면") 및 수행될 액션(예를 들어, "내 파티 재생 목록을 재생해")을 식별하기 위해 입력 데이터를 파싱할 수 있다. 일부 구현예에서, 어시스턴트 애플리케이션(118)은 입력 데이터를 수신하고, 입력 데이터의 파싱된 부분들이 다양한 데이터베이스 엔트리들과 비교되게 할 수 있다. 예를 들어, 입력 데이터는 의도된 단축 명령 문구에 대응하는 입력 데이터의 부분과 수행될 액션(들)에 대응하는 부분을 구별하기 위해 다양한 조건 표시자를 식별하는 사전 구성된 엔트리들과 비교될 수 있다. 이러한 조건 표시자는 "~하면", "~해", "~해주세요" 등을 포함할 수 있다. 어시스턴트 애플리케이션(118) 또는 명령 엔진(114)은 또한 단축 명령 문구를 식별된 액션과 상관시키기 위해 엔트리가 생성되게 할 수 있다. 예를 들어, 단축 명령 문구 "It's party time"을 식별하는 엔트리는 파티 재생 목록을 재생하는 액션과 상관될 수 있다. 이러한 방식으로, 사용자는 명령을 제공할 때 사용자 시간을 절약하고 어시스턴트 애플리케이션(118)을 호스팅하는 디바이스에서 계산 리소스를 절약할 수 있는 요약된 명령 문구를 생성하였다.
일부 구현예에서, 어시스턴트 애플리케이션(118)은 다수의 상이한 액션들과 각각 연관될 수 있는 다수의 상이한 단축 명령들(120)에 응답할 수 있다. 예를 들어, 사용자는 일반적으로 무비 나이트 동안 손님을 위해 집을 준비하기 위해 다양한 명령들을 사용할 수 있다. 명령들은 "어시스턴트, 전화기에서 영화 애플리케이션을 열고 피자를 주문하고, 엔터테인먼트 시스템을 켜"를 포함할 수 있다. 어시스턴트 애플리케이션(118)이 이 명령을 수신하는 것에 응답하여, 어시스턴트 애플리케이션(118)은 명령에 대응하는 액션들을 수행하기 위해 네트워크(122)를 통해 다수의 상이한 디바이스들(예를 들어, 휴대 전화(126))과 통신할 수 있다. 사용자는 어시스턴트 애플리케이션(118)이 액션들을 전술한 명령 보다 요약된 단축 명령 문구로 통합하도록 요청할 수 있다. 예를 들어, 사용자는 "어시스턴트, 내가 '무비 나이트를 준비해'라고 말하면 상기 명령들을 수행해"라는 명령을 제공함으로써 단축 명령 문구를 생성할 것을 어시스턴트 애플리케이션(118)에 요청할 수 있다. 이에 응답하여, 어시스턴트 애플리케이션(118)은 가장 최근의 일련의 명령들 및/또는 명령들에 의해 유도된 액션들을 식별하고, 액션들을 "무비 나이트를 준비해" 단축 명령 문구와 상관시키는 데이터베이스 엔트리를 생성할 수 있다. 그 후, 사용자가 어시스턴트 인터페이스(110)에 단축 명령 문구 "무비 나이트를 준비해"를 제공하면, 어시스턴트 애플리케이션(118)은 사용자가 이전에 언급된 모든 명령을 암송하도록 요구하지 않고 액션들을 수행할 수 있다.
일부 구현예에서, 사용자가 단축 명령 문구에 따라 동작하도록 어시스턴트 애플리케이션(118)을 구성할 때, 어시스턴트 애플리케이션(118)은 단축 명령 문구에 응답하여 수행될 액션에 관한 피드백을 제공할 수 있다. 예를 들어, 단축 명령 문구 "무비 나이트를 준비해"는 어시스턴트 애플리케이션(118)이 서버 또는 다른 컴퓨팅 디바이스와 같은 원격 디바이스(128)에 의해 호스팅되는 웹 사이트 또는 애플리케이션과 연관된 서드 파티 에이전트와 통신하게 할 수 있다. 어시스턴트 애플리케이션(118)은 서드 파티 에이전트를 통해 주문을 완료하기 위한 슬롯 값을 포함하는 명령 문구 또는 코딩된 기능을 사용하여 서드 파티 에이전트와 통신할 수 있다. 예를 들어, "무비 나이트를 준비해"라는 단축 명령 문구를 수신함에 응답하여 어시스턴트 애플리케이션(118)에 의해 수행되는 액션은 피자를 주문하는 것일 수 있다. 따라서, 주문을 완료하기 위한 슬롯 값은 피자의 크기 및/또는 피자의 토핑에 대응할 수 있다. 사용자가 단축 명령 문구에 따라 동작하도록 어시스턴트 애플리케이션(118)을 구성하는 경우, 어시스턴트 애플리케이션(118)은 사용자에게 특정 슬롯 값을 제공하도록 요청할 수 있다. 이러한 방식으로, 어시스턴트 애플리케이션(118)은 다음에 사용자가 단축 명령 문구를 제공할 때 이러한 슬롯 값을 사용할 것이다.
일부 구현예에서, 사용자는 어시스턴트 애플리케이션(118)이 특정 슬롯 값을 사용하고 및/또는 특정한 슬롯 값에 관한 후속 질문을 제공하도록 요청할 수 있다. 예를 들어, 사용자는 "어시스턴트, 내가 '무비 나이트를 준비해'라고 말하면, 휴대 전화에서 영화 애플리케이션을 열고 피자를 주문하고, 엔터테인먼트 시스템을 켜"라는 명령을 제공할 수 있다. 이에 응답하여, 어시스턴트 애플리케이션(118)은 "피자 주문" 명령을 이행하는데 필요한 슬롯을 식별하고 사용자에게 피드백 응답을 제공할 수 있다. 피드백 응답은 예를 들어 "네, 피자를 주문할 때 어떤 크기의 피자와 어떤 토핑을 원하십니까?"일 수 있다. 그 후, 사용자는 어시스턴트 애플리케이션(118)이 항상 동일한 주문을 제공하거나(예를 들어, "항상 페퍼로니 라지 피자를 주문해") 또는 일부 슬롯 값에 대해 항상 질문하도록 요청할 수 있다(예를 들어, "항상 라지 피자를 주문해, 하지만 매번 토핑에 대해 물어봐"). 그 후, 사용자가 어시스턴트 애플리케이션(118)이 항상 하나 이상의 슬롯 값들에 대해 질문하도록 선택하면, 어시스턴트 애플리케이션(118)은 명령 문구에 응답하여 사용자에게 그 슬롯 값들을 프롬프트할 수 있고, 사용자에 의해 특정되었던 다른 슬롯 값들은 자동으로 채울 수 있다. 예를 들어, 사용자가 후속적으로 단축 명령 문구 "무비 나이트를 준비해"를 제공하면, 어시스턴트 애플리케이션(118)은 영화 애플리케이션을 열고, 엔터테인먼트 시스템을 켜고, 피자에서 원하는 토핑을 사용자에게 물어볼 수 있다(그러나 "피자 크기" 슬롯에 대해 특정된 "라지" 슬롯 값은 자동으로 채운다). 이러한 방식으로, 사용자는 단축된 명령 문구("무비 나이트를 준비해")를 제공할 수 있고, 이에 응답하여 어시스턴트 애플리케이션(118)은 복수의 액션들을 자동으로 수행한다(영화 애플리케이션을 여는 명령을 전송하고, 엔터테인먼트 시스템을 켜는 명령을 전송하고, 다른 명령의 슬롯에 대한 슬롯 값("라지")을 자동으로 채운다). 슬롯 값의 자동 채우기는 그 슬롯 값을 해결하기 위해 대화 턴이 필요하지 않아서 네트워크 리소스 및/또는 계산 리소스(예를 들어, 어시스턴트 애플리케이션(118)을 호스팅하는 디바이스의 계산 리소스)를 절약한다. 더욱이, 단축된 명령 문구에 대한 프로세싱 및 작용은 음성-텍스트 변환 프로세싱의 양을 감소시키고 및/또는 다른 계산 리소스의 사용자를 감소시킨다.
도 2는 사용자가 컴퓨팅 디바이스(206)를 통해 액세스될 수 있는 자동화된 어시스턴트 애플리케이션으로 단축 명령 문구를 설정하는 예를 제공하는 다이어그램(200)을 도시한다. 사용자(202)는 자동화된 어시스턴트 애플리케이션을 제어하기 위해 대화(208)를 컴퓨팅 디바이스(206)에 제공할 수 있고, 자동화된 어시스턴트 애플리케이션은 대화(208)에 응답하여 응답들(210)을 사용자(202)에게 제공할 수 있다. 일부 구현예에서, 사용자(202)는 사용자(202)가 개별 명령들을 말할 때 다양한 상이한 액션들을 수행하기 위해 자동화된 어시스턴트 애플리케이션을 호출할 수 있다. 그러나, 명령들을 단축 명령 문구로 통합하기 위해, 사용자(202)는 자동화된 어시스턴트 애플리케이션이 단축 명령 문구를 먼저 제공함으로써 단축 명령 문구에 응답하게 할 수 있다. 사용자(202)에 의한 이 초기 대화(208)는 자동화된 어시스턴트 애플리케이션으로 하여금 사용자가 향후 사용하기 위해 단축 명령 문구를 설정할 것인지를 질문하게 할 수 있다.
예를 들어, 사용자(202)는 "어시스턴트, 책을 읽을 시간이야"라는 대화(208)를 제공할 수 있다. 이에 응답하여, 자동화된 어시스턴트 애플리케이션은 데이터베이스 또는 다른 데이터 저장소를 확인하여, 대화(208)가 이전에 수신되었는지 여부 그렇지 않으면 자동화된 어시스턴트 애플리케이션이 대화(208)에 응답할 수 있는지 여부를 결정할 수 있다. 대화(208)가 이전에 수신되지 않았다면, 자동화된 어시스턴트 애플리케이션은 컴퓨팅 디바이스(206)로 하여금 "네, 어떻게 해드릴까요?"와 같은 응답(210)을 제공하게 할 수 있다. 이러한 방식으로, 자동화된 어시스턴트 애플리케이션은 사용자(202)가 사용자(202)가 자동화된 어시스턴트 애플리케이션이 초기 대화(208)에 응답하기를 원하는 방식을 설명하도록 권장할 수 있다.
일부 구현예에서, 자동화된 어시스턴트 애플리케이션은 다수의 상이한 규칙들에 따라 동작하여 응답들(210)이 사용자(202)가 단축 명령 문구를 생성하도록 권장하는데 효과적이도록 보장할 수 있다. 예를 들어, 자동화된 어시스턴트 애플리케이션은 사용자(202)가 새로운 단축 명령 문구를 식별하는 엔트리를 생성하기 전에 트리거 및 액션을 식별한 것으로 결정할 수 있다. 예를 들어, 사용자(202)가 "I would like you to..." 라고 자동화된 어시스턴트 애플리케이션에 응답한 경우, 그리고 그 후 합리적인 시간의 양(예: 1분) 동안 아무 것도 말하지 않으면, 자동화된 어시스턴트 애플리케이션은 "추가 정보없이 단축 명령 문구를 만들 수 없습니다."와 같은 오류 메시지로 응답할 수 있다. 이런 식으로 자동화된 어시스턴트 애플리케이션은 액션들에 대응하지 않는 단축 명령 문구를 만들지 않는다.
일부 구현예에서, 자동화된 어시스턴트 애플리케이션은 단축 명령 문구가 이미 생성되었는지 확인할 수 있다. 단축 명령 문구가 이미 생성된 경우, 자동화된 어시스턴트 애플리케이션은 "이미 그 단축 명령 문구를 만들었습니다. 수정하시겠습니까?"와 같은 오류 메시지를 제공할 수 있다. 이에 응답하여, 사용자(202)는 자동화된 어시스턴트 애플리케이션이 더 많거나 적은 및/또는 다른 액션을 수행하도록 단축 명령 문구를 수정하고 싶다는 것을 확인할 수 있다. 그러나, 자동화된 어시스턴트 애플리케이션이 단축 명령 문구를 아직 생성하지 않은 경우, 자동화된 어시스턴트 애플리케이션은 단축 명령 문구에 응답하여 수행할 액션에 관해 사용자(202)에게 계속 질의할 수 있다.
사용자(202)는 자동화된 어시스턴트 애플리케이션의 "네, 어떻게 해드릴까요?"라는 질의에 대해 단축 명령 문구를 실행하기 위해 취할 액션들을 식별하는 추가 대화(208)로 응답할 수 있다. 예를 들어, 추가 대화(208)는 "내 책읽기 앱을 열고, 내가 지난번에 읽었던 책 몇권을 식별하고, 클래식 음악 재생 목록을 재생하고, 내 모든 디바이스들을 무음 모드로 해"를 포함할 수 있다. 이에 대한 응답으로, 자동화된 어시스턴트는 식별된 액션들을 수행하고 액션들을 "책을 읽을 시간이야"이라는 단축 명령 문구와 상관시키는 데이터베이스의 엔트리를 생성할 수 있다. 자동화된 어시스턴트에 의해 수행되는 액션들은 네트워크(212)를 통해 원격 디바이스(214)에 의해 호스팅되는 책읽기 애플리케이션(216)에 액세스하는 것을 포함할 수 있다. 단축 명령 문구를 제공하면, 자동화된 어시스턴트는 최근에 본 책이 식별되고 사용자(202)에게 다시 알려질 수 있도록 사용자 로그인 데이터를 책읽기 애플리케이션(216)에 제공할 수 있다. 그 후, 자동화된 어시스턴트는 가장 최근에 본 책을 식별하는 응답을 제공하는 액션을 수행할 수 있다(예를 들어, "최근에 'Catcher in the Rye"와 "6 Easy Pieces"를 열었습니다).
단축 명령 문구와 상관될 수 있는 추가 액션들은 자동화된 어시스턴트로 하여금 원격 디바이스(218)에 의해 호스팅되는 음악 애플리케이션(220)에 액세스하게 하고, 음악 애플리케이션(220)이 클래식 음악 재생 목록을 재생하게 하는 것을 포함할 수 있다. 클래식 음악 재생 목록은 자동화된 어시스턴트에 의해 음악 애플리케이션(220)에 제공되는 데이터를 사용하여 식별될 수 있다. 예를 들어, 자동화된 어시스턴트는 클래식 재생 목록이 식별될 수 있도록 음악 애플리케이션(220) 또는 음악 애플리케이션(220)과 연관된 에이전트 모듈에 대화(208)로부터의 텍스트를 제공할 수 있다. 또한, 액션들은 자동화된 어시스턴트가 원격 디바이스(222)에 저장된 사용자 디바이스 설정(224)에 액세스하게 하는 것을 포함할 수 있다. 사용자 디바이스 설정(224)은 사용자(202)와 연관된 다양한 디바이스들과의 인터렉션을 위한 제어 애플리케이션에 대응할 수 있다. 일부 구현예에서, 사용자(202)는 모든 디바이스들이 "무음 모드"에 놓일 것을 요청했기 때문에, 자동화된 어시스턴트는 응답으로, 무음 모드와 연관되거나 또는 그렇지 않으면 무음 모드로 동작할 수 있는 디바이스들에 대해 사용자 디바이스 설정들(224)을 검색할 수 있다.
그 다음 결과 디바이스들이 식별되고 상기 디바이스들에 대한 식별자들이 단축 명령 문구와 연관하여 저장될 수 있다. 이러한 방식으로, 다음에 사용자(202)가 단축 명령 문구를 제공할 때, 식별된 디바이스들은 그들의 현재 동작 모드에서 무음 동작 모드로 변환될 수 있다. 일부 구현예에서, 새로운 디바이스가 사용자(202)와 연관되었다면, 자동화된 어시스턴트는 단축 명령 문구를 업데이트하기 위한 백그라운드 프로세스를 통해 새로운 디바이스를 식별할 수 있다. 예를 들어, 새로운 디바이스가 무음 모드를 포함하면, 사용자(202)가 "책을 읽을 시간이야"라는 단축 명령 문구를 제공하면 무음 모드로 스위칭되는 디바이스들에 새로운 디바이스가 포함될 수 있다. 다른 구현예에서, 자동화된 어시스턴트는 다음에 사용자(202)가 단축 명령 문구를 제공할 때 새로운 디바이스에 대해 사용자(202)에게 질의할 수 있다. 예를 들어, 자동화된 어시스턴트 애플리케이션은 "네. 새 전화기가 무음 모드를 가지는 것으로 확인되었습니다. 새 전화기도 무음 모드로 전환하시겠습니까?"라고 단축 명령 문구에 응답할 수 있다. 사용자(202)가 긍정적으로 응답하면(예를 들어, "예"), 자동화된 어시스턴트 애플리케이션은 사용자(202)가 "책을 읽을 시간이야"라고 말할 때 새 전화기가 무음 모드로 전환되어야 하는 디바이스인 것으로 식별하는 엔트리를 수정하거나 추가할 수 있다.
일부 구현예에서, 단축 명령 문구는 자동화된 어시스턴트 애플리케이션의 기본 언어와는 다른 언어로 제공될 수 있다. 예를 들어, 사용자(202)는 "il est temps de lire"라는 단축 명령 문구가 자동화된 어시스턴트로 하여금 대화(208)에서 식별된 액션들을 수행하게 하도록 요청할 수 있다. 프랑스어가 특정한 자동화된 어시스턴트 애플리케이션의 기본 언어가 아닐 수 있지만, 자동화된 어시스턴트 애플리케이션은 나중에 사용하기 위해 프랑스어 단축 명령 문구를 대화(208)의 액션와 연관시키는 엔트리를 저장할 수 있다.
도 3은 자동화된 어시스턴트를 제어하는데 이용 가능한 단축 명령 문구를 만드는 방법(300)을 도시한다. 방법(300)은 자동화된 어시스턴트 애플리케이션과 인터렉션할 수 있는 하나 이상의 컴퓨터 디바이스들 및/또는 임의의 기타 장치에 의해 수행될 수 있다. 방법(300)은 컴퓨팅 디바이스의 자동화된 어시스턴트 인터페이스에서 하나 이상의 명령 문구들을 수신하는 블록(302)을 포함할 수 있다. 하나 이상의 명령 문구들이 상이한 시간에, 자동화된 어시스턴트로 하여금 하나 이상의 상이한 액션들을 수행하게 하기 위해 제공될 수 있다. 명령 문구들이 입력 데이터로서 컴퓨팅 디바이스가 액세스 가능한 자동화된 어시스턴트 애플리케이션에 의해 프로세싱될 수 있다. 예를 들어, 컴퓨팅 디바이스는 사용자로부터 입력을 수집할 수 있는 자동화된 어시스턴트 인터페이스를 포함할 수 있고, 컴퓨팅 디바이스는 자동화된 어시스턴트 애플리케이션을 호스팅하는 서버 디바이스와 같은 별개의 디바이스에 입력을 제공할 수 있다.
방법(300)은 상기 입력 데이터를 사용하여, 상기 자동화된 어시스턴트 애플리케이션에 의해 수행될 하나 이상의 액션들을 식별하는 블록(304)을 포함할 수 있다. 액션들은 자동화된 어시스턴트 애플리케이션이 직접 또는 간접적으로 실행할 수 있는 기능 또는 동작일 수 있다. 이러한 액션들은 자동화된 어시스턴트 애플리케이션이 액세스 가능한 검색 애플리케이션을 사용하여 검색 쿼리를 수행하는 것을 포함할 수 있다. 액션들은 주변 디바이스(예를 들어, 홈 WiFi 네트워크를 통해 컴퓨팅 디바이스 및/또는 어시스턴트 애플리케이션에 연결된 디바이스), 별도개 애플리케이션(예를 들어, 통화 애플리케이션, 캘린더 애플리케이션 등) 및/또는 컴퓨팅 디바이스에 의해 제어될 수 있는 임의의 기타 소프트웨어 또는 하드웨어를 제어하는 것을 추가적으로 또는 대안적으로 포함할 수 있다. 액션들은 자동화된 어시스턴트 애플리케이션을 생성한 엔터티에 의해 미리 구성되거나, 자동화된 어시스턴트 애플리케이션의 사용자에 의해 구성되거나 및/또는 자동화된 어시스턴트 애플리케이션이 액세스하도록 허용된 서드 파티에 의해 설정될 수 있다. 일부 구현예에서, 액션들은 추가로 또는 대안적으로 별개의 애플리케이션, 웹 사이트, 디바이스 및/또는 서드 파티 서비스를 제공할 수 있는 임의의 다른 엔터티와 연관된 서드 파티 에이전트를 제어하는 것을 포함할 수 있다.
방법(300)은 또한 하나 이상의 명령 문구들과 하나 이상의 액션들 사이의 상관을 제공하는 제1 저장 엔트리를 생성하는 블록(306)을 포함할 수 있다. 저장 엔트리는 자동화된 어시스턴트 애플리케이션을 호스팅하는 서버 디바이스 또는 자동화된 어시스턴트 애플리케이션이 액세스 가능한 별개의 디바이스에서 생성될 수 있다. 일부 구현예에서, 저장 엔트리는 하나 이상의 명령 문구들 및 하나 이상의 액션들을 식별하는 테이블 또는 데이터베이스의 엔트리로서 제공될 수 있다. 사용자가 다른 명령 문구들을 사용하여 자동화된 어시스턴트을 계속 호출하면, 자동화된 어시스턴트가 사용자에게 더 나은 서비스를 제공할 수 있도록 새로운 저장 엔트리들이 생성될 수 있다. 예를 들어, 사용자는 일반적으로 자동화된 어시스턴트가 음악 애플리케이션에 의해 관리되는 운동 재생 목록을 재생하도록 명령 문구 "내 운동 재생 목록을 재생해"를 사용할 수 있다. 그러나 사용자는 자동화된 어시스턴트로 하여금 운동 재생 목록을 재생하게 하는 "내 운동 재생 목록을 시작해"라는 명령 문구를 사용할 수도 있다. 각 명령 문구들("내 운동 재생 목록을 재생해" 및 "내 운동 재생 목록을 시작해")은 명령 문구를 운동 재생 목록을 재생하는 액션과 상관시키는 엔트리로 명령 데이터베이스에 통합될 수 있다. 다시 말해, 시간이 지남에 따라 다수의 명령 문구들이 동일한 액션과 상관될 수 있으므로, 사용자는 특정한 액션이 수행되도록 동일한 명령 문구를 반드시 제공할 필요가 없어진다.
방법(300)은 자동화된 어시스턴트 인터페이스에서 단축 명령 문구를 수신하는 블록(308)을 포함할 수 있다. 상기 단축 명령 문구는 상기 단축 명령 문구에 응답하여 상기 하나 이상의 액션들이 수행되게 하는 요청에 대응할 수 있다. 다시 말해, 사용자는 하나 이상의 액션들을 수행하기 위해 자동화된 어시스턴트 애플리케이션을 호출할 단축 명령 문구를 생성하기 위해 자동화된 어시스턴트 인터페이스에 요청을 구두로 제공할 수 있다. 예를 들어, 사용자는 집 밖으로 뛰러 가기 전에 자동화된 어시스턴트에게 세 개의 명령 문구들을 순차적으로 제공한 이력을 가질 수 있다. 세 가지 명령 문구는 "운동 재생 목록을 재생해", "보안 경보를 켜" 및 "집의 난방을 일시적으로 낮춰"를 포함할 수 있다. 이에 응답하여, 자동화된 어시스턴트는 사용자의 휴대용 디바이스에서 음악 애플리케이션을 초기화하여 운동 재생 목록을 재생하고, 보안 경보를 초기화하며, 사용자가 외부에 있을 때 에너지를 절약하기 위해 온도 조절기를 더 낮은 온도로 설정하게 할 수 있다. 그러나 시간이 지남에 따라 사용자는 위에서 언급한 세 가지 명령 문구들을 제공하는 대신 이러한 액션들을 단일 단축 명령 문구로 통합하기를 원할 수 있다. 액션들의 수행을 단일의 단축 명령 문구로 통합하기 위해, 사용자는 요청을 자동화된 어시스턴트 인터페이스에 제공할 수 있다. 예를 들어, 요청은 "어시스턴트, 내가 달리기를 하러간다고 말하면, 운동 재생 목록을 재생하고 보안 경보를 켜고, 집의 난방을 일시적으로 낮춰"일 수 있다. 명령 문구들 및 단축 명령 문구는 명령 문구들을 단축 명령 문구와 분리하는 조건(예를 들어, "말하면")에 기초하여 적어도 요청에서 식별될 수 있다. 예를 들어, 요청은 음성-텍스트 엔진에 의해 프로세싱되어 이후에 파싱되어 조건 문구들과 비교되는 텍스트를 생성하는 구두 명령일 수 있다. 구두 명령이 단축 명령 문구를 생성하기 위한 요청에 대응하는 조건 문구를 포함하는 경우, 텍스트는 (i) 단축 명령 문구에 대한 트리거에 대응하는 텍스트의 부분 및 (ii) 단축 명령 문구에 응답하여 수행될 하나 이상의 액션들과 연관된 텍스트의 부분을 식별하기 위해 추가로 프로세싱될 수 있다.
방법(310)의 블록(310)은 단축 명령 문구와 하나 이상의 액션들 사이의 상관을 제공하는 제2 저장 엔트리를 생성하는 것을 포함할 수 있다. 예를 들어, 제2 저장 엔트리는 "뛰러 간다"라는 문구와 사용자의 휴대용 디바이스에서 음악 애플리케이션을 초기화하여 운동 재생 목록을 재생하고, 보안 경보를 초기화하고, 온도 조절기를 더 낮은 온도로 설정하는 액션들을 직간접적으로 식별할 수 있다. 이러한 방식으로, 사용자는 다수의 상이한 명령 문구를 암송할 필요없이 액션들이 수행되게 할 수 있다. 또한, 이것은 자동화된 어시스턴트가 사용자의 변화하는 선호에 적응할 수 있게 한다.
도 4는 이전에 인식되지 않은 단축 명령 문구에 응답하도록 자동화된 어시스턴트를 구성하는 방법(400)을 도시한다. 방법(400)은 자동화된 어시스턴트에 대한 설정들을 관리할 수 있는 하나 이상의 컴퓨터 디바이스들 및/또는 임의의 기타 장치에 의해 수행될 수 있다. 도 4에 도시된 바와 같이, 방법(400)은 어시스턴트 인터페이스에서 사용자에 의해 제공된 제1 명령 문구를 수신하는 블록(402)을 포함할 수 있다. 상기 어시스턴트 인터페이스는 상기 하나 이상의 프로세서들이 액세스 가능한 자동화된 어시스턴트 애플리케이션과 연관될 수 있다. 예를 들어, 어시스턴트 인터페이스는 사용자가 소유한 컴퓨팅 디바이스에서 동작하는 어플리케이션일 수 있고, 어플리케이션은 컴퓨팅 디바이스로 하여금 제1 명령 문구를 별개의 컴퓨팅 디바이스에 위치된 자동화된 어시스턴트 어플리케이션으로 전송하게 할 수 있다. 별개의 컴퓨팅 디바이스는 자동화된 어시스턴트 애플리케이션에 의한 추가 프로세싱을 위해 컴퓨팅 디바이스(예를 들어, 컴퓨팅 디바이스의 마이크로폰에 의해 기록된 오디오)로부터의 텍스트로의 전송을 변환할 수 있는 음성 텍스트 변환 엔진을 포함할 수 있다.
방법(400)은 제1 명령 문구가 자동화된 어시스턴트 애플리케이션에 의해 인식되지 않음을 결정하는 블록(404)을 더 포함할 수 있다. 블록(804)에서 상기 결정은 상기 제1 명령 문구와 상기 자동화된 어시스턴트 애플리케이션이 사용 가능한 하나 이상의 명령 문구들 사이의 상관의 부재에 적어도 기초할 수 있다. 상관의 부재는 자동화된 어시스턴트 애플리케이션이 응답할 수 있는 다양한 상이한 명령 문구들을 저장하기 위해 자동화된 어시스턴트 애플리케이션이 액세스 가능한 데이터베이스에서 표현될 수 있다. 자동화된 어시스턴트 애플리케이션은 제1 명령 문구를 수신함에 응답하여 데이터베이스에 액세스하고, 데이터베이스에서 사용 가능한 데이터에 기초하여, 제1 명령 문구가 자동화된 어시스턴트 애플리케이션에 의해 이전에 수신되지 않았거나 및/또는 사용자를 위해 임의의 연관된 액션들에 매핑되지 않았음을 결정할 수 있다. 예를 들어, 제1 명령 문구는 "이웃을 맞이할 준비를 해"일 수 있다. 자동화된 어시스턴트는 제1 명령 문구를 데이터베이스의 데이터와 비교하고 제1 명령 문구가 데이터에서 식별되지 않는다고 결론지음으로써 전술한 문구가 자동화된 어시스턴트에 의해 이전에 수신되지 않았거나 및/또는 사용자를 위해 임의의 연관된 액션들에 매핑되지 않았음을 결정할 수 있다.
방법(400)은 어시스턴트 인터페이스를 통해 응답 문구가 사용자에게 제시되게 하는 블록(406)을 더 포함할 수 있다. 응답 문구는 제1 명령 문구를 실행하기 위한 지시들에 대한 요청을 포함한다. 다시 말해서, 자동화된 어시스턴트 애플리케이션은 컴퓨팅 디바이스로 하여금 사용자에게 제1 명령 문구를 이행하는 방법을 설명하도록 요청하는 메시지(예를 들어, 그래픽 또는 가청 메시지)를 사용자에게 제공하게 할 수 있다. 메시지는 예를 들어 "아직 그렇게하는 방법을 모르겠습니다. 어떻게 하는지 알려주세요"일 수 있다. 이러한 방식으로, 사용자는 새로운 명령을 초기적으로 인식하지 못하더라도, 자동화된 어시스턴트가 새로운 명령을 배울 수 있음을 알 수 있다. 그 후, 사용자는 자동화된 어시스턴트에게 제1 명령 문구를 수행하는 방법을 설명할 수 있다.
방법(400)의 블록(408)은 응답 문구의 제공에 응답하여 제2 명령 문구를 수신하는 것을 포함할 수 있다. 제2 명령 문구는 상기 제1 명령 문구에 응답하여 상기 자동화된 어시스턴트 애플리케이션에 의해 수행될 하나 이상의 액션들을 식별할 수 있다. 예를 들어, 제2 명령 문구는 사용자로부터의 구두 응답에 수록될 수 있고 사용자가 자동화된 어시스턴트로부터 응답 문구를 수신한 후에 제공될 수 있다. 제2 명령 문구는 사용자가 제1 명령 문구를 제공하는 것에 응답하여 사용자가 수행하고자 하는 액션들과 연관된 복수의 상이한 명령들을 포함할 수 있다. 구두 응답은 예를 들어 "물론, 피자를 주문하고, 파티 재생 목록을 재생하고, 집을 진공 청소기로 청소해"와 같은 세 가지 명령을 포함할 수 있다. 제1 명령은 자동화된 어시스턴트가 사용자가 과거에 피자를 주문하는데 사용했던 서드 파티 에이전트를 통해 피자를 주문하게 할 수 있다. 제2 명령은 자동화된 어시스턴트가 사용자에 의해 식별된 파티 재생 목록을 재생하기 위해 음악 애플리케이션에 액세스하게 할 수 있다. 마지막으로, 제3 명령은 자동화된 어시스턴트가 인터넷에 연결된 사물 인터넷(IoT) 디바이스 또는 자동화된 어시스턴트에 액세스할 수 있는 로컬 네트워크와 인터렉션하게 할 수 있다. IoT 디바이스는 예를 들어, 설정된 스케줄에 따라 일반적으로 사용자의 집을 청소하지만, 사용자 또는 자동화된 어시스턴트의 명령에 응답하여 집을 진공 청소기로 청소할 수 있는 WiFi 지원 자동 진공 청소기일 수 있다.
일부 구현예에서, 자동화된 어시스턴트는 사용자로부터 구두 응답을 수신하는 것에 응답하여 추가 질문을 제공할 수 있다. 예를 들어, 명령을 이행하기 위해 다수의 상이한 서드 파티 에이전트(예를 들어, 서드 파티 서비스 애플리케이션)가 사용 가능하면, 자동화된 어시스턴트는 사용자가 명령을 이행하기 위해 이용될 서드 파티 에이전트를 특정하도록 요청할 수 있다. 예를 들어, 제2 명령 문구를 수신함에 응답하여, 자동화된 어시스턴트는 "회사 A 또는 회사 B 중 어디에서 피자 주문을 하시겠습니까?"라고 응답할 수 있다. 이에 응답하여, 사용자는 "회사 A"를 특정할 수 있고, 자동화된 어시스턴트는 "회사 A"를 자동화된 어시스턴트가 제1 명령 문구를 완료하기 위해 이용하는 기능의 슬롯 값으로서 지정할 수 있다.
방법(400)은 상기 자동화된 어시스턴트 애플리케이션으로 하여금 상기 제1 명령 문구에 대응하는, 명령 문구를 상기 제2 명령 문구와 상관된 하나 이상의 액션들과 연관하여 저장하게 하는 블록(410)를 포함할 수 있다. 다시 말해서, 자동화된 어시스턴트 애플리케이션은 데이터베이스에서 저장 엔트리가 생성되게 하고, 저장 엔트리는 제1 명령 문구와 하나 이상의 액션들 사이의 상관을 제공할 수 있다. 예를 들어, 저장 엔트리는 피자를 주문하고, 파티 재생 목록을 재생하고, 집을 진공 청소기로 청소하는 액션들 뿐만 아니라 제1 명령 문구 "이웃을 맞이할 준비를 해"를 직접 또는 간접적으로 식별할 수 있다. 결과적으로, 자동화된 어시스턴트 애플리케이션은 사용자에 의해 제공되는 새로운 명령 문구에 적응하고, 또한 명령을 자동화된 어시스턴트를 호출하여 여러 액션들을 수행하는 문구로 통합하였다.
도 5는 자동화된 어시스턴트를 동작하기 위해 기존 명령 문구를 보충하는 단축 명령 문구를 제공하는 방법(500)을 도시한다. 방법(500)은 자동화된 어시스턴트 애플리케이션과 인터렉션할 수 있는 하나 이상의 컴퓨터 디바이스들 및/또는 임의의 기타 장치에 의해 수행될 수 있다. 방법(500)은 어시스턴트 인터페이스에서 자동화된 어시스턴트 애플리케이션에 대한 명령 문구를 수신하는 블록(502)을 포함할 수 있다. 상기 명령 문구는 상기 어시스턴트 인터페이스를 포함하는 컴퓨팅 디바이스의 사용자에 의해 제공된 음성 명령에 대응할 수 있다. 명령 문구는 "내가 청소 용품을 주문해라고 말하면, 종이 타월도 주문해"를 포함할 수 있다. 이러한 방식으로, 명령 문구는 추가 액션을 포함하도록 현재 단축 명령 문구를 수정하기 위한 지시들을 포함할 수 있다.
방법(500)은 상기 자동화된 어시스턴트 애플리케이션으로 하여금 상기 명령 문구로부터 단축 명령 문구 및 보충 명령 문구를 식별하게 하는 블록(504)을 포함할 수 있다. 보충 명령 문구는 어시스턴트 인터페이스에서 이전에 수신되지 않았던 명령 문구일 수 있다. 단축 문구 및 보충 명령 문구를 식별하기 위해, 자동화된 어시스턴트는 음성 명령이 오디오 기록에서 텍스트 데이터로 변환되게 할 수 있다. 그 후, 텍스트 데이터가 분석되고, 자동화된 어시스턴트가 이용할 수 있는 저장된 명령 문구 및 액션을 식별하는 엔트리를 포함하는 데이터베이스와 비교될 수 있다. 예를 들어, "내가 청소 용품을 주문해라고 말하면, 종이 타월도 주문해"라는 명령 문구는 텍스트로 변환되고 파싱되어, "청소 용품을 주문해"를 단축 명령 문구로 식별하고 "종이 타월도 주문해"를 보조 명령 문구로 식별할 수 있다. 후자의 문구는 적어도 "말하면" 및 "도"라는 단어를 포함하는 명령 문구에 기초하여 보충 명령 문구로 지정될 수 있다. 이 단어들은 또한 사용자가 현재 존재하는 단축 명령 문구(즉, "청소 용품을 주문해")를 수정하도록 자동화된 어시스턴트에게 명령하고 있다는 것을 결정하기 위해 데이터베이스의 엔트리와 비교될 수 있다. 기존 단축 명령 문구는 자동화된 어시스턴트가 여러 다른 액션들을 수행하게 하는 명령일 수 있으며, 사용자가 독립적인 명령 문구를 제공하는 경우 개별적으로 실행될 수 있다.
방법(500)은 블록(506)에서 상기 단축 명령 문구와 상기 보충 명령 문구와 연관된 액션 사이의 대응을 제공하는 저장 엔트리가 생성되게 하는 것을 포함할 수 있다. 다시 말해서, 자동화된 어시스턴트가 액세스 가능한 데이터베이스 또는 다른 메모리 위치는 단축 명령 문구 및 보충 명령 문구와 연관된 액션을 직접 또는 간접적으로 식별하는 엔트리를 포함하도록 수정될 수 있다. 일부 구현예에서, 단축 명령 문구는 다양한 상이한 액션들과 상관될 수 있고, 생성된 저장 엔트리는 다른 액션이 단축 명령 문구와 상관될 수 있다. 예를 들어, 단축 명령 문구는 데이터베이스의 엔트리를 통해 "고무 장갑 주문", "화장실 클리너 주문" 및 "스크럽 브러쉬 주문"의 액션들과 상관될 수 있다. 종이 타월을 주문하는 액션은 사용자가 명령 문구를 제공하는 것에 응답하여 생성된 저장 엔트리에 의해 단축 명령 문구와 상관될 수 있다.
방법(500)은 저장 엔트리가 생성된 후, 어시스턴트 인터페이스에서 단축 명령 문구를 수신하는 블록(508)을 더 포함할 수 있다. 예를 들어, 사용자는 추가 액션(예를 들어, "종이 타월을 주문해")를 통합하도록 이전에 수정된 단축 명령 문구 "청소 용품을 주문해"를 제공할 수 있다. 추가적으로, 방법(500)은 단축 명령 문구를 수신함에 응답하여, 자동화된 어시스턴트 애플리케이션이 보충 명령 문구 및 단축 명령 문구와 연관된 하나 이상의 액션을 수행하게 하는 블록(510)을 포함할 수 있다. 예를 들어, 자동화된 어시스턴트는 데이터베이스에서 단축 명령 문구에 대응하는 엔트리를 식별할 수 있다. 엔트리는 이전에 단축 명령 문구와 연관되었고 보충 명령 문구와 연관된 액션들을 식별할 수 있다. 이러한 액션들은 웹 사이트를 통해 고무 장갑을 주문하고, 서드 파티 에이전트를 통해 스크럽 브러시를 주문하고 및/또는 전화 애플리케이션을 통해 화장실 청소기를 주문하는 것을 포함할 수 있다. 또한, 블록(502)에서 사용자가 명령 문구를 제공한 결과, 액션들은 전화 애플리케이션으로부터 종이 타월을 주문하는 것을 포함할 수 있다. 이러한 방식으로 자동화된 어시스턴트를 동작함으로써, 사용자는 사용자와 자동화된 어시스턴트 사이의 다수의 인터렉션들을 감소시키기 위해 새로운 액션들 및/또는 명령 문구들을 통합하기 위해 이전에 구성된 단축 명령 문구들을 수정할 수 있다. 이를 통해 사용자는 시간을 절약하고, 자동화된 어시스턴트를 호스팅하는 컴퓨터에서 계산 리소스를 절약할 수 있다.
도 6은 예시적 컴퓨터 시스템(610)의 블록도이다. 컴퓨터 시스템(610)는 일반적으로 적어도 하나의 프로세서(614)를 포함하며, 버스 서브시스템(612)을 통해 다수의 주변 디바이스들과 통신한다. 이들 주변 디바이스들은 예를 들면, 메모리(625) 및 파일 저장 서브시스템(626)을 포함하는 저장 서브시스템(624), 사용자 인터페이스 출력 디바이스(620), 사용자 인터페이스 입력 디바이스(622) 및 네트워크 인터페이스 서브시스템(616)을 포함할 수 있다. 입력 및 출력 디바이스는 컴퓨터 시스템(610)과 사용자 인터렉션을 하게 한다. 네트워크 인터페이스 서브시스템(616)은 외부 네트워크에 대한 인터페이스를 제공하며, 다른 컴퓨터 시스템들의 대응하는 인터페이스 디바이스들과 연결된다.
사용자 인터페이스 입력 디바이스(622)는 키보드, 마우스, 트랙볼, 터치패드 또는 그래픽 태블릿, 스캐너, 디스플레이에 통합된 터치스크린과 같은 포인팅 디바이스, 음성 인식 시스템, 마이크로폰과 같은 오디오 입력 디바이스 및/또는 다른 유형의 입력 디바이스를 포함한다. 일반적으로, 용어 "입력 디바이스"의 사용은 정보를 컴퓨터 시스템(610) 또는 통신 네트워크에 입력하기 위한 모든 가능한 유형의 디바이스들과 방식들을 포함하도록 의도된다.
사용자 인터페이스 출력 디바이스(620)는 디스플레이 서브시스템, 프린터, 팩스 기계 또는 오디오 출력 디바이스와 같은 비-시각적 디스플레이를 포함할 수 있다. 디스플레이 서브시스템은 CRT, LCD와 같은 평면 패널 디바이스, 프로젝션 디바이스 또는 시각적 이미지를 생성하기 위한 일부 기타 메커니즘을 포함할 수 있다. 또한, 디스플레이 서브시스템은 오디오 출력 디바이스와 같은 비-시각적 디스플레이를 제공할 수 있다. 일반적으로, 용어 "출력 디바이스"의 사용은 정보를 컴퓨터 시스템(610)로부터 사용자에게 또는 다른 기계 또는 컴퓨터 시스템에 정보를 출력하기 위한 모든 가능한 유형의 디바이스들과 방식들을 포함하도록 의도된다.
저장 서브시스템(624)은 본 명세서에 기술된 일부 또는 전부의 모듈들의 기능을 제공하기 위한 프로그래밍 및 데이터 구조를 저장한다. 예를 들어, 저장 서브시스템(624)은 방법(300), 방법(400) 및/또는 컴퓨팅 디바이스(102), 컴퓨팅 디바이스(206), 서버 디바이스(112), 원격 디바이스(124), 원격 디바이스 및/또는 본 명세서에서 논의된 임의의 다른 디바이스 또는 장치의 선택된 양태를 수행하기 위한 로직을 포함할 수 있다.
이들 소프트웨어 모듈들은 일반적으로 프로세서(614) 단독으로 또는 다른 프로세서들과의 조합에 의해 실행된다. 저장 서브시스템(624)에서 사용된 메모리(625)는 프로그램 실행 중에 명령어들 및 데이터의 저장을 위한 메인 RAM(630) 및 고정된 명령어들이 저장되는 ROM(632)을 포함하는 다수의 메모리들을 포함할 수 있다. 파일 저장 서브시스템(626)은 프로그램 및 데이터 파일에 대한 영구적 저장을 제공할 수 있고, 하드 디스크 드라이브, 연관된 이동식 매체와 함께인 플로피 디스크 드라이브, CD-ROM 드라이브, 광학 드라이브 또는 이동식 매체 카트리지들을 포함할 수 있다. 특정 구현예들의 기능을 구현하는 모듈들은 파일 저장 서브시스템(626)에 의해 저장 서브시스템(624)에 또는 프로세서(들)(614)에 의해 엑세스가능한 다른 기계에 저장될 수 있다.
버스 서브시스템(612)은 의도된 대로 컴퓨터 시스템(610)의 다양한 컴포넌트들 및 서브시스템들이 서로 통신하게 하기 위한 메커니즘을 제공한다. 버스 서브시스템(612)이 개략적으로 단일의 버스로 도시되었지만, 버스 서브시스템의 대안적 구현예들은 다수의 버스들을 사용할 수 있다.
컴퓨터 시스템(610)은 워크스테이션, 서버, 컴퓨팅 클러스터, 블레이드 서버, 서퍼팜 또는 임의의 기타 데이터 프로세싱 시스템 또는 컴퓨팅 디바이스를 포함하는 다양한 유형들일 수 있다. 컴퓨터들 및 네트워크들의 변하지 않는 성질 때문에, 도 6에 도시된 컴퓨터 시스템(610)의 기술은 일부 구현예들을 도시하기 위한 목적의 특정 예시로만 의도된다. 컴퓨터 시스템(610)의 많은 다른 구성들이 도 6에 도시된 컴퓨터 시스템보다 많거나 적은 컴포넌트들을 가질 수 있다.
본 명세서에서 논의된 시스템들이 사용자들(또는 "참여자들"로 종종 지칭됨)에 관한 개인 정보를 수집하거나 또는 개인 정보를 사용하는 경우들에 있어서, 사용자들에게 프로그램들 또는 구성들이 사용자 정보(예를 들면, 사용자의 소셜 네트워크, 소셜 액션들 또는 활동들, 직업, 사용자의 선호들 또는 사용자의 현재 지리적 위치)에 관한 정보를 수집할 것인지 여부를 제어할, 사용자와 더 관련된 컨텐츠 서버로부터의 컨텐츠를 수신할지 및/또는 어떻게 수신할지 제어할 기회가 제공될 수 있다. 추가로, 특정 데이터는 그것이 저장되거나 사용되기 전에 하나 이상의 다양한 방식들로 취급되어, 개인적으로 식별가능한 정보는 제거된다. 예를 들면, 사용자의 신원은 사용자에 관한 개인적으로 식별가능한 정보가 결정될 수 없도록 취급되거나 또는 사용자의 지리적 위치는 위치 정보가 획득된 곳에서 일반화되어(시, 우편번호 또는 주 수준으로), 사용자의 특정한 지리적 위치가 결정될 수 없도록 한다. 따라서, 사용자는 사용자에 관한 정보가 어떻게 수집되는지 그리고 사용되는지에 관한 제어를 가질 수 있다.
몇몇 구현예가 본 명세서에서 기술되고 도시되었지만, 기능을 수행하고 및/또는 결과 및/또는 본 명세서에 기술된 하나 이상의 이점을 획득하기 위한 다양한 다른 수단들 및/또는 구조들이 활용될 수 있으며, 그러한 변형들 및/또는 수정들은 본 명세서에서 기술된 구현예들의 범위 내에 있는 것으로 간주된다. 보다 일반적으로, 본 명세서에 기술된 모든 파라미터, 치수, 재료 및 구성은 예시적인 것으로 의도되었으며, 실제 파라미터, 치수, 재료 및/또는 구성은 교시를 사용되는 특정 어플리케이션 또는 어플리케이션들에 의존할 것이다. 통상의 기술자는 일상적인 실험만을 사용하여 본 명세서에 기술된 특정 구현예들에 대한 많은 균등물들을 인식할 수 있거나 또는 확인할 수 있을 것이다. 따라서, 전술한 구현예들은 단지 예일 뿐이며, 첨부된 청구범위 및 그 균등물의 범위 내에서 구현은 구체적으로 기술되고 청구된 것과 다르게도 실시 될 수 있음을 이해해야 한다. 본 개시의 구현은 본 명세서에 기술된 각각의 개별적인 구성, 시스템, 물품, 재료, 키트 및/또는 방법에 관한 것이다. 또한 구성, 시스템, 물품, 재료, 키트 및/또는 방법이 상호 불일치하지 않는다면, 그러한 두 개 이상의 구성, 시스템, 물품, 재료, 키트 및/또는 방법의 모든 조합이 본 발명의 범위 내에 포함된다.

Claims (9)

  1. 하나 이상의 프로세서에 의해 수행되는 방법으로서,
    어시스턴트 인터페이스에서 사용자에 의해 제공된 제1 명령 문구를 수신하는 단계, 상기 어시스턴트 인터페이스는 상기 하나 이상의 프로세서들이 액세스 가능한 자동화된 어시스턴트 애플리케이션과 연관되며;
    상기 제1 명령 문구와 상기 자동화된 어시스턴트 어플리케이션이 사용 가능한 하나 이상의 명령 문구들 사이의 상관의 부재에 적어도 기초하여, 상기 제1 명령 문구가 상기 자동화된 어시스턴트 어플리케이션에 의해 인식되지 않는다고 결정하는 단계;
    상기 어시스턴트 인터페이스를 통해 상기 사용자에게 응답 문구가 제시되게 하는 단계, 상기 응답 문구는 상기 제1 명령 문구를 실행하기 위한 지시들에 대한 요청을 포함하며;
    상기 응답 문구의 제공에 응답하여, 하나 이상의 제2 명령 문구들을 수신하는 단계, 상기 하나 이상의 제2 명령 문구들은 상기 제1 명령 문구에 응답하여 상기 자동화된 어시스턴트 애플리케이션에 의해 수행될 복수의 액션들을 식별하며;
    상기 자동화된 어시스턴트 애플리케이션으로 하여금 상기 제1 명령 문구에 대응하는, 명령 문구를 상기 하나 이상의 제2 명령 문구들에서 식별된 상기 복수의 액션들과 연관하여 저장하게 하는 단계를 포함하는, 방법.
  2. 청구항 1에 있어서,
    상기 자동화된 어시스턴트 애플리케이션으로 하여금 상기 명령 문구를 상기 하나 이상의 제2 명령 문구들에서 식별된 상기 복수의 액션들과 연관하여 저장하게 하는 단계에 후속하여:
    상기 어시스턴트 인터페이스 또는 추가 어시스턴트 인터페이스에서, 상기 명령 문구에 대응하는 입력을 수신하는 단계;
    상기 명령 문구에 대응하는 상기 입력을 수신함에 응답하여, 그리고 상기 명령 문구가 상기 복수의 액션들과 연관하여 저장되는 것에 기초하여:
    상기 복수의 액션들이 상기 자동화된 어시스턴트 애플리케이션에 의해 수행되게 하는 단계를 더 포함하는, 방법.
  3. 청구항 2에 있어서, 상기 복수의 액션들 중 하나의 액션은 호출 요청을 서드 파티 에이전트 애플리케이션에 전송하여 별개의 컴퓨팅 디바이스에서 호스팅되는 서드 파티 에이전트 애플리케이션을 호출하는 것을 포함하는, 방법.
  4. 청구항 3에 있어서,
    상기 제2 명령 문구들 중 하나에 제공된 슬롯 값을 식별하는 단계, 상기 슬롯 값은 상기 액션이 상기 자동화된 어시스턴트 애플리케이션에 의해 수행될 수 있기 전에 해결될 필요가 있는 값을 나타내며; 및
    상기 명령 문구와 연관하여 저장된 상기 복수의 액션들 중 적어도 하나에 슬롯 값을 통합하는 단계를 더 포함하며;
    상기 서드 파티 에이전트 애플리케이션을 호출하는 것은 상기 서드 파티 에이전트 애플리케이션으로 전송된 상기 호출 요청에 상기 슬롯 값을 통합하는 것을 포함하고, 상기 슬롯 값은 상기 명령 문구와 연관하여 저장된 상기 복수의 액션들에 통합되는 상기 슬롯 값에 기초하여 통합되며, 상기 슬롯 값은 상기 명령 문구에 대응하는 상기 입력을 수신함에 응답하여 상기 슬롯 값의 임의의 확인을 프롬프트하지 않고 통합되는, 방법.
  5. 선행하는 청구항 중 어느 한 항에 있어서,
    상기 어시스턴트 인터페이스에서 제3 명령 문구를 수신하는 단계를 더 포함하며, 상기 제3 명령 문구는 상기 명령 문구에 대응하는 음성 명령인 것을 특징으로 하는 시스템.
  6. 청구항 5에 있어서,
    상기 제3 명령 문구가 음성 프로세싱 애플리케이션에 의해 파싱된 입력 데이터로 변환되게 하는 단계; 및
    상기 입력 데이터로부터, 상기 명령 문구가 상기 제3 명령 문구에서 식별되는지 결정하는 단계를 더 포함하는 것을 특징으로 하는 시스템.
  7. 청구항 2에 있어서, 상기 복수의 액션들은 상기 하나 이상의 프로세서가 액세스 가능한 주변 디바이스로 제어 신호를 전송하는 것을 포함하는, 방법.
  8. 명령어들을 저장하도록 구성된 비일시적 컴퓨터 판독가능 매체로서, 상기 명령어들은 하나 이상의 프로세서들에 의해 실행될 때, 상기 하나 이상의 프로세서들로 하여금 선행하는 청구항 중 어느 한 항의 방법을 수행하게 하는, 비일시적 컴퓨터 판독가능 매체.
  9. 시스템으로서,
    하나 이상의 프로세서; 및
    명령어들을 저장하도록 구성된 메모리를 포함하며, 상기 명령어들은 하나 이상의 프로세서들에 의해 실행될 때, 상기 하나 이상의 프로세서들로 하여금 청구항 1 내지 7 중 어느 한 항의 방법을 수행하게 하는, 시스템.
KR1020227007687A 2017-10-03 2018-10-02 어시스턴트 애플리케이션을 위한 음성 사용자 인터페이스 단축 KR102505597B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201762567726P 2017-10-03 2017-10-03
US62/567,726 2017-10-03
US15/785,100 US11450314B2 (en) 2017-10-03 2017-10-16 Voice user interface shortcuts for an assistant application
US15/785,100 2017-10-16
KR1020197038444A KR102373905B1 (ko) 2017-10-03 2018-10-02 어시스턴트 애플리케이션을 위한 음성 사용자 인터페이스 단축
PCT/US2018/054013 WO2019070748A1 (en) 2017-10-03 2018-10-02 VOICE USER INTERFACE SHORTCUTS FOR AN ASSISTANT APPLICATION

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020197038444A Division KR102373905B1 (ko) 2017-10-03 2018-10-02 어시스턴트 애플리케이션을 위한 음성 사용자 인터페이스 단축

Publications (2)

Publication Number Publication Date
KR20220035278A true KR20220035278A (ko) 2022-03-21
KR102505597B1 KR102505597B1 (ko) 2023-03-06

Family

ID=65897397

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020227007687A KR102505597B1 (ko) 2017-10-03 2018-10-02 어시스턴트 애플리케이션을 위한 음성 사용자 인터페이스 단축
KR1020197038444A KR102373905B1 (ko) 2017-10-03 2018-10-02 어시스턴트 애플리케이션을 위한 음성 사용자 인터페이스 단축

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020197038444A KR102373905B1 (ko) 2017-10-03 2018-10-02 어시스턴트 애플리케이션을 위한 음성 사용자 인터페이스 단축

Country Status (6)

Country Link
US (2) US11450314B2 (ko)
EP (3) EP3616194B1 (ko)
JP (3) JP6991251B2 (ko)
KR (2) KR102505597B1 (ko)
CN (2) CN111095399B (ko)
WO (1) WO2019070748A1 (ko)

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US20120309363A1 (en) 2011-06-03 2012-12-06 Apple Inc. Triggering notifications associated with tasks items that represent tasks to perform
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US10199051B2 (en) 2013-02-07 2019-02-05 Apple Inc. Voice trigger for a digital assistant
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
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
CN110797019B (zh) 2014-05-30 2023-08-29 苹果公司 多命令单一话语输入方法
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
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
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
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
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770428A1 (en) 2017-05-12 2019-02-18 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
CN107895016B (zh) * 2017-11-14 2022-02-15 百度在线网络技术(北京)有限公司 一种播放多媒体的方法和装置
DE102018202018B3 (de) * 2018-02-09 2019-05-09 Siemens Schweiz Ag Verfahren und System zum Bereitstellen eines sprachbasierten Dienstes, insbesondere für die Ansteuerung von Raumbedienelementen in Gebäuden
WO2019183096A1 (en) 2018-03-20 2019-09-26 Gojo Industries, Inc. Restroom maintenance systems having a voice activated virtual assistant
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US11158310B2 (en) * 2018-05-01 2021-10-26 Dell Products, L.P. Intelligent assistance for handling usage modes
WO2019216877A1 (en) * 2018-05-07 2019-11-14 Google Llc Verifying operational statuses of agents interfacing with digital assistant applications
US11308947B2 (en) * 2018-05-07 2022-04-19 Spotify Ab Voice recognition system for use with a personal media streaming appliance
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10803864B2 (en) 2018-05-07 2020-10-13 Spotify Ab Voice recognition system for use with a personal media streaming appliance
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US20190348033A1 (en) * 2018-05-10 2019-11-14 Fujitsu Limited Generating a command for a voice assistant using vocal input
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
KR20200010131A (ko) * 2018-07-20 2020-01-30 삼성전자주식회사 전자 장치 및 그의 제어 방법
KR20200027753A (ko) * 2018-09-05 2020-03-13 삼성전자주식회사 전자 장치 및 단축 명령어에 대응하는 태스크 수행 방법
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11830485B2 (en) * 2018-12-11 2023-11-28 Amazon Technologies, Inc. Multiple speech processing system with synthesized speech styles
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
KR20200129346A (ko) * 2019-05-08 2020-11-18 삼성전자주식회사 디스플레이 장치 및 이의 제어 방법
JP7432996B2 (ja) * 2019-05-17 2024-02-19 三菱電機株式会社 音声制御システムおよび音声制御装置
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11170774B2 (en) * 2019-05-21 2021-11-09 Qualcomm Incorproated Virtual assistant device
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
KR20210026962A (ko) * 2019-09-02 2021-03-10 삼성전자주식회사 보이스 어시스턴트 서비스를 제공하는 장치 및 방법
US11537417B2 (en) * 2019-10-08 2022-12-27 At&T Intellectual Property I, L.P. Task delegation and cooperation for automated assistants
US11861674B1 (en) 2019-10-18 2024-01-02 Meta Platforms Technologies, Llc Method, one or more computer-readable non-transitory storage media, and a system for generating comprehensive information for products of interest by assistant systems
US11567788B1 (en) 2019-10-18 2023-01-31 Meta Platforms, Inc. Generating proactive reminders for assistant systems
KR20210072471A (ko) * 2019-12-09 2021-06-17 현대자동차주식회사 음성 명령 인식 장치 및 그 방법
JP7448350B2 (ja) * 2019-12-18 2024-03-12 トヨタ自動車株式会社 エージェント装置、エージェントシステム、及びエージェントプログラム
CN111243587A (zh) * 2020-01-08 2020-06-05 北京松果电子有限公司 语音交互方法、装置、设备及存储介质
US11038934B1 (en) 2020-05-11 2021-06-15 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
US11763804B2 (en) * 2020-06-29 2023-09-19 Microsoft Technology Licensing, Llc Leveraging dialogue history in updated dialogue
CN111738664B (zh) * 2020-07-17 2020-12-22 北京云迹科技有限公司 外卖订单生成方法、外卖服务方法、装置及电子设备
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
US11996095B2 (en) * 2020-08-12 2024-05-28 Kyndryl, Inc. Augmented reality enabled command management
US11769489B2 (en) * 2021-01-28 2023-09-26 Samsung Electronics Co., Ltd. Electronic device and method for performing shortcut command in electronic device
KR20220118818A (ko) * 2021-02-19 2022-08-26 삼성전자주식회사 전자 장치 및 전자 장치의 동작 방법
KR20230017971A (ko) * 2021-07-28 2023-02-07 삼성전자주식회사 전자 장치 및 전자 장치의 동작 방법
WO2023090667A1 (ko) * 2021-11-17 2023-05-25 삼성전자 주식회사 발화 기반 퀵 커맨드 재구성 방법 및 이를 위한 전자 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130275164A1 (en) * 2010-01-18 2013-10-17 Apple Inc. Intelligent Automated Assistant
US20160225372A1 (en) * 2015-02-03 2016-08-04 Samsung Electronics Company, Ltd. Smart home connected device contextual learning using audio commands
KR20160100641A (ko) * 2015-02-16 2016-08-24 현대자동차주식회사 차량 및 그 제어방법

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8275617B1 (en) 1998-12-17 2012-09-25 Nuance Communications, Inc. Speech command input recognition system for interactive computer display with interpretation of ancillary relevant speech query terms into commands
JP4262837B2 (ja) 1999-07-14 2009-05-13 富士通テン株式会社 音声認識機能を用いたナビゲーション方法
AU2474300A (en) 1999-11-23 2001-06-04 Intervoice Limited Partnership Voice activated hyperlinks
US7735021B2 (en) * 2001-02-16 2010-06-08 Microsoft Corporation Shortcut system for use in a mobile electronic device and method thereof
JP2005331882A (ja) * 2004-05-21 2005-12-02 Pioneer Electronic Corp 音声認識装置、音声認識方法、および音声認識プログラム
JP4181590B2 (ja) * 2006-08-30 2008-11-19 株式会社東芝 インタフェース装置及びインタフェース処理方法
JP5075664B2 (ja) 2008-02-15 2012-11-21 株式会社東芝 音声対話装置及び支援方法
KR101631496B1 (ko) * 2008-06-03 2016-06-17 삼성전자주식회사 로봇 장치 및 그 단축 명령 등록 방법
JP5263875B2 (ja) 2008-09-16 2013-08-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 発話入力の音声認識のためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
US8453058B1 (en) * 2012-02-20 2013-05-28 Google Inc. Crowd-sourced audio shortcuts
US20130338995A1 (en) * 2012-06-12 2013-12-19 Grant Street Group, Inc. Practical natural-language human-machine interfaces
US20150053779A1 (en) 2013-08-21 2015-02-26 Honeywell International Inc. Devices and methods for interacting with an hvac controller
JP2015141226A (ja) 2014-01-27 2015-08-03 パイオニア株式会社 情報処理装置
US9582246B2 (en) * 2014-03-04 2017-02-28 Microsoft Technology Licensing, Llc Voice-command suggestions based on computer context
CN110797019B (zh) * 2014-05-30 2023-08-29 苹果公司 多命令单一话语输入方法
US9576575B2 (en) * 2014-10-27 2017-02-21 Toyota Motor Engineering & Manufacturing North America, Inc. Providing voice recognition shortcuts based on user verbal input
US10192549B2 (en) * 2014-11-28 2019-01-29 Microsoft Technology Licensing, Llc Extending digital personal assistant action providers
JP6381833B2 (ja) 2015-04-23 2018-08-29 ウノ チェ ユビキタス環境での認証
JP6739907B2 (ja) * 2015-06-18 2020-08-12 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 機器特定方法、機器特定装置及びプログラム
US9934782B2 (en) 2015-09-22 2018-04-03 Meshrose Ltd. Automatic performance of user interaction operations on a computing device
CN105589848A (zh) * 2015-12-28 2016-05-18 百度在线网络技术(北京)有限公司 对话管理方法和装置
KR20170096394A (ko) 2016-02-16 2017-08-24 삼성전자주식회사 복수의 모바일 기기들이 하나의 모바일 기기와 연동된 서비스를 이용하는 방법 및 장치
WO2017163509A1 (ja) 2016-03-22 2017-09-28 ソニー株式会社 情報処理システムおよび情報処理方法
KR101741647B1 (ko) 2016-09-30 2017-05-30 현대자동차주식회사 차량 및 그 제어방법
CN107146616B (zh) * 2017-06-13 2020-05-08 Oppo广东移动通信有限公司 设备控制方法及相关产品
US11689379B2 (en) * 2019-06-24 2023-06-27 Dropbox, Inc. Generating customized meeting insights based on user interactions and meeting media

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130275164A1 (en) * 2010-01-18 2013-10-17 Apple Inc. Intelligent Automated Assistant
US20160225372A1 (en) * 2015-02-03 2016-08-04 Samsung Electronics Company, Ltd. Smart home connected device contextual learning using audio commands
KR20160100641A (ko) * 2015-02-16 2016-08-24 현대자동차주식회사 차량 및 그 제어방법

Also Published As

Publication number Publication date
JP7297836B2 (ja) 2023-06-26
US20230013457A1 (en) 2023-01-19
JP6991251B2 (ja) 2022-01-12
KR102505597B1 (ko) 2023-03-06
EP3616194A1 (en) 2020-03-04
EP4270171A2 (en) 2023-11-01
KR102373905B1 (ko) 2022-03-15
JP2022003408A (ja) 2022-01-11
EP4270171A3 (en) 2023-12-13
CN117524216A (zh) 2024-02-06
CN111095399B (zh) 2023-10-31
JP2023115067A (ja) 2023-08-18
CN111095399A (zh) 2020-05-01
JP2020530580A (ja) 2020-10-22
WO2019070748A1 (en) 2019-04-11
EP3616194B1 (en) 2021-03-31
EP3843091A1 (en) 2021-06-30
US11450314B2 (en) 2022-09-20
KR20200012933A (ko) 2020-02-05
US20190103103A1 (en) 2019-04-04
EP3843091B1 (en) 2023-09-20

Similar Documents

Publication Publication Date Title
KR102373905B1 (ko) 어시스턴트 애플리케이션을 위한 음성 사용자 인터페이스 단축
JP7354301B2 (ja) 自動アシスタントによって応答アクションをトリガするためのホットコマンドの検出および/または登録
US11232155B2 (en) Providing command bundle suggestions for an automated assistant
US10496382B2 (en) Machine generation of context-free grammar for intent deduction
JP2020173846A (ja) 選択可能なグラフィカル要素を介する自動化エージェントとの会話の初期化
US10860289B2 (en) Flexible voice-based information retrieval system for virtual assistant
US11749278B2 (en) Recommending automated assistant action for inclusion in automated assistant routine
US20210264910A1 (en) User-driven content generation for virtual assistant

Legal Events

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