KR20150046100A - 전자 디바이스에 대한 가상 에이전트 통신 - Google Patents
전자 디바이스에 대한 가상 에이전트 통신 Download PDFInfo
- Publication number
- KR20150046100A KR20150046100A KR20157006135A KR20157006135A KR20150046100A KR 20150046100 A KR20150046100 A KR 20150046100A KR 20157006135 A KR20157006135 A KR 20157006135A KR 20157006135 A KR20157006135 A KR 20157006135A KR 20150046100 A KR20150046100 A KR 20150046100A
- Authority
- KR
- South Korea
- Prior art keywords
- user
- virtual agent
- communication
- determining
- virtual
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/403—Arrangements for multi-party communication, e.g. for conferences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- Theoretical Computer Science (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Data Mining & Analysis (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Information Transfer Between Computers (AREA)
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
적어도 하나의 네트워크를 통하여 접속된 전자 디바이스의 사용자와 연관된 가상 에이전트들 간에 통신하기 위한 방법 및 장치. 제1 사용자는 제2 사용자와 연관된 제2 가상 에이전트와의 통신 세션을 인보크하도록 연관된 제1 가상 에이전트에 명령할 수 있다. 통신 세션을 인보크하기 위하여, 제1 가상 에이전트는 제2 가상 에이전트에 아웃고잉 통신을 송신할 수 있고, 아웃고잉 통신은 제1 사용자를 대신하여 적어도 하나의 액션을 수행하도록 제2 가상 에이전트에 명령할 수 있다. 대안으로, 여러 다른 사용자와 연관된 가상 에이전트는 협업 액션을 수행하도록 사용자 대화의 부재시 서로 통신할 수 있다.
Description
근년에, 스마트폰 및 태블릿 컴퓨터와 같은 전자 디바이스는 네트워크(예컨대, 인터넷) 상에서 컨텐트의 검색 및 다른 애플리케이션과의 대화와 같은 기능을 수행함에 있어서 사용자를 조력하는 가상 에이전트 또는 가상 도우미라고 알려져 있는 애플리케이션을 포함한다. 사용자는 이들 기능을 수행하도록 타이핑 또는 터치를 사용하여 가상 에이전트와 대화할 수 있다. 부가적으로, 일부 디바이스는 사용자가 음성 입력을 사용하여 가상 에이전트와 대화 가능하게 하도록 음성 인터페이스를 포함한다. 이들 가상 에이전트는 일반적으로 플랫폼 특정적이며 특정 운영 체제를 사용하는 디바이스와 작동한다. 예컨대, Apple Computers, Inc.로부터 이용가능한 Siri(등록상표) 도우미는 iOS 모바일 운영 체제를 실행 중인 디바이스와 작동하도록 구성되고, Bulletproof Corp.로부터 이용가능한 EVA 도우미는 Google, Inc.로부터 이용가능한 안드로이드 모바일 운영 체제를 실행 중인 디바이스와 작동하도록 구성된다.
일부 실시예는 네트워킹된 시스템에서 여러 다른 사용자와 연관된 가상 에이전트들 간에 통신을 용이하게 함으로써 가상 에이전트의 기능성을 개선하는 것에 관한 것이다. 개선된 기능성은, 국한되는 것은 아니지만, 다른 사용자의 위치 찾기, 미팅 장소 조율하기, 다른 사용자의 캘린더에 액세스하기, 미팅 예정하기 및 연락처 정보 공유하기와 같은 기능을 포함할 수 있다.
일부 실시예는, 적어도 하나의 조율된 액션을 수행하도록 적어도 2개의 디바이스 간 통신에 대해 허용하는, 여러 다른 운영 체제를 실행 중인 적어도 2개의 디바이스를 동작시킬 수 있는 플랫폼-독립적 가상 에이전트에 관한 것이다.
일부 실시예는 가상 에이전트들 간에 통신하는 방법에 관한 것으로서, 가상 에이전트의 각각은 사용자와 연관되어 있고, 그 방법은, 제1 사용자로부터 입력을 수신하는 단계; 제1 사용자와 연관된 제1 가상 에이전트에 의해, 제2 사용자와 연관된 제2 가상 에이전트와의 통신 세션을 인보크(invoke)할지 결정하는 단계; 및 통신 세션을 인보크하기로 결정하는 것에 응답하여 제2 가상 에이전트에 아웃고잉 통신을 송신하는 단계를 포함한다.
다른 실시예는, 적어도 하나의 컴퓨터에 의해 실행될 때, 가상 에이전트들 간에 통신하는 방법을 수행하는 복수의 명령어로 인코딩된 컴퓨터-판독가능한 매체에 관한 것으로서, 가상 에이전트의 각각은 사용자와 연관되어 있고, 그 방법은, 제1 사용자로부터 입력을 수신하는 단계; 제1 사용자와 연관된 제1 가상 에이전트에 의해, 제2 사용자와 연관된 제2 가상 에이전트와의 통신 세션을 인보크할지 결정하는 단계; 및 통신 세션을 인보크하기로 결정하는 것에 응답하여 제2 가상 에이전트에 아웃고잉 통신을 송신하는 단계를 포함하되, 아웃고잉 통신은 제2 가상 에이전트가 제1 사용자를 대신하여 적어도 하나의 액션을 수행하라는 요청을 포함한다.
다른 실시예는: 제1 사용자로부터 입력을 수신하도록 구성된 통신 인터페이스; 및 제2 사용자와 연관된 제2 가상 에이전트와의 통신 세션을 인보크할지 결정하고, 그리고 통신 세션을 인보크하기로 결정하는 것에 응답하여 제2 가상 에이전트에 아웃고잉 통신을 송신하도록 구성된 제1 가상 에이전트를 포함하는 전자 디바이스에 관한 것으로서, 아웃고잉 통신은 제2 가상 에이전트가 제1 사용자를 대신하여 적어도 하나의 액션을 수행하라는 요청을 포함한다.
다른 실시예는 제1 사용자로부터 입력을 수신함이 없이 제1 사용자와 연관된 제1 가상 에이전트에 의해 태스크를 관리하는 방법에 관한 것으로서, 그 방법은: 제1 가상 에이전트에 의해, 태스크와 연관된 조건이 발생했는지 결정하는 단계; 및 조건이 일어났다고 결정하는 것에 응답하여 제2 사용자와 연관된 제2 가상 에이전트에 아웃고잉 통신을 또는 제1 사용자에 경보를 송신하는 단계를 포함한다.
다른 실시예는, 적어도 하나의 컴퓨터에 의해 실행될 때, 제1 사용자로부터 입력을 수신함이 없이 제1 사용자와 연관된 제1 가상 에이전트에 의해 태스크를 관리하는 방법을 수행하는 복수의 명령어로 인코딩된 컴퓨터-판독가능한 매체에 관한 것으로서, 그 방법은: 제1 가상 에이전트에 의해, 태스크와 연관된 조건이 발생했는지 결정하는 단계; 및 조건이 일어났다고 결정하는 것에 응답하여 제2 사용자와 연관된 제2 가상 에이전트에 아웃고잉 통신을 또는 제1 사용자에 경보를 송신하는 단계를 포함한다.
다른 실시예는: 제1 사용자와 연관된 제1 가상 에이전트를 포함하는 전자 디바이스에 관한 것으로서, 제1 가상 에이전트는: 제1 가상 에이전트에 할당된 태스크와 연관된 조건이 발생했는지 결정하고, 그리고 조건이 일어났다고 결정하는 것에 응답하여 제2 사용자와 연관된 제2 가상 에이전트에 아웃고잉 통신을 또는 제1 사용자에 경보를 송신하도록 구성된다.
다른 실시예는 가상 에이전트들 간에 통신을 용이하게 하는 방법에 관한 것으로서, 가상 에이전트의 각각은 사용자와 연관되어 있고, 그 방법은: 제1 사용자와 연관된 제1 가상 에이전트로부터의 통신을 제2 사용자와 연관된 제2 가상 에이전트에 의해 수신하는 단계; 및 통신을 수신하는 단계에 응답하여 적어도 하나의 액션을 수행하는 단계를 포함한다.
다른 실시예는, 적어도 하나의 컴퓨터에 의해 실행될 때, 가상 에이전트들 간에 통신을 용이하게 하는 방법을 수행하는 복수의 명령어로 인코딩된 컴퓨터-판독가능한 매체에 관한 것으로서, 가상 에이전트의 각각은 사용자와 연관되어 있고, 그 방법은: 제1 사용자와 연관된 제1 가상 에이전트로부터의 통신을 제2 사용자와 연관된 제2 가상 에이전트에 의해 수신하는 단계; 및 통신을 수신하는 단계에 응답하여 적어도 하나의 액션을 수행하는 단계를 포함한다.
다른 실시예는: 제1 사용자와 연관된 제1 가상 에이전트로부터의 통신을 수신하도록 구성된 통신 인터페이스; 및 제2 사용자와 연관된 제2 가상 에이전트를 포함하는 전자 디바이스에 관한 것으로서, 제2 가상 에이전트는: 통신을 수신하는 것에 응답하여 적어도 하나의 액션을 수행하도록 구성된다.
아래에서 더 상세히 논의되는 전술한 개념 및 부가적 개념의 모든 조합은 (그러한 개념이 상호 모순되지 않는다면) 본 명세서에서 개시되는 당해 진보적 사항의 일부분으로서 고려되는 것임을 인식하여야 한다.
수반 도면은 축척대로 그리려는 의도는 아니다. 도면에 있어서, 다양한 도면에서 예시되는 각각의 똑같은 또는 거의 똑같은 컴포넌트는 유사한 숫자로 표현된다. 명확성의 목적으로, 모든 도면마다 모든 컴포넌트마다 라벨이 붙여지지는 않을 수 있다. 도면에 있어서:
도 1은 본 발명의 일부 실시예에 따라 전자 디바이스에 대하여 가상 에이전트들 간에 통신을 용이하게 하도록 사용되는 컴포넌트를 포함하는 일례의 시스템;
도 2는 본 발명의 일부 실시예에 따라 사용자 입력에 응답하여 가상 에이전트로부터 아웃고잉 통신을 발생시키기 위한 프로세스의 예시도;
도 3은 본 발명의 일부 실시예에 따라 사용자 대화를 요구함이 없이 배경에서 에이전트-대-에이전트 통신을 제공하기 위한 프로세스의 예시도;
도 4는 본 발명의 일부 실시예에 따라 가상 에이전트에 의해 인커밍 통신을 관리하기 위한 프로세스의 예시도;
도 5는 본 발명의 일부 실시예에 따라 가상 에이전트로부터 인커밍 통신을 수신하는 것에 응답하여 적어도 하나의 액션을 수행하기 위한 프로세스의 예시도; 및
도 6은 본 발명의 일부 실시예와 연관하여 사용될 수 있는 컴퓨터 시스템의 예시도.
도 1은 본 발명의 일부 실시예에 따라 전자 디바이스에 대하여 가상 에이전트들 간에 통신을 용이하게 하도록 사용되는 컴포넌트를 포함하는 일례의 시스템;
도 2는 본 발명의 일부 실시예에 따라 사용자 입력에 응답하여 가상 에이전트로부터 아웃고잉 통신을 발생시키기 위한 프로세스의 예시도;
도 3은 본 발명의 일부 실시예에 따라 사용자 대화를 요구함이 없이 배경에서 에이전트-대-에이전트 통신을 제공하기 위한 프로세스의 예시도;
도 4는 본 발명의 일부 실시예에 따라 가상 에이전트에 의해 인커밍 통신을 관리하기 위한 프로세스의 예시도;
도 5는 본 발명의 일부 실시예에 따라 가상 에이전트로부터 인커밍 통신을 수신하는 것에 응답하여 적어도 하나의 액션을 수행하기 위한 프로세스의 예시도; 및
도 6은 본 발명의 일부 실시예와 연관하여 사용될 수 있는 컴퓨터 시스템의 예시도.
관용적 가상 에이전트가 통화를 개시하거나 월드 와이드 웹 상에서 컨텐트를 검색하는 것과 같은 다양한 태스크에 대해 사용자를 조력하는데 유용하기는 하지만, 관용적 가상 에이전트의 기능성은 하나의 사용자와 연관된 가상 에이전트가 다른 사용자의 위치를 찾고, 다른 사용자와의 미팅을 예정하고, 사용자 간 연락처 정보 또는 다른 데이터를 공유하는 것과 같은 협업 액션을 수행하도록 다른 사용자와 연관된 가상 에이전트와 대화 가능하게 함으로써 개선될 수 있음을 발명자는 인지 및 인식하였다. 이러한 목적으로, 본 발명의 일부 실시예는 에이전트-대-에이전트 통신이 하나 이상의 액션을 수행 가능하게 함으로써 가상 에이전트의 기능성을 개선하는 것에 관한 것이다.
본 발명의 일부 실시예에 따른 사용을 위한 일례의 시스템(100)이 도 1에 예시되어 있다. 시스템(100)은, 국한되는 것은 아니지만, 셀 폰, 스마트폰, 태블릿 컴퓨터 및 랩톱 컴퓨터로서 구현될 수 있는 전자 디바이스(102)를 포함한다. 시스템(100)은 어떠한 수의 전자 디바이스라도 포함할 수 있다. 예컨대, 시스템(100)은 또한 셀 폰(130) 및 태블릿 컴퓨터(140)를 포함한다. 전자 디바이스(102)의 다양한 컴포넌트가 아래에 설명되기는 하지만, 셀 폰(130) 및/또는 태블릿 컴퓨터(140)를 포함하는 시스템(100) 내 다른 디바이스가 전자 디바이스(102)와 연관하여 설명되는 것들과 유사한 적어도 일부 컴포넌트를 포함할 수 있음을 인식하여야 한다.
전자 디바이스(102)는 하나 이상의 기능을 수행하기 위해 사용자로부터 입력을 수신하도록 구성될 수 있다. 사용자 입력을 수신하기 위해, 전자 디바이스(102)는, 국한되는 것은 아니지만, 키보드 인터페이스(예컨대, QWERTY 키보드), 터치스크린 인터페이스, 및 마이크로폰과 같은 음성 인터페이스를 포함하는 입력 인터페이스(104)를 포함할 수 있다. 음성 인터페이스를 포함하는 실시예에 있어서, 수신된 음성 입력은 수신된 음성 입력의 컨텐트를 인식하도록 자동 음성 인식(ASR) 엔진(도시하지 않음)에 송신될 수 있다. ASR 엔진은 전자 디바이스(102)의 일부로서 포함될 수 있고 그리고/또는 ASR 엔진은 전자 디바이스(102)로부터 원격에 위치하고 있을 수 있고 어느 적합한 통신 매체(예컨대, 하나 이상의 네트워크)라도 사용하여 전자 디바이스(102)와 통신하고 있을 수 있다. 일부 실시예에 있어서, 전자 디바이스(102)는 하나 이상의 로컬 ASR 엔진 및 하나 이상의 원격 위치 ASR 엔진과 연관될 수 있고, 그로써 적어도 일부의 수신된 음성 입력은 하나 이상의 로컬 ASR 엔진(들)에 의해 프로세싱되고 적어도 일부의 수신된 음성 입력은 하나 이상의 원격-위치 ASR 엔진에 의해 프로세싱된다. 그러한 분산형 ASR 시스템의 예는 당업자에 의해 알려져 있다. 전자 디바이스(102)를 접속시키는 하나 이상의 통신 매체(들)(예컨대, 하나 이상의 네트워크)를 사용하여 인식을 위해 하나 이상의 원격 ASR 엔진(들)에 송신된 음성 입력은 동일하거나 다른 통신 매체(들)를 사용하여 원격-위치 ASR 엔진(들)으로부터 전자 디바이스(102)로 반환될 수 있다.
일부 실시예에 있어서, ASR 엔진(들)은 하나 이상의 고정된 또는 동적으로 발생된 문법 및/또는 어휘를 사용하여 음성 입력을 인식하도록 구성될 수 있다. 대안으로, 일부 실시예는 사용자가 더 자연스러운 방식으로 가상 에이전트에게 말하는 것을 가능하게 하도록 자유-형태 입력을 허용할 수 있고 ASR 엔진은 사용자가 말하고 있는 것이 무엇이든, 예를 들어, 자연 언어 이해(NLU) 모델을 사용하여 인식할 수 있다. NLU 모델에 기반하는 음성 인식을 포함하는 실시예에 있어서, 가상 에이전트는 NLU 결과에 기반하여 수행할 사용자가 원하는 액션을 추론하려 시도할 수 있다. 음성 입력의 인식이 구현되는 특정 방식은 어떠한 적합한 음성 인식 구현이라도 사용될 수 있으므로 본 발명의 실시예를 한정하지 않음을 인식하여야 한다.
전자 디바이스(102)는 또한 사용자가 디바이스와 대화하여 다양한 액션을 수행 가능하게 하도록 사용자 인터페이스(106)를 포함한다. 예컨대, 일부 실시예에 있어서, 사용자 인터페이스(106)는 복수의 애플리케이션과 연관된 복수의 아이콘을 디스플레이할 수 있고 사용자는 연관된 애플리케이션을 론칭하도록 아이콘 중 하나 이상과 대화할 수 있다. 본 발명의 실시예가 이에 관하여 한정되지 않으므로 어떠한 적합한 사용자 인터페이스라도 사용될 수 있다.
전자 디바이스(102)는 디바이스 상에서 실행되도록 구성된 하나 이상의 애플리케이션(108)을 포함할 수 있다. 일부 애플리케이션은 전자 디바이스(102) 상에서 주로 실행되는 로컬 애플리케이션일 수 있다. 예컨대, 일정 애플리케이션(예컨대, 캘린더 애플리케이션)은 사용자가 이벤트 및/또는 약속에 대한 일정 정보를 저장 가능하게 하도록 전자 디바이스 상에서 실행될 수 있다. 그러한 애플리케이션과 연관된 데이터는, 아래에 더 상세히 논의되는 바와 같이, 전자 디바이스 상에 로컬 저장될 수 있거나 또는 데이터의 적어도 일부가 원격에 저장될 수 있다. 다른 애플리케이션(예컨대, 웹-기반 애플리케이션)이 하나 이상의 네트워크를 통하여 하나 이상의 컴퓨터와 대화하도록 구성될 수 있다. 예컨대, 웹-기반 이메일 애플리케이션은, 사용자가 이메일 애플리케이션을 사용하여 이메일을 확인하기를 원할 때 요청이 전자 디바이스로부터 이메일 애플리케이션을 호스팅하는 하나 이상의 원격-위치 서버로 송신되게 되도록, 하나 이상의 웹 서버에 의해 호스팅될 수 있다.
일부 실시예에 있어서, 전자 디바이스(102)는 전자 디바이스의 위치를 결정하도록 구성된 위치 센서(110)를 포함할 수 있다. 예컨대, 위치 센서는 디바이스의 위치에 대한 좌표를 결정하도록 구성된 전역 측위 시스템(global positioning system: GPS)일 수 있다. 일부 실시예는 맵 상에 전자 디바이스(102)의 위치를 디스플레이하도록 위치 센서(110)와 대화하는 애플리케이션을 포함할 수 있다. 위치 센서(110)는 어떠한 적합한 방식으로라도 구현될 수 있으며 본 발명의 실시예는 이에 관하여 한정되지 않는다.
위에서 간략히 논의된 바와 같이, 전자 디바이스(102)는 특정 사용자 또는 전자 디바이스에 특정적인 정보를 기술하는 사용자 데이터(112)를 저장할 수 있다. 예컨대, 사용자 데이터(112)는, 국한되는 것은 아니지만, 연락처 정보, 캘린더 정보, 사용자 선호도 정보, 거동 이력 정보, 및 위치 정보를 포함할 수 있다. 일부 실시예에 있어서, 사용자 데이터(112)는 또한 특정 사용자 계정 또는 디바이스와 연관된 음악 또는 사진 데이터와 같은 미디어 컨텐트 정보를 포함할 수 있다. 일부 실시예에 있어서, 적어도 일부의 사용자 데이터(112)는 적어도 하나의 네트워크를 통하여 전자 디바이스(102)가 액세스가능한 위치에 전자 디바이스(102)로부터 원격에 저장될 수 있다. 예컨대, 적어도 일부의 사용자 데이터(112)는 네트워크(160)를 통하여 전자 디바이스(102)가 액세스가능한 네트워크 저장소(150)에 저장될 수 있다. 전자 디바이스로부터 원격에 저장되는 데이터는 흔히 "클라우드에" 저장되는 데이터라고 지칭되며, 그러한 데이터는 보통은 동일 사용자에 의해 다수의 디바이스로부터 액세스가능하다. 전자 디바이스(102)가 액세스가능한 어떠한 적합한 위치에라도 사용자 데이터(112)가 저장될 수 있으므로 사용자 데이터(112)가 저장되는 특정 방식은 본 발명의 실시예를 한정하는 태양이 아니다.
전자 디바이스(102)는 또한 네트워크(160)를 통하여 네트워크 저장소(150) 및 다른 전자 디바이스(예컨대, 셀 폰(130) 및 태블릿 컴퓨터(140))로 그리고 그로부터 통신을 송신 및 수신하도록 구성된 통신 인터페이스(120)를 포함한다. 본 발명의 실시예는 채용되는 특정 네트워크 구현 상세에 의해 한정되지 않으므로 통신은 어떠한 적합한 프로토콜 및 어떠한 적합한 메시지 포맷이라도 사용하여 네트워크(160)를 통해 송신될 수 있다.
일부 실시예에 있어서, 전자 디바이스(102)는 또한 가상 에이전트(114)를 포함한다. 사용자는 전자 디바이스를 제어하는 것(예컨대, 메시지 송신하기, 통화하기, 애플리케이션 열기) 또는 컨텐트 및 애플리케이션에 액세스하는 것(예컨대, 웹 검색, 웹사이트 상에 정보 게시)과 같은 소정 범위의 기능을 수행하도록 가상 에이전트(114)와 대화할 수 있다. 일부 실시예에 있어서, 가상 에이전트(114)는 위에서 설명된 기능 및 아래에 더 상세히 설명되는 바와 같은 다른 기능을 수행하도록 사용자 데이터(112) 및 다른 애플리케이션(108)과 통신하는 애플리케이션으로서 구현될 수 있다. 시스템(100) 내 모든 디바이스가 가상 에이전트와 연관되는 것은 아닐 수 있으며, 본 발명의 실시예는 이에 관하여 한정되지 않는다. 아래에 더 상세히 논의되는 바와 같이, 가상 에이전트와 연관되지 않은 전자 디바이스는 관용적 포맷(예컨대, 문자 메시지, 이메일, 전화 통화 등)으로 통신을 수신할 수 있는 반면, 가상 에이전트와 연관된 전자 디바이스는 본 발명의 일부 실시예에 따라 강화된 사용자 체험 및 증가된 통신 기능성을 이용할 수 있다.
가상 에이전트는 어떠한 적합한 방식으로라도 특정 사용자 및/또는 디바이스와 연관될 수 있다. 일부 실시예에 있어서, 가상 에이전트는, 위에서 설명된 바와 같이, 사용자의 전자 디바이스 상에서 실행되는 애플리케이션일 수 있다. 그러한 실시예에 있어서, 가상 에이전트는 가상 에이전트가 설치되는 디바이스의 사용자와 연관된다. 다른 실시예에 있어서, 가상 에이전트는 사용자의 전자 디바이스 상에 설치되지 않고, 하나 이상의 네트워크를 통하여 사용자의 전자 디바이스가 액세스가능한 원격-위치에 위치하는 컴퓨터 상에서 주로 실행될 수 있다. 가상 에이전트가 사용자의 전자 디바이스로부터 원격에 위치하는 실시예에 있어서, 가상 에이전트는 사용자와 연관된 하나 이상의 전자 디바이스를 식별하는 적어도 하나의 식별자 및/또는 사용자를 식별하는 적어도 하나의 식별자를 포함할 수 있다. 이들 하나 이상의 식별자에 기반하여, 가상 에이전트는 "사용자와 연관된다"라고 생각될 수 있으며, 그 용어가 본 명세서에서 사용되는 바와 같다.
일부 실시예에 있어서, 가상 에이전트(114)는 사용자에 대한 연락처 정보 또는 일정 정보와 같은 사용자 데이터에 적어도 일부 기반하여 하나 이상의 액션을 수행하도록 구성될 수 있다. 예컨대, (예컨대, 이메일 또는 문자 메시지 애플리케이션처럼) 그 자신이 다른 디바이스에 통신을 송신 또는 수신하기보다는, 가상 에이전트는 가상 에이전트가 수행하도록 구성되는 태스크와 연관된 조건의 발생시 또는 사용자 입력을 해석하는 것에 응답하여 사용자를 대신하여 다른 디바이스에 하나 이상의 통신을 송신하라고 다른 애플리케이션에 지시할 수 있다.
일부 실시예에 있어서, 사용자 데이터와의 대화를 용이하게 하기 위하여, 가상 에이전트(114)는 가상 에이전트와 연관된 특정 사용자에 대한 사용자 데이터를 취합하도록 구성될 수 있다. 예컨대, 사용자에 대한 일정 정보는 웹-기반 캘린더, 로컬 애플리케이션 캘린더, 및 태스크 리스트를 포함하는 다수의 소스에 존재하고 있을 수 있다. 가상 에이전트(114)는 이들 다수의 소스(및 다른 것들도 가능)에 걸친 일정 정보를 취합하도록 구성될 수 있고, 취합된 사용자 데이터는 가상 에이전트에 의한 질의를 위해 저장될 수 있다. 다수의 소스로부터 사용자 데이터를 취합함으로써, 가상 에이전트는 여러 다른 소스에 별개로 질의해야 함이 없이 사용자의 사용자 데이터의 더 포괄적 파악을 신속히 결정할 수 있을 수 있다. 그렇지만, 모든 실시예가 사용자 데이터의 취합을 요구하는 것은 아님을 인식하여야 한다. 오히려, 일부 실시예에 있어서, 가상 에이전트는 가상 에이전트에 할당된 특정 태스크(예컨대, 일정 정보 관리) 동안 다수의 소스에 질의할 수 있다. 또 다른 실시예에서는, 일부 사용자 데이터만이 취합될 수 있는 한편 다른 사용자 데이터는 취합되지 않는다. 부가적으로, 일정 데이터 이외의 사용자 데이터가 대안으로 취합될 수 있고, 일정 데이터는 취합될 수 있는 데이터의 유형의 일례로서 제공될 뿐이다.
사용자 데이터는 어떠한 적합한 방식으로라도 취합 및 저장될 수 있다. 예컨대, 적어도 일부의 취합된 사용자 데이터는 사용자의 전자 디바이스 상에 로컬 저장될 수 있고 그리고/또는 취합된 사용자 데이터는 하나 이상의 네트워크를 통하여 사용자의 가상 에이전트가 액세스가능한 하나 이상의 네트워크-접속된 데이터스토어 상에 적어도 일부 저장될 수 있다. 일부 실시예에서는, "클라우드에" 사용자 데이터의 저장이 선호되는데, 그때는 사용자에 의해 사용되는 다수의 전자 디바이스 및/또는 다른 사용자의 가상 에이전트가 그 사용자 데이터에 액세스하도록 허가되는 경우는 다른 사용자의 가상 에이전트가 사용자 데이터에 액세스가능하게 될 수 있기 때문이다. 특정 사용자에 대해 가상 에이전트에 의해 취합된 데이터는 주기적으로 업데이트될 수 있고 그리고/또는 사용자 데이터는 사용자 요청에 응답하여 업데이트될 수 있다. 사용자 데이터가 업데이트되는 특정 방식은 본 발명의 실시예의 한정은 아니다.
일부 실시예에 있어서, 하나의 사용자와 연관된 가상 에이전트는 하나 이상의 액션을 수행하도록 다른 사용자와 연관된 가상 에이전트와의 통신 세션을 인보크할 수 있다. 가상 에이전트들 간의 통신 세션은 전경에서 하나 이상의 액션을 수행하도록 사용자 입력에 응답하여 인보크될 수도 있고 그리고/또는 가상 에이전트들 간의 통신 세션은, 사용자 입력 없이, 배경에서 하나 이상의 액션을 수행하도록 사용자 입력 없이 자동으로 인보크될 수도 있다. 본 명세서에서의 개시에 있어서, 통신 세션을 인보크하는 가상 에이전트와 연관된 사용자는 소위 "송신자"라고 하며, 송신자의 가상 에이전트로부터 통신을 수신하는 가상 에이전트와 연관된 사용자는 소위 "수신자"라고 한다. 부가적으로, 송신자의 전자 디바이스는 보통 본 명세서에서는 "송신 디바이스"라고 지칭되며, 수신자의 전자 디바이스는 보통 본 명세서에서는 "수신 디바이스"라고 지칭된다. 그렇지만, 어떠한 전자 디바이스라도 통신을 송신 및 수신할 수 있으며 이러한 술어는 어떠한 특정 디바이스의 기능성도 한정하는 것은 아님을 인식하여야 한다.
사용자 입력에 응답하여 에이전트 통신 세션을 인보크하기 위한 일례의 프로세스가 도 2에 예시되어 있다. 단계(210)에서, 사용자 입력은 전자 디바이스의 사용자로부터 수신된다. 위에서 논의되는 바와 같이, 음성 인터페이스를 포함하는 일부 실시예에 있어서, 사용자 입력은 다른 사용자에 대한 적어도 하나의 다른 가상 에이전트에 의한 참여를 포함하는 하나 이상의 액션을 수행하라는 가상 에이전트에 대한 요청을 포함하는 음성 입력을 포함할 수 있다. 예컨대, 사용자(즉, 송신자)는 "존은 어디에 있니?"라고 가상 에이전트에 물을 수 있다. 이러한 질문에 응답하여, 가상 에이전트는 송신자가 존이라는 이름의 다른 사용자(즉, 수신자)의 위치에 대한 정보를 좋아할 것이라고 결정할 수 있고, 가상 에이전트는 의도된 수신자 사용자, 존에 대한 연락처 정보를 결정하려는 시도로 사용자 데이터(예컨대, 저장된 연락처, 일정 정보 등)와 대화할 수 있다.
사용자 입력을 수신하는 것에 응답하여, 프로세스는 다른 가상 에이전트와의 통신 세션이 인보크되어야 하는지 결정되는 단계(210)로 진행한다. 이러한 결정은, 적어도 일부, 수신된 사용자 입력에 기반할 수 있고 그 결정은 어떠한 적합한 방식으로라도 이루어질 수 있다. 일부 실시예에 있어서, 다른 가상 에이전트와 통신할지 여부의 결정은 다른 사용자와 연관된 가상 에이전트와의 통신 세션을 인보크하기 위한 하나 이상의 트리거 용어를 식별하도록 사용자 입력의 컨텐트를 평가함으로써 이루어진다. 예컨대, 사람의 이름과 연관하여 사용되는 "어디", "집" 및 "가는 중"과 같은 트리거 용어는 사용자의 의도가 위치 정보와 관련된 통신 세션을 인보크하려는 것임을 나타낼 수 있다. 위에서 논의된 예(즉, "존은 어디에 있니")에 대응하는 사용자 입력을 수신하는 것에 응답하여, 송신자에 대한 가상 에이전트는 사람의 이름 "존"이 뒤따르는 트리거 용어 "어디에"를 인식할 수 있고 송신자가 존에 대한 위치 정보를 알기를 원한다고 결정할 수 있다. 가상 에이전트는 또한 의도를 결정하도록 시계 시각, 위치, 사용자 이력 또는 어떤 조합과 같은 다른 정황 데이터를 편입할 수 있다. 연락처 내에 "존"에 대한 다수의 목록이 있으면, 에이전트는 사용자가 어느 "존"과 가장 정기적으로, 또는 전형적으로는 그 위치 또는 시계 시각에서 통신하는지 살펴볼 수 있다. 다른 일례에 있어서, 송신자는 "내가 가는 중이고 20분 내에 거기 가 있게 될 거라고 존에게 말해줘"라고 말할 수 있다. 이러한 입력을 수신하는 것에 응답하여, 가상 에이전트는 존이라는 이름의 사용자와 연관하여 사용된 트리거 용어 "가는 중"을 식별할 수 있고, 사용자의 현재 위치 및 추정 도착 시간을 존에게 알려주기를 송신자가 원한다고 결정할 수 있다.
일부 실시예에서는, 이러한 정보를 포함하는 메시지(예컨대, 문자 메시지)를 수신자의 전자 디바이스에 송신함으로써 사용자(즉, 수신자)의 전자 디바이스에 정보가 송신될 수 있다. 예컨대, 위의 예에 있어서, 존이 (예컨대, 그의 전자 디바이스가 가상 에이전트 애플리케이션을 포함하지 않기 때문에) 가상 에이전트와 연관되어 있지 않으면, 존의 전자 디바이스는 "내가 가는 중이고 20분 내에 거기 가 있게 될 거야"라는 컨텐트를 포함하는 문자 메시지를 송신자로부터 수신할 수 있다. 그렇지만, 존의 전자 디바이스가 가상 에이전트와 연관되어 있으면, 인커밍 통신은 , 아래에 더 상세히 논의되는 바와 같이, 더 풍부한 사용자 체험을 제공하도록 존의 가상 에이전트에 의해 해석될 수 있다. 송신자는 수신자가 수신자의 디바이스 상에서 실행되는 호환가능한 가상 에이전트를 갖고 있는지 선험적으로 알고 있지는 않을 수 있기 때문에, 송신자의 디바이스는 메시지를 송신하기 전에 수신자의 디바이스 상에 제2 에이전트가 존재하는지 결정하도록 수신자의 디바이스에 아웃고잉 통신을 제공할 수 있다. 수신자의 디바이스의 응답에 기반하여, 제1 에이전트는 송신할 메시지의 적합한 유형을 해석할 수 있다. 수신자가 가상 에이전트와 연관되어 있지 않으면, 송신자로부터 수신되는 통신 내 컨텐트의 적어도 일부는 여전히 수신자의 디바이스 상에 (예컨대, 문자 메시지로서) 디스플레이될 수 있다. 따라서, 본 발명의 일부 실시예는 그러한 디바이스의 사용자와 연관된 가상 에이전트가 있는 또는 없는 전자 디바이스 간 통신을 감안하며, 가상 에이전트와 연관되지 않은 사용자는 관용적-유형의 메시지(예컨대, 문자 메시지, 인스턴트 메시지, 이메일 메시지, 웹-기반 애플리케이션 등)를 수신하고 가상 에이전트와 연관된 사용자는, 송신자의 가상 에이전트와의 응답형 통신을 제공하는 것을 포함하여, 풍부한 사용자 체험을 제공하도록 그들 가상 에이전트에 의해 해석될 수 있는 방식으로 컨텐트를 수신한다.
위의 예들이 위치 정보와 관련된 통신을 설명하고 있기는 하지만, 다른 유형의 정보가 또한 본 발명의 실시예에 따라 에이전트-대-에이전트 통신을 사용하여 공유 및/또는 요청될 수 있다. 예컨대, 요청 또는 통신될 수 있는 다른 유형의 정보는, 국한되는 것은 아니지만, 일정 정보, 사용자 컨텐트 정보(예컨대, 연락처 정보 또는 다른 사용자 데이터), 및 위치 정보, 일정 정보 및 사용자 컨텐트 정보의 어떠한 조합이라도 포함한다. 일부 실시예에 있어서, 각각의 유형의 정보는 사용자의 의도를 가상 에이전트에 알려주도록 가상 에이전트에 의해 인식되는 트리거 단어와 연관될 수 있다. 예컨대, 수신자 사용자의 이름과 연관하여 사용될 때 "예정", "언제" 및 "이용가능"과 같은 트리거 용어는 수행될 액션이 일정 정보와 관련됨을 나타낼 수 있고, "공유" 또는 "연락처"와 같은 트리거 용어는 수행될 액션이 사용자 컨텐트 정보를 요청 또는 제공하는 것과 관련됨을 나타낼 수 있다. 이들 트리거 용어는 단지 예시적 목적으로 제공될 뿐이며 어떠한 적합한 용어, 문구 또는 정황 데이터(예컨대, 위치, 시계 시각, 거동 이력 등)라도 송신자의 의도를 결정하도록 본 발명의 실시예에 따라 가상 에이전트에 의해 사용될 수 있음을 인식하여야 한다.
도 2의 프로세스로 돌아가, 단계(220)에서 사용자가 다른 가상 에이전트와의 통신 세션을 인보크하려는 의도가 아니라고 결정되면, 프로세스는 액션이 사용자 입력에 기반하여 수행되는 단계(222)로 진행한다. 예컨대, 사용자 입력이 "영화관이 어디에 있니?"이면, 사용자의 가상 에이전트는 그 입력이 트리거 용어 "어디에"를 포함하고 있더라도 용어 "영화관"이 다른 사용자를 지칭하는 것은 아니라고 결정할 수 있다. 따라서, 가상 에이전트는 다른 가상 에이전트와의 통신 세션이 수행할 적합한 액션이 아니라고 결정할 수 있고, 대신에 가상 에이전트는 사용자의 위치 가까이의 영화관에 대한 웹 검색 또는 어떤 다른 적합한 액션과 같은 다른 액션을 수행할 수 있다.
단계(220)에서 다른 사용자에 대한 가상 에이전트와의 통신 세션이 인보크되어야 한다고 결정되면, 프로세스는 수신자의 가상 에이전트로의 아웃고잉 통신의 컨텐트가 결정되는 단계(230)로 진행한다. 가상 에이전트는 어떠한 적합한 방식으로라도 아웃고잉 통신의 컨텐트를 결정할 수 있다. 일례에 있어서, 사용자 입력이 "존이 어디에 있니?"이면, 가상 에이전트는 아웃고잉 통신이 수신자 존의 위치에 대한 요청을 포함하여야 한다고 결정할 수 있고, 이러한 요청은, 아래에 더 상세히 논의되는 바와 같이, 존과 연관된 가상 에이전트를 사용하여 전자 디바이스에 송신될 수 있다.
일부 사례에 있어서, 아웃고잉 통신의 컨텐트는 하나보다 많은 유형의 정보를 포함하는 요청을 포함할 수 있다. 예컨대, 사용자 입력이 "존이 언제 경기에 도착할 것으로 예상되니?"이면, 송신자의 가상 에이전트는, 경기에 존의 예상 도착 시간을 결정하기 위하여, 송신자의 가상 에이전트가 존의 위치, "경기"의 위치, 및 예컨대 존의 현재 속도에 기반하여 존이 그의 현재 위치와 경기의 위치 간 이동에 얼마나 오래 걸릴지를 알고 있을 필요가 있을 것임을 이해할 수 있다. 이러한 예에 있어서, 송신자의 가상 에이전트는 사용자가 사용자 입력 내 하나 이상의 용어에 의해 무엇을 의미할 것 같은지 식별함으로써 송신자의 의도를 결정하려 시도할 수 있다. 예컨대, 가상 에이전트는 송신자의 사용자 데이터(예컨대, 송신자의 연락처 정보)와 대화함으로써 의도된 수신자 존을 식별하려 시도할 수 있다. 가상 에이전트가 의도된 수신자를 식별할 수 없으면, 가상 에이전트는 더 많은 정보를 제공하도록 사용자에게 프롬프트(prompt)할 수 있다. 가상 에이전트는 또한 송신자의 사용자 데이터에 적어도 일부 기반하여 "경기"의 의도된 의미를 알아내려 시도할 수 있다. 예컨대, 가상 에이전트는 경기의 유형(예컨대, 야구 경기, 축구 경기 등)에 대응하는 예정된 이벤트가 있는지 결정하도록 송신자의 일정 정보와 대화할 수 있다. 이러한 조사에 기반하여, 가상 에이전트는 "경기"의 정체를 결정할 수 있고, 또한 가능하게도 예정된 이벤트 내 정보에 기반하여 가상 에이전트에 의해 경기의 대응하는 위치가 추론될 수 있다.
일부 실시예에 있어서, 송신자의 가상 에이전트는, 수신자에 대한 가상 에이전트가 할 수 있을 수는 있더라도, 사용자 입력 내 소정 용어의 의미를 결정할 수 있지 않을 수 있다. 그러한 사례에 있어서, 아웃고잉 통신은 송신자의 가상 에이전트가 소정 용어를 해석할 수 없다는 표시, 및 수신자의 가상 에이전트가 그들 용어를 해석할 수 있는지 알아보라는 수신자의 가상 에이전트로의 요청을 포함할 수 있다. 일부 실시예에 있어서, 모든 사용자 입력은 수신자의 가상 에이전트에 전송될 수 있고 수신자의 가상 에이전트는 송신자의 가상 에이전트의 해석의 (예컨대, 수신자의 사용자 데이터에 기반하여) 확인을 제공할 수 있다. 다른 실시예에서는, 사용자 입력의 일부만이 수신자의 가상 에이전트에 전송될 수 있고, 본 발명의 실시예는 가상 에이전트들 간에 통신되는 데이터량에 의해 한정되지는 않는다.
의도된 수신자에 대한 연락처 정보가 송신자의 사용자 데이터에 기반하여 식별되면, 가상 에이전트는 식별된 연락처 정보에 적어도 일부 기반하여 아웃고잉 통신을 생성할 수 있다. 일부 실시예에 있어서, 가상 에이전트가 송신자의 사용자 데이터로부터 의도된 수신자를 고유하게 식별하지 못하면, 가상 에이전트는 더 많은 정보를 제공하여 모호성을 해결하도록 사용자에게 프롬프트할 수 있다.
아웃고잉 통신에 포함시킬 적합한 컨텐트를 결정한 후에, 도 2의 프로세스는 아웃고잉 통신이 수신 사용자의 전자 디바이스에 송신되는 단계(240)로 진행한다. 일부 실시예에 있어서, 사용자 데이터는 사용자의 연락처 리스트 내 하나 이상의 연락처에 통신을 송신하기 위한 선호도 정보를 포함할 수 있고, 아웃고잉 통신은 그 특정 사용자에 대해 선호되는 통신 방법을 사용하여 수신자의 사용자 디바이스에 송신될 수 있다. 위의 예에 있어서, 송신자의 사용자 데이터는 송신자가 문자 메시징을 사용하여 의도된 수신자 "존"에 통신을 송신하기를 일반적으로 선호함을 나타낼 수 있다. 따라서, 의도된 수신자가 존이라고 결정하는 것에 응답하여, 송신자의 가상 에이전트는 아웃고잉 통신을 생성하여 문자 메시지로서 존의 전자 디바이스에 송신할 수 있다. 인커밍 문자 메시지를 수신 시에, 그리고 수신 전자 디바이스가 가상 에이전트와 연관되어 있으면, 가상 에이전트는, 아래에 더 상세히 논의되는 바와 같이, 적어도 하나의 액션을 수행하도록 문자 메시지 내 정보를 해석할 수 있다. 존의 디바이스가 가상 에이전트와 연관되어 있지 않으면, 디바이스는 관용적 포맷으로 인커밍 문자 메시지를 디스플레이할 수 있다.
일부 실시예에 있어서, 가상 에이전트는 가상 에이전트와 연관된 사용자에 대한 사용자 선호도를 학습할 수 있다. 가상 에이전트는 어떠한 적합한 방식으로라도 사용자 선호도를 학습할 수 있다. 예컨대, 가상 에이전트는 사용자가 특정 유형의 통신을 송신하기를 선호할 때를 나타내는 하나 이상의 거동 변수를 추적함으로써 사용자 선호도를 학습할 수 있다. 사용자 선호도를 학습하기 위해 추적될 수 있는 거동 변수는, 국한되는 것은 아니지만, 사용 빈도, 시계 시각 및 요일을 포함할 수 있다. 부가적으로, 사용자 선호도는 특정 의도된 수신자에 특정적일 수 있다. 일부 실시예에 있어서, 사용자 선호도는 특정 사용자와 연관된 사용자 데이터로서 저장될 수 있기는 하지만, 사용자 선호도가 저장되는 특정 방식이 본 발명의 실시예를 한정하는 태양은 아니다.
단계(240)에서 아웃고잉 통신을 송신한 후에, 프로세스는 옵션으로서 응답 통신이 아웃고잉 통신을 송신받은 전자 디바이스로부터 송신 전자 디바이스에 의해 수신되는 단계(250)로 진행한다. 응답 통신은 수신 디바이스에 송신된 아웃고잉 통신에 대응하는 어떠한 적합한 정보라도 포함할 수 있다. 예컨대, 응답 통신은 아웃고잉 통신이 수신 전자 디바이스에 의해 수신되었다는 확인을 포함할 수 있다. 응답 통신은 또한 아웃고잉 통신에 포함된 하나 이상의 요청에 응답하여 정보를 포함할 수 있다(예컨대, 수신 사용자의 위치에 대한 요청에 응답하여 수신 사용자의 위치). 응답 통신은 또한 아웃고잉 통신 내 요청(들)에서 특정된 하나 이상의 액션을 수행하기 이전에 부가적 정보를 제공하도록 수신 사용자의 가상 에이전트로부터의 하나 이상의 요청을 포함할 수 있다. 통신은 액션(들)이 수행되었거나 사용자 중 하나가 통신을 취소하였을 때까지 송신자 및 수신자에 대한 가상 에이전트들 간에 계속될 수 있다.
가상 에이전트들 간의 통신이 액션을 수행(예컨대, 사용자의 캘린더에 기반하여 약속을 예정)하기 위해 사용자 중 하나 또는 둘 다로부터의 대화를 요구하지 않을 수 있기는 하지만, 일부 실시예에서는 액션을 실제로 수행하기 이전에 그 액션을 확인해주도록 사용자 중 하나 또는 둘 다에게 프롬프트할 수 있다. 예컨대, 비공개 정보(예컨대, 사용자의 위치)라고 생각될 수 있는 정보를 제공하는 것은, 일부 실시예에서는, 그 정보를 다른 사용자에게 제공하기 이전에 사용자 확인을 요구할 수 있다. 가상 도우미 간 정보를 공유하는 것에 관한 제한은 어떠한 적합한 방식으로라도 구현될 수 있고 본 발명의 실시예는 이에 관하여 한정되지 않는다.
일부 실시예에 있어서, 하나 이상의 태스크는 하나의 사용자의 가상 에이전트와 하나 이상의 다른 사용자의 가상 에이전트들 간의 통신이 가상 에이전트와 연관된 사용자로부터의 개입하는 입력이 있거나 없이 배경에서 일어나게 되도록 가상 에이전트에 위임될 수 있다. 프로세스를 시작하도록 사용자 입력을 요구함이 없이 태스크를 관리하기 위한 일례의 프로세스가 도 3에 예시되어 있다. 단계(310)에서 에이전트는 할당된 태스크와 연관된 조건이 발생했는지 결정하도록 사용자 데이터를 모니터링한다.
하나의 예시적 예에 있어서, 가상 에이전트에 할당된 태스크는 사용자에 대한 일정 정보에 포함된 사용자의 이벤트 및 약속을 관리하는 것일 수 있고, 가상 에이전트가 모니터링하도록 구성될 수 있는 조건은 사용자가 예정된 이벤트에 늦을 것 같은지일 수 있다. 가상 에이전트는 어떠한 적합한 방식으로라도 이러한 결정을 할 수 있다. 예컨대, 제1 사용자와 연관된 가상 에이전트는 제1 사용자가 특정 레스토랑에서 오후 12:00에 제2 사용자와 예정된 점심 미팅을 갖는다고 결정하도록 제1 사용자에 대한 사용자 데이터와 대화할 수 있다. 가상 에이전트는 또한, 예컨대, 제1 사용자의 전자 디바이스에 포함된 위치 센서를 사용하여 제1 사용자의 위치를 결정할 수 있다. 시간이 예정된 이벤트를 향하여 다가옴에 따라(예컨대, 예정된 이벤트 15분 전), 가상 에이전트는 제1 사용자가 예정된 미팅에 대해 정시에 레스토랑에 도착할 것 같은지 결정하도록 제1 사용자의 위치와 레스토랑의 위치를 비교할 수 있다. 이러한 결정은 어떠한 적합한 방식으로라도 이루어질 수 있고, 본 발명의 실시예는 가상 에이전트가 2개의 위치 간 추정 이동 시간을 결정하는 특정 방식으로 한정되지 않는다.
조건이 발생했는지 결정(예컨대, 사용자가 예정된 이벤트를 위한 시간이 있을 것 같지 않은지 결정)하는 것에 응답하여, 프로세스는 사용자가 조건의 발생에 대해 경보를 받아야 하는지 결정되는 단계(312)로 진행한다. 사용자에게 경보를 줄 것인지의 결정은 가상 에이전트에 위임된 태스크의 유형에 적어도 일부 결정의 기반을 두는 것을 포함하여 어떠한 적합한 방식으로라도 이루어질 수 있다. 위에 설명된 예에 있어서, 사용자가 예정된 미팅에 늦을 것이라고 가상 에이전트가 결정할 때, 가상 에이전트는 그들이 미팅에 늦을 것 같다고 사용자에게 경보를 줄 수 있고, 프로세스는 아웃고잉 통신이 제1 사용자가 예정된 미팅에 늦을 것이라고 그들에게 알려주도록 제2 사용자의 디바이스에 송신되어야 하는지 사용자에게 프롬프트할 수 있는 단계(314)로 진행한다. 아래에 더 설명되는 바와 같이, 가상 에이전트에 위임된 다른 태스크는 사용자로부터의 확인 또는 대화 없이 수행될 수 있고, 실시예는 이에 관하여 한정되지 않는다.
단계(314)에서의 경보에 대한 사용자 응답에 응답하여 또는 가상 에이전트에 위임된 태스크의 유형이 사용자 경보를 요구하지 않는다고 단계(312)에서 결정되면, 프로세스는 적어도 하나의 다른 사용자가 조건의 발생에 대해 경보를 받아야 하는지 결정되는 단계(316)로 진행한다. 단계(316)에서 아웃고잉 통신이 적어도 하나의 다른 사용자에게 송신되어야 한다고 결정되면, 프로세스는 통신이 적어도 하나의 다른 에이전트에 송신되는 단계(318)로 진행한다.
위의 예에 있어서, 제1 사용자가 예정된 미팅에 늦을 것이라고 결정하는 것에 응답하여, 가상 에이전트는 제1 사용자가 늦을 것이라고 제2 사용자에게 알려주도록 제2 사용자의 전자 디바이스에 아웃고잉 통신을 송신할 수 있다. 일부 실시예에 있어서, 아웃고잉 통신은, 국한되는 것은 아니지만, 제1 사용자의 현재 위치, 및 예정된 미팅에 제1 사용자의 추정 도착 시간에 대한 정보를 포함하는 다른 정보 역시 포함할 수 있다. 일부 실시예에 있어서, 제1 사용자의 가상 에이전트 및 제2 사용자의 가상 에이전트는 예정된 미팅에 사용자들의 추정 도착 시간의 하나 이상의 실시간 업데이트를 제공하도록 제1 사용자의 위치 및/또는 제2 사용자의 위치에 대한 정보를 계속 통신할 수 있다. 예컨대, 제1 사용자가 예정된 미팅에 30분 늦을 것 같다고 제1 사용자에 대한 가상 에이전트가 결정하면, 제1 사용자의 가상 에이전트는 제1 사용자의 예상된 도착 직전에 그리고/또는 제1 사용자가 예정된 미팅 장소에 도착할 때 제2 사용자에 대한 가상 에이전트에 후속 통신을 송신할 수 있다.
수신되고 나면, 제2 사용자와 연관된 가상 에이전트는 조건의 발생에 대해 제2 사용자에게 경보를 주도록 아웃고잉 통신 내 정보를 해석할 수 있다. 위에서 설명된 바와 같이, 수신된 통신은 제1 사용자의 현재 위치를 식별하는 맵 애플리케이션으로의 링크와 같은 부가적 정보를 포함할 수 있다. 제1 사용자로부터의 통신을 수신하는 것에 응답하여, 제2 사용자의 가상 에이전트는 제2 사용자의 전자 디바이스 상에 맵을 디스플레이하여 제1 사용자의 현재 위치 및/또는 추정 도착 시간을 보여주도록 통신을 해석할 수 있다. 위에서 논의된 바와 같이, 제2 사용자의 전자 디바이스가, 예컨대, 제1 사용자의 위치의 맵을 디스플레이하도록 수신된 통신을 해석할 수 있는 호환가능한 가상 에이전트를 포함하고 있지 않으면, 제2 사용자는 문자-기반 애플리케이션(예컨대, 이메일 또는 문자 메시징 애플리케이션)과 같은 관용적 통신 애플리케이션을 사용하여 여전히 경보를 받을 수 있다.
일부 실시예에 있어서, 가상 에이전트에는 특정 조건의 발생에 응답하여 사용자에게 경보를 주는 것을 요구하지 않는 이벤트를 모니터링하는 태스크가 할당될 수 있다. 사용자에 대한 전자 디바이스가 특정 모드(예컨대, 무음 모드 또는 진동 모드)로 들어가 있을 때 또는 전자 디바이스가 꺼져 있으면, 사용자와 연관된 가상 에이전트에는 디바이스로의 인커밍 통신을 모니터링하고 사용자가 현재 이용가능하지 않다는 응답 통신을 인커밍 메시지의 송신자에게 송신하는 태스크가 할당될 수 있다. 본 발명의 일부 실시예에 있어서, 응답 통신은 인커밍 통신을 송신한 사용자와 연관된 가상 에이전트에 의해 해석될 수 있는 부가적 정보를 포함할 수 있다. 예컨대, 응답 메시지는 수신 사용자가 이용가능하게 될 때를 기술하는 정보를 포함할 수 있거나 또는 응답 메시지는 다른 포맷(예컨대, 전화 통화보다는 문자 메시지)을 사용하여 통신을 송신하도록 정보를 포함할 수 있다.
일부 실시예에 있어서, 가상 도우미는 전자 디바이스의 사용자에 대한 사용자 데이터와의 대화에 기반하여 전자 디바이스의 거동을 변경할 수 있다. 예컨대, 가상 도우미는 사용자의 일정 정보에 기반하여 사용자가 오후 1-2시에 미팅에 있을 것으로 예정되어 있다고 결정할 수 있다. (예컨대, 오후 1시이기 때문에) 사용자가 미팅에 있다고 가상 에이전트가 결정할 때, 가상 에이전트는 무음 또는 진동 모드로 자동으로 들어가라고 전자 디바이스에 명령할 수 있고, 그로써 전자 디바이스가 미팅에서 타인을 방해하지 않게 방지할 수 있다. 가상 에이전트는 또한 (예컨대, 오후 2시이기 때문에) 미팅이 끝났을 때를 결정할 수 있고 가상 에이전트는 무음/진동 모드를 빠져나가라고 전자 디바이스에 명령할 수 있다. 일부 실시예에서는, 무음/진동 모드를 빠져나가기 이전에, 무음/진동 모드를 빠져나가는 것이 소망되는지 확인해주도록 사용자에게 프롬프트할 수 있다.
본 발명의 일부 실시예에 따라 사용자의 전자 디바이스에 대한 인커밍 통신을 모니터링하기 위한 일례의 프로세스가 도 4에 예시되어 있다. 단계(410)에서는, 문자 메시지 또는 전화 통화와 같은 인커밍 통신이 사용자의 전자 디바이스에 의해 수신된다. 그 후 프로세스는 사용자가 현재 이용가능한지 수신 전자 디바이스와 연관된 가상 에이전트에 의해 결정되는 단계(412)로 진행한다. 사용자가 현재 이용가능한지의 결정은 어떠한 적합한 방식으로라도 이루어질 수 있다. 예컨대, 위에서 논의된 바와 같이, 전자 디바이스가 현재 무음 모드 또는 진동 모드와 같은 특정 모드에 있으면, 가상 에이전트는 사용자가 이용가능하지 않다고 결정할 수 있고, 프로세스는 인커밍 통신을 송신한 전자 디바이스에 아웃고잉 통신이 송신되는 단계(414)로 진행할 수 있다.
단지 사용자가 이용가능하지 않다고 나타내는 것보다는, 일부 실시예에 있어서, 아웃고잉 통신은 이용가능하지 않은 사용자가 통신하도록 이용가능할 수 있을 때를 인커밍 메시지를 송신한 사용자에게 알려주도록 부가적 정보를 포함할 수 있다. 예컨대, 사용자가 인커밍 통신을 수신하도록 이용가능하지 않다고 결정하는 것에 응답하여, 사용자의 가상 에이전트는 사용자가 통신하도록 다음에 이용가능할 때를 결정하기 위해 사용자에 대한 사용자 데이터(예컨대, 일정 정보)와 대화할 수 있다. 사용자 데이터를 참고한 후에, 가상 에이전트는 통신을 재예정하도록 하나 이상의 시간 선호도를 나타내는 정보를 아웃고잉 메시지에 포함시킬 수 있다. 통신을 재예정할 시간을 제안함으로써, 인커밍 통신을 송신한 사용자는 양 사용자에게 편한 시간을 선택할 수 있을 수 있다. 아웃고잉 통신이 송신된 후에, 프로세스는 2명의 사용자에 대한 가상 에이전트가 양 사용자에게 상호 수락될 수 있는 시간을 그들 일정 정보에 기반하여 교섭하도록 하나 이상의 추가적 통신을 송신할 수 있는 단계(316)로 진행한다.
일부 실시예에 있어서, 사용자는 다른 인커밍 메시지와는 다른 방식으로 소정 인커밍 메시지에 응답하도록 가상 에이전트를 구성할 수 있다. 예컨대, 인커밍 메시지가 수신 사용자의 연락처 중 하나로서 가상 에이전트에 의해 인식되는 사용자로부터인 것이면, 가상 에이전트는 상호 수락가능한 시간에 통신을 재예정하도록 송신 사용자의 가상 에이전트와 통신하도록 명령받을 수 있다. 그렇지만, 인커밍 메시지가 수신 사용자의 연락처에 있지 않은 사용자로부터인 것이면, 가상 에이전트는 통신을 재예정하지 않도록 명령받을 수 있다. 일부 실시예에 따라 가상 에이전트의 통신 거동을 수정하기 위한 선호도는 어떠한 적합한 방식으로라도 구현될 수 있고, 본 발명의 실시예는 이에 관하여 한정되지 않는다.
일부 실시예에 있어서, 전자 디바이스가 가상 에이전트로부터 인커밍 통신을 수신할 때, 수신 디바이스의 사용자와 연관된 가상 에이전트는 하나 이상의 액션을 수행하도록 인커밍 통신 내 정보를 해석할 수 있다. 본 발명의 일부 실시예에 따라 전자 디바이스에 의해 수신된 인커밍 통신을 프로세싱하기 위한 일례의 프로세스가 도 5에 예시되어 있다. 단계(510)에서는, 제1 사용자의 가상 에이전트로부터의 통신이 제2 사용자의 전자 디바이스에 의해 수신된다. 통신은 전자 디바이스가 인커밍 통신을 수신할 수 있는 어떠한 포맷으로라도 수신될 수 있다. 예컨대, 통신의 포맷은, 국한되는 것은 아니지만, 텍스트-기반 메시지, 인스턴트 메시지, 전화 통화 또는 비디오 채팅 세션으로서 될 수 있다. 수신 디바이스가 가상 에이전트와 연관되어 있으면, 가상 에이전트는 수신된 통신 내 정보의 컨텐트에 적어도 일부 기반하여 적어도 하나의 액션을 수행하도록 구성된다.
가상 에이전트는 통신의 컨텐트를 결정하도록 어떠한 적합한 방식으로라도 그 수신된 통신을 해석할 수 있고, 본 발명의 실시예는 이에 관하여 한정되지 않는다. 예컨대, 인커밍 메시지가 문자를 포함할 때, 가상 에이전트는 문자 중 어느 하나가 통신에 포함된 요청의 유형을 나타내는 하나 이상의 트리거 단어에 대응하는지 결정할 수 있다. 트리거 단어는 에이전트 통신 세션을 인보크하고 아웃고잉 통신의 컨텐트를 결정하는 것과 연관하여 위에서 논의된 트리거 단어와 동일하거나 다를 수 있다. 인커밍 통신이 특정 트리거 단어를 포함하는지 결정함으로써, 가상 에이전트는 인커밍 통신 내 요청의 프로세싱을 어떻게 진행할지 결정할 수 있다. 예컨대, 위치 정보와 관련된 트리거 단어가 인커밍 정보에 포함되어 있으면, 가상 에이전트는, 아래에 설명되는 바와 같이, 사용자의 위치를 공유하도록 확인을 위해 사용자에게 프롬프트하는 것을 포함하여 위치-기반 요청과 관련된 하나 이상의 액션을 수행할 수 있다. 다른 유형의 요청은, 국한되는 것은 아니지만, 일정 요청, 사용자 컨텐트 교환 요청, 및 다수 유형의 정보(예컨대, 위치 정보 및 일정 정보)를 포함하는 요청을 포함한다.
인커밍 통신 내 트리거 단어에 기반하여 인커밍 통신의 유형을 식별하는 것은 가상 에이전트가 인커밍 통신 내 컨텐트의 유형에 대한 정보를 결정할 수 있는 단지 하나의 방식이며 다른 방식도 고려된다고 인식하여야 한다. 예컨대, 일 구현에 있어서, 가상 에이전트들 간에 송신되는 통신은 통신 내 컨텐트의 유형의 표시를 제공하는 메타데이터와 연관될 수 있고, 가상 에이전트는 통신과 연관된 메타데이터에 적어도 일부 기반하여 컨텐트의 유형을 결정할 수 있을 수 있다.
인커밍 통신의 컨텐트를 결정하는 것에 응답하여, 프로세스는 인커밍 통신 내 요청 중 하나 이상에 따라 행동하도록 사용자 대화가 요구되는지 결정되는 단계(514)로 진행한다. 인커밍 통신 내 요청에 따라 행동하기 이전에 사용자 대화가 요구된다고 결정되면, 프로세스는 사용자 입력을 제공하여 계속하도록 사용자에게 프롬프트하는 단계(516)로 진행한다. 사용자 입력이 요구될 수 있는 일례는 인커밍 통신이 사용자의 위치 정보에 대한 요청을 포함하는 경우이다. 예컨대, 인커밍 통신이 "너 어디에 있니?"를 포함하면, 가상 에이전트는 인커밍 메시지를 송신한 사용자가 수신 사용자의 위치를 알고 있기를 원한다고 결정할 수 있다. 일부 사용자는 그들의 위치가 다른 사용자와 일반적으로는 공유되어서는 안 되는 비공개 정보라고 생각할 수 있다. 따라서, 인커밍 통신이 사용자의 위치에 대한 요청을 포함하고 있다고 결정하는 것에 응답하여, 수신 사용자의 가상 에이전트는 송신 사용자가 수신 사용자의 위치를 알고 있기를 그리고 이러한 정보가 송신 사용자와 공유될 수 있음을 확인해주기를 원한다는 표시를 사용자에게 전자 디바이스의 사용자 인터페이스 상에서 디스플레이할 수 있다. 대안으로, 또는 사용자 인터페이스 상에서 프롬프트를 디스플레이하는 것에 부가하여, 전자 디바이스는 음성 출력을 포함하는 어떤 다른 형태로 프롬프트를 제공할 수 있다.
위치 정보에 대한 요청 이외의 인커밍 통신이 또한 사용자 대화를 요구할 수 있다. 예컨대, 사용자로부터 가상 에이전트로부터의 인커밍 통신은 수신 사용자의 연락처에 연락처 정보를 부가하라는 요청을 포함할 수 있고, 요청이 수신 사용자에 대한 사용자 데이터를 수정하는 것이라고 결정하는 것에 응답하여, 수신 사용자의 가상 에이전트는 송신 사용자가 수신 사용자의 연락처에 연락처 정보를 부가하고 싶어한다고 나타내도록 사용자에게 프롬프트할 수 있다. 프롬프트를 수신하는 것에 응답하여, 수신 사용자는 인커밍 통신에 포함된 연락처 정보를 부가하라는 요청을 확인해주거나 일축할 수 있다.
일부 실시예에 있어서, 사용자는 특정 유형의 요청에 대해 사용자 대화가 요구되는지 그리고/또는 어떤 정보가 그 정보를 요청하는 모든 사용자 또는 특정 사용자와 공유될 수 있는지 결정하도록 사용자의 가상 에이전트가 참고할 수 있는 허가 및 프라이버시 허가를 설정할 수 있을 수 있다. 일부 실시예에 있어서, 적어도 일부의 허가 또는 프라이버시 허가는 가상 에이전트에 대한 애플리케이션 디자이너에 의해 설정될 수 있고, 사용자는 이들 허가를 변경할 수 있지 않을 수 있다. 예컨대, 가상 에이전트에 대한 애플리케이션 디자이너는 위치 정보를 공유하기 위해서는 사용자 프롬프트가 항상 요구되지만, 사용자 컨텐트 데이터를 공유하기 위해 사용자 프롬프트를 디스플레이하는 것과 관련된 허가는 사용자-구성가능하다고 결정할 수 있다. 이들 예는 단지 예시적 목적으로 제공되며 본 발명의 실시예를 한정하지는 않음을 인식하여야 한다.
도 5로 돌아가서, 사용자 대화가 요구되지 않는다고 단계(514)에서 결정되는 경우 또는 단계(516)에서 제시되는 프롬프트로부터 사용자 입력을 수신하는 것에 응답하여, 프로세스는 하나 이상의 액션이 인커밍 통신에 포함된 요청(들)에 응답하도록 가상 에이전트에 의해 수행되는 단계(518)로 진행한다. 예컨대, 인커밍 통신이 "너 어디에 있니?"를 포함하였고 수신 사용자가 사용자의 위치를 공유하도록 허가하였으면, 가상 에이전트는 사용자의 위치를 결정하도록 전자 디바이스의 위치 센서에 질의할 수 있다. 그 후 프로세스는 응답 통신이 인커밍 통신을 송신한 가상 에이전트에 송신되는 단계(520)로 진행할 수 있다. 사용자의 위치에 대한 요청에 있어서, 응답 통신은, 예컨대, 수신 사용자의 위치를 보여주는 맵 애플리케이션에 대한 웹 페이지로의 링크를 포함할 수 있다. 응답 통신을 수신하는 것에 응답하여, 위치 정보에 대한 요청을 발행한 에이전트는 요청 사용자의 디바이스 상에 다른 사용자의 위치를 보여주는 맵을 디스플레이할 수 있다. 이것은, 예컨대, 응답 통신 내 링크로 항행하도록 웹 브라우저 애플리케이션에 명령하는 요청 사용자의 가상 에이전트에 의해 달성될 수 있다.
일부 실시예에 있어서, 인커밍 통신은 다수의 요청을 포함할 수 있고, 수신 사용자의 가상에이전트는 요청에 따라 다수의 액션을 수행할 수 있다. 예컨대, 인커밍 통신은 "미팅이 지연될 거라고 데이브에게 말해주고 그가 언제 그것을 읽는지 나에게 알려줘"를 포함할 수 있다. 이러한 인커밍 통신에 응답하여, 수신 사용자(즉, 데이브)의 가상 에이전트는 2개의 액션을 수행하도록 명령받는다. 제1 액션은 예정된 미팅이 지연될 것임을 수신 사용자에게 알리는 것이고, 제2 액션은 수신 사용자가 지연될 것이라는 메시징에 대한 메시지를 언제 읽었는지 결정하도록 수신 사용자의 거동을 모니터링하는 것이다. 수신 사용자가 메시지에 액세스하였다고 결정하는 것에 응답하여, 수신 사용자의 가상 에이전트는 인커밍 통신 내 제2 요청을 이행하도록 요청 가상 에이전트에 응답 메시지를 송신할 수 있다. 따라서, 이러한 예에 있어서, 제1 사용자의 가상 에이전트는 제1 사용자를 대신하여 액션(이 경우에서는, 수신 사용자의 거동을 모니터링)을 수행하도록 제2 사용자의 가상 에이전트의 거동을 제어할 수 있다.
다수의 요청을 포함하는 인커밍 통신을 프로세싱하는 다른 일례는 "내 아내가 사무실을 이제 떠났어? 그녀가 언제 집에 있을지 알려주고 그녀가 5분 거리에 있을 때 알려줘"와 같은 인커밍 통신이다. 인커밍 통신은 사용자의 아내와 연관된 가상 에이전트가 수행하여야 하는 3개의 액션을 포함한다. 이러한 인커밍 통신을 수신하는 것에 응답하여, 아내의 가상 에이전트는 그녀가 그녀의 사무실에 대응하는 위치에 있는지 결정하도록 (예컨대, 아내의 전자 디바이스 상의 위치 센서에 질의함으로써) 아내의 위치를 결정할 것이다. 사용자의 아내가 그녀의 위치를 공유하도록 동의한다고 상정하면, 아내의 가상 에이전트는 그의 아내가 사무실을 떠났고 그녀가 집으로 가능 중이라고 사용자의 가상 에이전트에 알려줄 수 있다. 그 후 사용자의 가상 에이전트가 이러한 정보를 사용자의 전자 디바이스 상에 제시할 수 있다. 일부 실시예에 있어서, 이러한 응답 메시지는 또한 그녀의 위치를 맵 상에 디스플레이하도록 사용자의 가상 에이전트에 의해 사용될 수 있는 아내의 현재 위치에 대한 정보를 포함할 수 있다.
수행할 제2 액션은 아내가 집에 도착할 때를 추정하는 것이다. 아내의 현재 위치는 또한 그녀가 집에 있을 것으로 예상되는 추정 도착 시간을 결정하도록 사용될 수 있다. 이러한 결정은 어떠한 적합한 방식으로라도 이루어질 수 있고, 그 결정은 아내의 가상 에이전트 또는 사용자의 가상 에이전트의 지시 하에 이루어질 수 있다. 예컨대, 그 결정은, 국한되는 것은 아니지만, 아내가 그녀의 현재 위치로부터 집으로 운전하여 오는데 통상 얼마나 걸리는지, 현재 교통 상황, 및 아내의 현재 위치와 집 간 도로의 속도 제한을 포함하는 다양한 인자를 포함할 수 있다.
인커밍 통신 내 제3 액션은 아내가 집으로부터 5분 거리에 있을 때를 아내의 가상 에이전트가 사용자의 가상 에이전트에 통지하는 것이다. 일부 실시예에 있어서, 아내의 가상 에이전트는 아내의 현재 위치를 기술하는 주기적 업데이트를 사용자의 가상 에이전트에 제공할 수 있다. 다른 실시예에 있어서, 아내의 가상 에이전트는 단지 아내의 추이를 모니터링하고 그녀가 집으로부터 5분 거리에 있을 때를 추정할 수 있다. 이러한 조건이 만족될 때, 그 후 아내의 가상 에이전트는 그녀가 거의 집이라는 통신을 사용자의 에이전트에 송신할 수 있다.
일부 실시예에 있어서, 본 발명의 일부 실시예에 따른 에이전트-대-에이전트 통신은 여러 다른 사용자에 대한 다수의 가상 에이전트 간에 조율을 요구하는 태스크를 용이하게 하도록 사용될 수 있다. 예컨대, 사용자는 그의 친구 메간 및 벤과 3명의 사용자 모두에게 편한 시간에 저녁 식사를 하기를 원할 수 있다. 메간 및 벤의 각각에 대한 개개의 요청을 사용하여 통신하기보다는, 사용자는 사용자의 가상 에이전트에 다음과 같이 명령할 수 있다: "메간 및 벤이 토요일 저녁 식사를 위한 시간이 있으면 그들과 저녁 식사를 예정해줘". 응답하여, 사용자의 가상 에이전트는 사용자의 연락처 정보에 기반하여 메간 및 벤에 대한 연락처 정보를 결정하고 메간 및 벤에 대한 가상 에이전트에 아웃고잉 통신을 송신하여 그들이 토요일 저녁에 식사를 위한 시간이 있는지 그리고 언제인지, 그들의 저장된 사용자 데이터의 각각에 기반하여, 결정할 수 있다. 아웃고잉 통신에 있어서, 사용자의 가상 에이전트는 가상 에이전트가 아웃고잉 통신을 송신하기 이전에 액세스할 수 있는 사용자의 일정 정보에 기반하여 하나 이상의 제안된 시간을 포함할 수 있다. 메간 및 벤에 대한 가상 에이전트에 아웃고잉 통신을 송신하는 것에 응답하여, 사용자의 가상 에이전트는 그들의 이용가능성을 나타내는 응답 통신을 메간 및 벤에 대한 가상 에이전트로부터 수신할 수 있고 가상 에이전트는 사용자 전부가 상호 수락할 수 있는 시간을 계속 교섭할 수 있다. 수락가능한 시간이 결정된 후에, 사용자의 가상 에이전트의 각각은 대응하는 사용자의 일정 정보를 업데이트하고 저녁 식사가 예정되었다는 통지를 사용자에게 송신할 수 있다.
전술한 것으로부터 인식되는 것인 바와 같이, 사용자 데이터로의 액세스 및 허가 및 프라이버시 선호도와 연관하여 에이전트-대-에이전트 통신을 제공하는 본 발명의 실시예는 관용적 가상 에이전트 구현이 고려해보지 않고 전형적으로는 달성할 수 없는 기능성을 감안한다. 본 명세서에서 제공되는 예들은 단지 본 발명의 실시예에 의해 제공되는 기능성의 예로서 논의될 뿐이며, 적어도 2개의 가상 에이전트 간의 조율로부터 혜택을 볼 수 있는 어떠한 다른 기능성도 또한 가능하다.
본 명세서에서 설명되는 본 발명의 실시예 중 어느 하나와 연관하여 사용될 수 있는 클라이언트 컴퓨터 시스템(600)의 예시적 구현이 도 6에 도시되어 있다. 컴퓨터 시스템(600)은 하나 이상의 프로세서(610) 및 하나 이상의 컴퓨터-판독가능한 비-일시적 저장 매체(예컨대, 메모리(620) 및 하나 이상의 비-휘발성 저장 매체(630))를 포함할 수 있다. 프로세서(610)는 어떠한 적합한 방식으로라도, 본 명세서에서 설명되는 본 발명의 태양이 이에 관하여 한정되지는 않으므로, 메모리(620) 및 비-휘발성 저장 디바이스(630)에 데이터를 기록하고 그로부터 데이터를 판독하는 것을 제어할 수 있다. 본 명세서에서 설명되는 기능성 중 어느 하나를 수행하기 위하여, 프로세서(610)는, 프로세서(610)에 의한 실행을 위한 명령어를 저장하는 비-일시적 컴퓨터-판독가능한 저장 매체로서 역할할 수 있는, 하나 이상의 컴퓨터-판독가능한 저장 매체(예컨대, 메모리(620))에 저장된 하나 이상의 명령어를 실행할 수 있다.
클라이언트 컴퓨터(600)는 어떠한 특정 유형의 컴퓨터에 의해서도 한정되지 않으며, 국한되는 것은 아니지만, 핸드헬드 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 데스크톱 컴퓨터, 스마트폰, 및 웹 브라우저에서 웹 애플리케이션을 렌더링할 수 있는 어떠한 다른 유형의 컴퓨팅 디바이스라도 포함할 수 있다.
본 발명의 위-설명된 실시예는 수많은 방식 중 어느 하나로 구현될 수 있다. 예컨대, 실시예는 하드웨어, 소프트웨어 또는 그 조합을 사용하여 구현될 수 있다. 소프트웨어로 구현될 때, 소프트웨어 코드는, 단일 컴퓨터에 제공되든 다수의 컴퓨터 간 분산되든, 어떠한 적합한 프로세서 또는 프로세서 집합 상에서라도 실행될 수 있다. 위에서 설명된 기능을 수행하는 어떠한 컴포넌트 또는 컴포넌트 집합이라도 위-논의된 기능을 제어하는 하나 이상의 컨트롤러로서 포괄적으로 생각될 수 있음을 인식하여야 한다. 하나 이상의 컨트롤러는, 전용 하드웨어로 또는 위에서 나열된 기능을 수행하도록 마이크로코드 또는 소프트웨어를 사용하여 프로그래밍되는 범용 하드웨어로(예컨대, 하나 이상의 프로세서)와 같이, 수많은 방식으로 구현될 수 있다.
이에 관하여, 본 발명의 실시예의 하나의 구현은, 프로세서 상에서 실행될 때, 본 발명의 실시예의 위-논의된 기능을 수행하는 컴퓨터 프로그램(즉, 복수의 명령어)으로 인코딩된 적어도 하나의 비-일시적 컴퓨터-판독가능한 저장 매체(예컨대, 컴퓨터 메모리, 플로피 디스크, 콤팩트 디스크, 테이프 등)를 포함함을 인식하여야 한다. 컴퓨터-판독가능한 저장 매체는 거기에 저장된 프로그램이 본 명세서에서 논의된 본 발명의 태양을 구현하도록 어떠한 컴퓨터 자원 상으로라도 로딩될 수 있게 되도록 이동식일 수 있다. 부가적으로, 실행될 때, 위-논의된 기능을 수행하는 컴퓨터 프로그램에 대한 참조는 호스트 컴퓨터 상에서 실행되는 애플리케이션 프로그램으로 한정되지 않음을 인식하여야 한다. 그보다는, 용어 컴퓨터 프로그램은 본 명세서에서는 본 발명의 위-논의된 태양을 구현하기 위해 프로세서를 프로그래밍하도록 채용될 수 있는 어떠한 유형의 컴퓨터 코드(예컨대, 소프트웨어 또는 마이크로코드)라도 참조하도록 포괄적 의미로 사용된다.
본 발명의 다양한 태양은 단독으로, 조합하여, 또는 전술한 것에서 설명된 실시예에서는 구체적으로 논의되지 않은 각종 배열로 사용될 수 있고, 그래서 그들 애플리케이션에서는 전술한 설명에 제시되거나 도면에 예시된 컴포넌트의 상세 및 배열로 한정되지 않는다. 예컨대, 일 실시예에서 설명된 태양은 다른 실시예에서 설명된 태양과 어떠한 방식으로라도 조합될 수 있다.
또한, 본 발명의 실시예는 하나 이상의 방법으로서 구현될 수 있고, 그 일례가 제공되었다. 방법(들)의 일부분으로서 수행되는 단계는 어떠한 적합한 방식으로라도 순서가 정해질 수 있다. 따라서, 예시적 실시예에서는 순차적 단계로 도시되어 있더라도, 일부 단계들을 동시에 수행하는 것을 포함할 수 있는, 예시된 것과는 다른 순서로 단계가 수행되는 실시예가 구축될 수 있다.
청구항 구성요소를 수식하도록 청구범위에서 "제1", "제2", 및 "제3" 등과 같은 서수 용어의 사용은 그 자체로는 방법의 단계가 수행되는 시간적 순서 또는 다른 구성요소 대비 하나의 청구항 구성요소의 어떠한 우선순위, 선행 또는 순서도 내포하지 않는다. 그러한 용어는 소정 명칭을 갖는 하나의 청구항 구성요소를 (서수 용어의 사용이 아니었다면) 동일한 명칭을 갖는 다른 구성요소와 구별하는 라벨로서 사용될 뿐이다.
본 명세서에서 사용되는 어구 및 술어는 설명의 목적을 위한 것이며 한정으로 간주되어서는 아니된다. "포함하는", "포함하고 있는", "갖는", "들어있는", "관여시키는" 및 그 변형의 사용은 이후에 열거된 항목 및 부가적 항목을 아우르려는 의미이다.
본 발명의 수개의 실시예가 상세히 설명되었기는 하지만, 다양한 수정 및 개선이 당업자에게는 쉽게 떠오를 것이다. 그러한 수정 및 개선은 본 발명의 취지 및 범위 내에 있는 것으로 의도된다. 따라서, 전술한 설명은 단지 예로써이고, 한정으로 의도되는 것은 아니다. 본 발명은 단지 이하의 청구범위 및 그 균등물에 의해 정의된 대로 한정된다.
Claims (38)
- 가상 에이전트들 간에 통신하는 방법으로서, 상기 가상 에이전트의 각각은 사용자와 연관되어 있고, 상기 방법은,
제1 사용자로부터 입력을 수신하는 단계;
상기 제1 사용자와 연관된 제1 가상 에이전트에 의해, 제2 사용자와 연관된 제2 가상 에이전트와의 통신 세션을 인보크(invoke)할지 결정하는 단계; 및
상기 통신 세션을 인보크하기로 결정하는 것에 응답하여 상기 제2 가상 에이전트에 아웃고잉 통신을 송신하는 단계를 포함하는 것인 방법. - 제1항에 있어서,
상기 제2 가상 에이전트로부터, 상기 아웃고잉 통신에 대한 응답을 수신하는 단계를 더 포함하는 방법. - 제1항에 있어서, 상기 제1 사용자로부터의 상기 입력은 음성 입력을 포함하는 것인 방법.
- 제1항에 있어서, 통신 세션을 인보크할지 결정하는 단계는 상기 제1 사용자로부터의 상기 입력이 하나 이상의 트리거 용어 또는 관련 정황 데이터를 포함하는지 결정하는 단계를 포함하는 것인 방법.
- 제1항에 있어서,
상기 제1 사용자에 대한 사용자 데이터를 취합하는 단계로서, 상기 사용자 데이터는 다수의 정보 소스로부터 취합되는 것인, 상기 취합하는 단계;
취합된 상기 사용자 데이터를 저장하는 단계; 및
저장된 취합된 상기 사용자 데이터의 적어도 일부를 상기 제1 가상 에이전트에 의해 액세스하는 단계를 더 포함하는 방법. - 제5항에 있어서, 상기 아웃고잉 통신의 적어도 일부의 컨텐트는 취합된 상기 사용자 데이터에 적어도 일부 기반하여 결정되는 것인 방법.
- 제1항에 있어서,
상기 제1 사용자로부터 수신된 상기 입력 내 정보에 적어도 일부 기반하여 상기 제2 사용자를 식별하는 단계;
상기 제2 사용자가 가상 에이전트와 연관되어 있는지 결정하는 단계; 및
상기 제2 사용자가 가상 에이전트와 연관되어 있다고 결정되는 경우에만 상기 아웃고잉 통신을 송신하는 단계를 더 포함하는 방법. - 제7항에 있어서, 상기 제2 사용자를 식별하는 단계는,
상기 제1 사용자에 대한 사용자 데이터에 적어도 일부 기반하여 상기 제2 사용자를 식별하는 단계를 포함하는 것인 방법. - 제8항에 있어서, 상기 사용자 데이터는 상기 제1 사용자와 연관된 연락처 리스트를 포함하는 것인 방법.
- 제1항에 있어서,
상기 제2 사용자에 대한 선호되는 통신 모드를 결정하는 단계; 및
상기 선호되는 통신 모드를 사용하여 상기 아웃고잉 통신을 송신하는 단계를 더 포함하는 방법. - 제1항에 있어서, 상기 제2 가상 에이전트로부터 수신되는 상기 아웃고잉 통신에 대한 응답은 새로운 약속을 조율하라는 요청을 포함하고, 상기 방법은,
상기 새로운 약속을 조율하도록 상기 제2 가상 에이전트에 적어도 하나의 부가적 아웃고잉 메시지를 송신하는 단계를 더 포함하되, 상기 적어도 하나의 부가적 아웃고잉 메시지는 상기 제1 사용자로부터의 입력 없이 상기 제2 가상 에이전트에 송신되는 것인 방법. - 제2항에 있어서, 상기 적어도 하나의 액션은 상기 제1 가상 에이전트에 상기 응답 통신을 송신하는 것을 포함하는 것인 방법.
- 적어도 하나의 컴퓨터에 의해 실행될 때, 가상 에이전트들 간에 통신하는 방법을 수행하는 복수의 명령어로 인코딩된 컴퓨터-판독가능한 매체로서, 상기 가상 에이전트의 각각은 사용자와 연관되어 있고, 상기 방법은,
제1 사용자로부터 입력을 수신하는 단계;
상기 제1 사용자와 연관된 제1 가상 에이전트에 의해, 제2 사용자와 연관된 제2 가상 에이전트와의 통신 세션을 인보크할지 결정하는 단계; 및
상기 통신 세션을 인보크하기로 결정하는 것에 응답하여 상기 제2 가상 에이전트에 아웃고잉 통신을 송신하는 단계를 포함하되, 상기 아웃고잉 통신은 상기 제2 가상 에이전트가 상기 제1 사용자를 대신하여 적어도 하나의 액션을 수행하라는 요청을 포함하는 것인 컴퓨터-판독가능한 매체. - 전자 디바이스로서,
제1 사용자로부터 입력을 수신하도록 구성된 통신 인터페이스; 및
제2 사용자와 연관된 제2 가상 에이전트와의 통신 세션을 인보크할지 결정하도록, 그리고
상기 통신 세션을 인보크하기로 결정하는 것에 응답하여 상기 제2 가상 에이전트에 아웃고잉 통신을 송신하도록 구성된 제1 가상 에이전트를 포함하되, 상기 아웃고잉 통신은 상기 제2 가상 에이전트가 상기 제1 사용자를 대신하여 적어도 하나의 액션을 수행하라는 요청을 포함하는 것인 전자 디바이스. - 제14항에 있어서, 상기 통신 인터페이스는 음성 입력을 인식하도록 구성된 적어도 하나의 음성 인터페이스를 포함하는 것인 전자 디바이스.
- 제1 사용자로부터 입력을 수신함이 없이 상기 제1 사용자와 연관된 제1 가상 에이전트에 의해 태스크를 관리하는 방법으로서, 상기 방법은,
상기 제1 가상 에이전트에 의해, 상기 태스크와 연관된 조건이 발생했는지 결정하는 단계; 및
상기 조건이 일어났다고 결정하는 것에 응답하여 제2 사용자와 연관된 제2 가상 에이전트에 아웃고잉 통신을 송신하는 단계를 포함하는 것인 방법. - 제1항에 있어서, 상기 태스크는 상기 제1 사용자에 대한 일정 애플리케이션 내 이벤트를 관리하는 것을 포함하는 것인 방법.
- 제17항에 있어서, 상기 태스크와 연관된 조건이 발생했는지 결정하는 단계는,
상기 일정 애플리케이션에 대한 사용자 데이터에 기반하여, 상기 제1 사용자가 특정 시간에 이벤트를 예정하였다고 결정하는 단계; 및
상기 제1 사용자가 상기 특정 시간에 예정된 상기 이벤트에 참석할 수 없을 것이라고 결정하는 단계를 포함하는 것인 방법. - 제18항에 있어서, 상기 아웃고잉 통신은 상기 제1 사용자가 상기 특정 시간에 예정된 상기 이벤트에 참석할 수 없을 것이라는 표시를 포함하는 것인 방법.
- 제19항에 있어서, 상기 아웃고잉 통신은 적어도 한 번은 상기 제1 사용자가 상기 이벤트를 재예정하도록 이용가능할 때 예정된 상기 이벤트를 재예정하라는 요청을 포함하는 것인 방법.
- 제18항에 있어서, 상기 제1 사용자가 상기 특정 시간에 예정된 상기 이벤트에 참석할 수 없을 것이라고 결정하는 단계는,
상기 제1 사용자의 위치 및 예정된 상기 이벤트의 위치를 결정하는 단계;
상기 제1 사용자가 상기 제1 사용자의 상기 위치로부터 예정된 상기 이벤트의 상기 위치로 이동하는 시간량으로서 이동 시간을 결정하는 단계; 및
상기 이동 시간이 현재 시간과 예정된 상기 이벤트의 상기 시간 간 시간량보다 더 크다고 결정하는 것에 응답하여 상기 제1 사용자가 상기 특정 시간에 예정된 상기 이벤트에 참석할 수 없을 것이라고 결정하는 단계를 포함하는 것인 방법. - 제16항에 있어서, 상기 태스크는 인커밍 통신을 수신하는 것을 포함하고, 상기 태스크와 연관된 조건이 발생했는지 결정하는 단계는 상기 제1 사용자가 상기 인커밍 통신을 수신하도록 이용가능하지 않은지 결정하는 단계를 포함하는 것인 방법.
- 제22항에 있어서,
상기 제2 가상 에이전트로부터 인커밍 통신을 수신하는 단계; 및
상기 제1 사용자가 상기 인커밍 통신을 수신하도록 이용가능하지 않다고 결정하는 것에 응답하여 상기 제2 가상 에이전트에 상기 아웃고잉 통신을 송신하는 단계를 더 포함하는 방법. - 제23항에 있어서,
상기 제1 사용자가 이용가능할 때를 상기 제1 사용자에 대한 일정 데이터에 적어도 일부 기반하여 결정하는 단계를 더 포함하되, 상기 아웃고잉 통신은 상기 제1 사용자가 이용가능할 때의 표시를 포함하는 것인 방법. - 제21항에 있어서, 상기 제1 사용자가 상기 인커밍 통신을 수신하도록 이용가능하지 않은지 결정하는 단계는 상기 인커밍 통신을 수신한 전자 디바이스의 모드 및/또는 상기 제1 사용자에 대한 일정 데이터에 적어도 일부 기반하여 상기 제1 사용자의 이용가능성을 결정하는 단계를 포함하는 것인 방법.
- 적어도 하나의 컴퓨터에 의해 실행될 때, 제1 사용자로부터 입력을 수신함이 없이 상기 제1 사용자와 연관된 제1 가상 에이전트에 의해 태스크를 관리하는 방법을 수행하는 복수의 명령어로 인코딩된 컴퓨터-판독가능한 매체로서, 상기 방법은,
상기 제1 가상 에이전트에 의해, 상기 태스크와 연관된 조건이 발생했는지 결정하는 단계; 및
상기 조건이 일어났다고 결정하는 것에 응답하여 제2 사용자와 연관된 제2 가상 에이전트에 아웃고잉 통신을 송신하는 단계를 포함하는 것인 컴퓨터-판독가능한 매체. - 전자 디바이스로서,
제1 사용자와 연관된 제1 가상 에이전트를 포함하되, 상기 제1 가상 에이전트는,
상기 제1 가상 에이전트에 할당된 태스크와 연관된 조건이 발생했는지 결정하도록, 그리고
상기 조건이 일어났다고 결정하는 것에 응답하여 제2 사용자와 연관된 제2 가상 에이전트에 아웃고잉 통신을 송신하도록 구성되는 것인 전자 디바이스. - 가상 에이전트들 간에 통신을 용이하게 하는 방법으로서, 상기 가상 에이전트의 각각은 사용자와 연관되어 있고, 상기 방법은,
제1 사용자와 연관된 제1 가상 에이전트로부터의 통신을 제2 사용자와 연관된 제2 가상 에이전트에 의해 수신하는 단계; 및
상기 통신을 수신하는 단계에 응답하여 적어도 하나의 액션을 수행하는 단계를 포함하는 것인 방법. - 제28항에 있어서,
상기 통신을 수신하는 단계에 응답하여, 사용자 대화가 요구되는지 결정하는 단계; 및
사용자 대화가 요구된다고 결정하는 것에 응답하여 상기 제2 사용자에게 프롬프트하는(prompting) 단계를 더 포함하는 방법. - 제29항에 있어서, 상기 제1 사용자로부터의 상기 통신은 정보에 대한 요청을 포함하고, 상기 사용자 대화가 요구되는지 결정하는 단계는 요청된 상기 정보가 공개로 지정되었는지 비공개로 지정되었는지 결정하는 단계를 포함하는 것인 방법.
- 제29항에 있어서, 상기 사용자 대화가 요구되는지 결정하는 단계는 요청된 상기 정보가 상기 제2 사용자의 위치 정보에 대한 요청을 포함하는지 결정하는 단계를 포함하는 것인 방법.
- 제29항에 있어서, 상기 사용자에게 프롬프트하는 단계는 상기 제1 가상 에이전트로부터의 상기 통신을 수신하는 전자 디바이스 상의 사용자 인터페이스 상에 프롬프트를 디스플레이하는 단계를 포함하고, 상기 방법은,
상기 프롬프트를 디스플레이하는 단계에 응답하여 상기 제2 사용자로부터 입력을 수신하는 단계를 더 포함하되,
상기 적어도 하나의 액션은 상기 제2 사용자로부터의 상기 입력에 적어도 일부 기반하여 수행되는 것인 방법. - 제28항에 있어서,
상기 제2 가상 에이전트에 의해, 응답을 상기 제1 가상 에이전트에 송신하는 단계를 더 포함하는 방법. - 제28항에 있어서,
상기 제1 가상 에이전트로부터의 상기 통신이 상기 제2 사용자의 위치에 대한 정보를 제공하라는 요청을 포함한다고 결정하는 단계; 및
상기 제2 사용자의 상기 위치를 나타내는 적어도 하나의 응답을 상기 제1 가상 에이전트에 송신하는 단계를 더 포함하는 방법. - 제28항에 있어서,
상기 제1 가상 에이전트로부터의 상기 통신이 이벤트를 예정 또는 재예정하라는 요청을 포함한다고 결정하는 단계를 더 포함하되,
상기 적어도 하나의 액션을 수행하는 단계는 상기 제2 사용자로부터의 대화 없이 상기 이벤트를 예정 또는 재예정하도록 상기 제1 가상 에이전트와 조율하는 단계를 포함하는 것인 방법. - 제35항에 있어서, 상기 제1 가상 에이전트와 조율하는 단계는 적어도 하나의 응답을 상기 제1 가상 에이전트에 송신하는 단계를 포함하되, 상기 응답은 상기 제2 사용자에 대한 일정 정보에 적어도 일부 기반하는 것인 방법.
- 적어도 하나의 컴퓨터에 의해 실행될 때, 가상 에이전트들 간에 통신을 용이하게 하는 방법을 수행하는 복수의 명령어로 인코딩된 컴퓨터-판독가능한 매체로서, 상기 가상 에이전트의 각각은 사용자와 연관되어 있고, 상기 방법은,
제1 사용자와 연관된 제1 가상 에이전트로부터의 통신을 제2 사용자와 연관된 제2 가상 에이전트에 의해 수신하는 단계; 및
상기 통신을 수신하는 단계에 응답하여 적어도 하나의 액션을 수행하는 단계를 포함하는 것인 컴퓨터-판독가능한 매체. - 전자 디바이스로서,
제1 사용자와 연관된 제1 가상 에이전트로부터의 통신을 수신하도록 구성된 통신 인터페이스; 및
제2 사용자와 연관된 제2 가상 에이전트를 포함하되, 상기 제2 가상 에이전트는,
상기 통신을 수신하는 것에 응답하여 적어도 하나의 액션을 수행하도록 구성되는 것인 전자 디바이스.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261682061P | 2012-08-10 | 2012-08-10 | |
US61/682,061 | 2012-08-10 | ||
PCT/US2013/054121 WO2014025990A1 (en) | 2012-08-10 | 2013-08-08 | Virtual agent communication for electronic devices |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20150046100A true KR20150046100A (ko) | 2015-04-29 |
Family
ID=50067000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR20157006135A KR20150046100A (ko) | 2012-08-10 | 2013-08-08 | 전자 디바이스에 대한 가상 에이전트 통신 |
Country Status (5)
Country | Link |
---|---|
US (3) | US10154070B2 (ko) |
EP (1) | EP2883204B1 (ko) |
KR (1) | KR20150046100A (ko) |
CN (1) | CN104704797B (ko) |
WO (1) | WO2014025990A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180096646A (ko) * | 2016-09-20 | 2018-08-29 | 구글 엘엘씨 | 봇 상호작용 |
Families Citing this family (182)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US10002189B2 (en) | 2007-12-20 | 2018-06-19 | Apple Inc. | Method and apparatus for searching using an active ontology |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US10176827B2 (en) | 2008-01-15 | 2019-01-08 | Verint Americas Inc. | Active lab |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US10489434B2 (en) | 2008-12-12 | 2019-11-26 | Verint Americas Inc. | Leveraging concepts with information retrieval techniques and knowledge bases |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US20120309363A1 (en) | 2011-06-03 | 2012-12-06 | Apple Inc. | Triggering notifications associated with tasks items that represent tasks to perform |
US8943094B2 (en) | 2009-09-22 | 2015-01-27 | Next It Corporation | Apparatus, system, and method for natural language processing |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
US9122744B2 (en) | 2010-10-11 | 2015-09-01 | Next It Corporation | System and method for providing distributed intelligent assistance |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
US9836177B2 (en) | 2011-12-30 | 2017-12-05 | Next IT Innovation Labs, LLC | Providing variable responses in a virtual-assistant environment |
US10134385B2 (en) | 2012-03-02 | 2018-11-20 | Apple Inc. | Systems and methods for name pronunciation |
US9223537B2 (en) | 2012-04-18 | 2015-12-29 | Next It Corporation | Conversation user interface |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
EP2883204B1 (en) * | 2012-08-10 | 2020-10-07 | Nuance Communications, Inc. | Virtual agent communication for electronic devices |
US9536049B2 (en) | 2012-09-07 | 2017-01-03 | Next It Corporation | Conversational virtual healthcare assistant |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
US10074078B2 (en) | 2012-11-12 | 2018-09-11 | At&T Intellectual Property I, L.P. | System and method of managing meeting invitations |
US9262175B2 (en) | 2012-12-11 | 2016-02-16 | Nuance Communications, Inc. | Systems and methods for storing record of virtual agent interaction |
US9659298B2 (en) | 2012-12-11 | 2017-05-23 | Nuance Communications, Inc. | Systems and methods for informing virtual agent recommendation |
US9560089B2 (en) | 2012-12-11 | 2017-01-31 | Nuance Communications, Inc. | Systems and methods for providing input to virtual agent |
US9679300B2 (en) | 2012-12-11 | 2017-06-13 | Nuance Communications, Inc. | Systems and methods for virtual agent recommendation for multiple persons |
US9276802B2 (en) | 2012-12-11 | 2016-03-01 | Nuance Communications, Inc. | Systems and methods for sharing information between virtual agents |
US9148394B2 (en) * | 2012-12-11 | 2015-09-29 | Nuance Communications, Inc. | Systems and methods for user interface presentation of virtual agent |
CN104969289B (zh) | 2013-02-07 | 2021-05-28 | 苹果公司 | 数字助理的语音触发器 |
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 |
US10445115B2 (en) | 2013-04-18 | 2019-10-15 | Verint Americas Inc. | Virtual assistant focused user interfaces |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
EP3937002A1 (en) | 2013-06-09 | 2022-01-12 | Apple Inc. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
KR20140144104A (ko) * | 2013-06-10 | 2014-12-18 | 삼성전자주식회사 | 전자기기 및 이의 서비스 제공 방법 |
WO2015020942A1 (en) | 2013-08-06 | 2015-02-12 | Apple Inc. | Auto-activating smart responses based on activities from remote devices |
US10296160B2 (en) | 2013-12-06 | 2019-05-21 | Apple Inc. | Method for extracting salient dialog usage from live data |
US10534623B2 (en) | 2013-12-16 | 2020-01-14 | Nuance Communications, Inc. | Systems and methods for providing a virtual assistant |
US20150180816A1 (en) * | 2013-12-20 | 2015-06-25 | Apple Inc. | Customized Location Notification |
US10057123B1 (en) | 2013-12-27 | 2018-08-21 | Alarm.Com Incorporated | Network topology backup |
US9672717B1 (en) * | 2013-12-27 | 2017-06-06 | Alarm.Com Incorporated | Contextual communication of events |
US9823811B2 (en) | 2013-12-31 | 2017-11-21 | Next It Corporation | Virtual assistant team identification |
US20150339784A1 (en) * | 2014-05-23 | 2015-11-26 | International Business Machines Corporation | Avatar Service for Multi-Channel Systems With Full-Scale Business Context Sensitivity |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
WO2015184186A1 (en) | 2014-05-30 | 2015-12-03 | Apple Inc. | Multi-command single utterance input method |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US20160071517A1 (en) | 2014-09-09 | 2016-03-10 | Next It Corporation | Evaluating Conversation Data based on Risk Factors |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US9571649B2 (en) | 2014-10-23 | 2017-02-14 | Teletech Holdings, Inc. | Method for connecting users with agents based on user values dynamically determined according to a set of rules or algorithms |
US9924033B2 (en) * | 2014-10-23 | 2018-03-20 | Teletech Holdings, Inc. | Method for collecting data using a user interaction event-driven data collection system |
US9350865B2 (en) | 2014-10-23 | 2016-05-24 | Teletech Holdings, Inc. | Method for connecting a user with an agent based on user interaction of a link of a prior message exchanged between the user and the agent |
KR102217220B1 (ko) | 2015-02-02 | 2021-02-18 | 삼성전자주식회사 | 통화 예약을 수행하는 전자 장치 및 방법 |
US10152299B2 (en) | 2015-03-06 | 2018-12-11 | Apple Inc. | Reducing response latency of intelligent automated assistants |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
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 |
EP3101919B1 (en) | 2015-06-02 | 2020-02-19 | Oticon A/s | A peer to peer hearing system |
US9578173B2 (en) | 2015-06-05 | 2017-02-21 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
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 |
US10740384B2 (en) | 2015-09-08 | 2020-08-11 | Apple Inc. | Intelligent automated assistant for media search and playback |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10331312B2 (en) | 2015-09-08 | 2019-06-25 | Apple Inc. | Intelligent automated assistant in a media environment |
US10140146B2 (en) * | 2015-10-22 | 2018-11-27 | Genband Us Llc | Network management for elastic virtual network functions |
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 |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10757048B2 (en) | 2016-04-08 | 2020-08-25 | Microsoft Technology Licensing, Llc | Intelligent personal assistant as a contact |
US10158593B2 (en) | 2016-04-08 | 2018-12-18 | Microsoft Technology Licensing, Llc | Proactive intelligent personal assistant |
US10945129B2 (en) | 2016-04-29 | 2021-03-09 | Microsoft Technology Licensing, Llc | Facilitating interaction among digital personal assistants |
US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
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 |
US11709833B2 (en) * | 2016-06-24 | 2023-07-25 | Dremio Corporation | Self-service data platform |
US10474753B2 (en) | 2016-09-07 | 2019-11-12 | Apple Inc. | Language identification using recurrent neural networks |
US10043516B2 (en) | 2016-09-23 | 2018-08-07 | Apple Inc. | Intelligent automated assistant |
US10547743B2 (en) | 2016-09-30 | 2020-01-28 | T-Mobile Usa, Inc. | Sending notifications based on a busy mode of operation of a mobile device |
US10194025B2 (en) * | 2016-09-30 | 2019-01-29 | T-Mobile Usa, Inc. | Sending notifications based on an active mode of operation of a mobile device |
US11281993B2 (en) | 2016-12-05 | 2022-03-22 | Apple Inc. | Model and ensemble compression for metric learning |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
US11204787B2 (en) | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
DK201770383A1 (en) | 2017-05-09 | 2018-12-14 | Apple Inc. | USER INTERFACE FOR CORRECTING RECOGNITION ERRORS |
US10417266B2 (en) | 2017-05-09 | 2019-09-17 | Apple Inc. | Context-aware ranking of intelligent response suggestions |
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 |
DK201770439A1 (en) | 2017-05-11 | 2018-12-13 | Apple Inc. | Offline personal assistant |
US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
DK201770429A1 (en) | 2017-05-12 | 2018-12-14 | Apple Inc. | LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT |
DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
DK201770411A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | MULTI-MODAL INTERFACES |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
US20180336275A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Intelligent automated assistant for media exploration |
DK179560B1 (en) | 2017-05-16 | 2019-02-18 | Apple Inc. | FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES |
US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
US10657328B2 (en) | 2017-06-02 | 2020-05-19 | Apple Inc. | Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling |
US11282528B2 (en) * | 2017-08-14 | 2022-03-22 | Lenovo (Singapore) Pte. Ltd. | Digital assistant activation based on wake word association |
KR102489914B1 (ko) * | 2017-09-15 | 2023-01-20 | 삼성전자주식회사 | 전자 장치 및 이의 제어 방법 |
US10445429B2 (en) | 2017-09-21 | 2019-10-15 | Apple Inc. | Natural language understanding using vocabularies with compressed serialized tries |
US10755051B2 (en) | 2017-09-29 | 2020-08-25 | Apple Inc. | Rule-based natural language processing |
US10574598B2 (en) * | 2017-10-18 | 2020-02-25 | International Business Machines Corporation | Cognitive virtual detector |
US10679156B1 (en) | 2017-11-22 | 2020-06-09 | Wells Fargo Bank, N.A. | Voice enabled assistant for community demand fulfillment |
US10636424B2 (en) | 2017-11-30 | 2020-04-28 | Apple Inc. | Multi-turn canned dialog |
US10733982B2 (en) | 2018-01-08 | 2020-08-04 | Apple Inc. | Multi-directional dialog |
US10733375B2 (en) | 2018-01-31 | 2020-08-04 | Apple Inc. | Knowledge-based framework for improving natural language understanding |
US10789959B2 (en) | 2018-03-02 | 2020-09-29 | Apple Inc. | Training speaker recognition models for digital assistants |
US10592604B2 (en) | 2018-03-12 | 2020-03-17 | Apple Inc. | Inverse text normalization for automatic speech recognition |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
US10909331B2 (en) | 2018-03-30 | 2021-02-02 | Apple Inc. | Implicit identification of translation payload with neural machine translation |
US10930278B2 (en) * | 2018-04-09 | 2021-02-23 | Google Llc | Trigger sound detection in ambient audio to provide related functionality on a user interface |
WO2019198405A1 (ja) * | 2018-04-12 | 2019-10-17 | ソニー株式会社 | 情報処理装置、情報処理システム、および情報処理方法、並びにプログラム |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
US11049076B2 (en) * | 2018-05-07 | 2021-06-29 | Microsoft Techology Licensing, Llc | Routing of meeting requests and follow-up queries by digital assistants |
US10984780B2 (en) | 2018-05-21 | 2021-04-20 | Apple Inc. | Global semantic word embeddings using bi-directional recurrent neural networks |
US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
DK179822B1 (da) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
DK201870355A1 (en) | 2018-06-01 | 2019-12-16 | Apple Inc. | VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
DK180639B1 (en) | 2018-06-01 | 2021-11-04 | Apple Inc | DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT |
US10944859B2 (en) | 2018-06-03 | 2021-03-09 | Apple Inc. | Accelerated task performance |
US11568175B2 (en) | 2018-09-07 | 2023-01-31 | Verint Americas Inc. | Dynamic intent classification based on environment variables |
US11509659B2 (en) * | 2018-09-18 | 2022-11-22 | At&T Intellectual Property I, L.P. | Context-based automated task performance for user contacts |
US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US11232264B2 (en) | 2018-10-19 | 2022-01-25 | Verint Americas Inc. | Natural language processing with non-ontological hierarchy models |
US11196863B2 (en) | 2018-10-24 | 2021-12-07 | Verint Americas Inc. | Method and system for virtual assistant conversations |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
GB2582129B (en) * | 2019-02-05 | 2022-08-17 | Meizhou Guo Wei Electronics Co Ltd | DECT portable device base station |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
US11211056B1 (en) * | 2019-04-19 | 2021-12-28 | Amazon Technologies, Inc. | Natural language understanding model generation |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | USER ACTIVITY SHORTCUT SUGGESTIONS |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
DK201970510A1 (en) | 2019-05-31 | 2021-02-11 | Apple Inc | Voice identification in digital assistant systems |
US11227599B2 (en) | 2019-06-01 | 2022-01-18 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
US10789040B1 (en) | 2019-06-05 | 2020-09-29 | International Business Machines Corporation | Interaction between two virtual assistants |
US11121987B1 (en) * | 2019-09-03 | 2021-09-14 | Octane AI, Inc. | Conversational support for user journey |
US11488406B2 (en) | 2019-09-25 | 2022-11-01 | Apple Inc. | Text detection using global geometry estimators |
KR20210052972A (ko) | 2019-11-01 | 2021-05-11 | 삼성전자주식회사 | 다수의 사용자들이 참여하는 음성 에이전트 지원 방법 및 장치 |
US11061543B1 (en) | 2020-05-11 | 2021-07-13 | Apple Inc. | Providing relevant data items based on context |
US11183193B1 (en) | 2020-05-11 | 2021-11-23 | Apple Inc. | Digital assistant hardware abstraction |
US11755276B2 (en) | 2020-05-12 | 2023-09-12 | Apple Inc. | Reducing description length based on confidence |
US11490204B2 (en) | 2020-07-20 | 2022-11-01 | Apple Inc. | Multi-device audio adjustment coordination |
US11438683B2 (en) | 2020-07-21 | 2022-09-06 | Apple Inc. | User identification using headphones |
US11115502B1 (en) * | 2020-08-25 | 2021-09-07 | Bank Of America Corporation | System for real-time management of session objects and for application programming interface (API) mocking |
US11336605B1 (en) * | 2021-01-04 | 2022-05-17 | Servicenow, Inc. | Sending actionable notifications to users |
GB2610163B (en) * | 2021-08-12 | 2023-12-13 | Netriver Systems Ltd | Secure online exchange of digital identification |
Family Cites Families (136)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5911129A (en) | 1996-12-13 | 1999-06-08 | Intel Corporation | Audio font used for capture and rendering |
US6493428B1 (en) | 1998-08-18 | 2002-12-10 | Siemens Information & Communication Networks, Inc | Text-enhanced voice menu system |
US6298348B1 (en) | 1998-12-03 | 2001-10-02 | Expanse Networks, Inc. | Consumer profiling system |
US9076448B2 (en) * | 1999-11-12 | 2015-07-07 | Nuance Communications, Inc. | Distributed real time speech recognition system |
US7062510B1 (en) | 1999-12-02 | 2006-06-13 | Prime Research Alliance E., Inc. | Consumer profiling and advertisement selection system |
US6598018B1 (en) | 1999-12-15 | 2003-07-22 | Matsushita Electric Industrial Co., Ltd. | Method for natural dialog interface to car devices |
US7286990B1 (en) * | 2000-01-21 | 2007-10-23 | Openwave Systems Inc. | Universal interface for voice activated access to multiple information providers |
US6907571B2 (en) | 2000-03-01 | 2005-06-14 | Benjamin Slotznick | Adjunct use of instant messenger software to enable communications to or between chatterbots or other software agents |
US6757362B1 (en) | 2000-03-06 | 2004-06-29 | Avaya Technology Corp. | Personal virtual assistant |
US6466654B1 (en) * | 2000-03-06 | 2002-10-15 | Avaya Technology Corp. | Personal virtual assistant with semantic tagging |
US6920425B1 (en) | 2000-05-16 | 2005-07-19 | Nortel Networks Limited | Visual interactive response system and method translated from interactive voice response for telephone utility |
US6804668B1 (en) | 2000-09-26 | 2004-10-12 | Rockwell Electronic Commerce Corp. | Natural language agent for monitoring a threaded discussion |
CN1351459A (zh) * | 2000-10-26 | 2002-05-29 | 安捷伦科技有限公司 | 手持式通信和处理装置及其操作方法 |
US20020142844A1 (en) | 2001-02-06 | 2002-10-03 | Kerr Michael A. | Biometric broadband gaming system and method |
US6834264B2 (en) | 2001-03-29 | 2004-12-21 | Provox Technologies Corporation | Method and apparatus for voice dictation and document production |
US6853716B1 (en) | 2001-04-16 | 2005-02-08 | Cisco Technology, Inc. | System and method for identifying a participant during a conference call |
US20060064739A1 (en) * | 2004-09-17 | 2006-03-23 | Guthrie Paul D | Relationship-managed communication channels |
EP1309147A1 (en) | 2001-10-30 | 2003-05-07 | Hewlett-Packard Company, A Delaware Corporation | Method and apparatus for managing profile information in a heterogeneous or homogeneous network environment |
US20030167167A1 (en) | 2002-02-26 | 2003-09-04 | Li Gong | Intelligent personal assistants |
US20030163311A1 (en) | 2002-02-26 | 2003-08-28 | Li Gong | Intelligent social agents |
CA2479838C (en) | 2002-03-19 | 2011-02-08 | Mapinfo Corporation | Location based service provider |
US7599852B2 (en) | 2002-04-05 | 2009-10-06 | Sponster Llc | Method and apparatus for adding advertising tag lines to electronic messages |
US7236931B2 (en) | 2002-05-01 | 2007-06-26 | Usb Ag, Stamford Branch | Systems and methods for automatic acoustic speaker adaptation in computer-assisted transcription systems |
US7324633B2 (en) | 2002-05-30 | 2008-01-29 | At&T Delaware Intellectual Property, Inc. | Web integrated interactive voice response |
US20040064704A1 (en) * | 2002-09-27 | 2004-04-01 | Monis Rahman | Secure information display and access rights control |
JP4218336B2 (ja) * | 2002-12-12 | 2009-02-04 | ソニー株式会社 | 情報処理システム、サービス提供装置および方法、情報処理装置および方法、並びにプログラム |
US7761386B2 (en) | 2003-06-15 | 2010-07-20 | Mordechai Teicher | Method and apparatus for arranging social meetings |
JP2005043666A (ja) | 2003-07-22 | 2005-02-17 | Renesas Technology Corp | 音声認識装置 |
US7450567B1 (en) * | 2003-09-08 | 2008-11-11 | Avaya Inc. | Web-based personal assistant |
US20050114191A1 (en) | 2003-11-20 | 2005-05-26 | International Business Machines Corporation | Method and apparatus for a calendar system with a location functionality |
US7606772B2 (en) | 2003-11-28 | 2009-10-20 | Manyworlds, Inc. | Adaptive social computing methods |
US7398061B2 (en) * | 2004-02-26 | 2008-07-08 | Research In Motion Limited | Method and apparatus for changing the behavior of an electronic device |
US7912904B2 (en) | 2004-03-31 | 2011-03-22 | Google Inc. | Email system with conversation-centric user interface |
EP1681651A1 (en) * | 2004-12-22 | 2006-07-19 | Sap Ag | Virtual calendar |
US7603413B1 (en) | 2005-04-07 | 2009-10-13 | Aol Llc | Using automated agents to facilitate chat communications |
JP2006301972A (ja) * | 2005-04-20 | 2006-11-02 | Mihatenu Yume:Kk | 電子秘書装置 |
US20060259555A1 (en) | 2005-05-16 | 2006-11-16 | Imlogic, Inc. | Systems and methods for creating and/or utilizing virtual automated agents |
WO2006129968A1 (en) | 2005-05-30 | 2006-12-07 | Daumsoft, Inc. | System and method of analysing a conversation using conversational agent |
US7640160B2 (en) | 2005-08-05 | 2009-12-29 | Voicebox Technologies, Inc. | Systems and methods for responding to natural language speech utterance |
US20070043687A1 (en) * | 2005-08-19 | 2007-02-22 | Accenture Llp | Virtual assistant |
KR100644814B1 (ko) | 2005-11-08 | 2006-11-14 | 한국전자통신연구원 | 발화 스타일 조절을 위한 운율모델 생성 방법 및 이를이용한 대화체 음성합성 장치 및 방법 |
US20070106931A1 (en) | 2005-11-08 | 2007-05-10 | Nokia Corporation | Active notes application |
US20090043627A1 (en) | 2005-11-23 | 2009-02-12 | Mihir Vaidya | System and method for calendar presence retrieval |
JP2009528639A (ja) | 2006-02-28 | 2009-08-06 | バズロジック, インコーポレイテッド | ソーシャルメディアにおける会話を分析するためのソーシャル分析システムおよび方法 |
US7720681B2 (en) | 2006-03-23 | 2010-05-18 | Microsoft Corporation | Digital voice profiles |
US20070226034A1 (en) * | 2006-03-23 | 2007-09-27 | Kyocera Wireless Corp. | Wireless communication device meeting scheduler |
US20070233635A1 (en) | 2006-04-04 | 2007-10-04 | Craig Burfeind | Systems and methods for organizing an event and tracking attendance status |
US7889851B2 (en) | 2006-04-20 | 2011-02-15 | Cisco Technology, Inc. | Accessing a calendar server to facilitate initiation of a scheduled call |
US9135913B2 (en) | 2006-05-26 | 2015-09-15 | Nec Corporation | Voice input system, interactive-type robot, voice input method, and voice input program |
US20070282621A1 (en) | 2006-06-01 | 2007-12-06 | Flipt, Inc | Mobile dating system incorporating user location information |
US8139752B2 (en) | 2006-07-28 | 2012-03-20 | Ubiquity Software Corporation Limited | Voice conference control from an instant messaging session using an automated agent |
US20080240379A1 (en) | 2006-08-03 | 2008-10-02 | Pudding Ltd. | Automatic retrieval and presentation of information relevant to the context of a user's conversation |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
CA2665131C (en) | 2006-10-06 | 2022-06-21 | United Video Properties, Inc. | Systems and methods for acquiring, categorizing and delivering media in interactive media guidance applications |
US8972268B2 (en) | 2008-04-15 | 2015-03-03 | Facebook, Inc. | Enhanced speech-to-speech translation system and methods for adding a new word |
WO2008070184A1 (en) | 2006-12-06 | 2008-06-12 | Prism Technologies Inc. | System, method, and apparatus for data-driven interactive wayfinding and associated services |
JP2008191748A (ja) | 2007-02-01 | 2008-08-21 | Oki Electric Ind Co Ltd | ユーザ間コミュニケーション方法、ユーザ間コミュニケーションプログラム、ユーザ間コミュニケーション装置 |
US8983051B2 (en) * | 2007-04-03 | 2015-03-17 | William F. Barton | Outgoing call classification and disposition |
TW200841691A (en) * | 2007-04-13 | 2008-10-16 | Benq Corp | Apparatuses and methods for voice command processing |
GB0710845D0 (en) | 2007-06-06 | 2007-07-18 | Crisp Thinking Ltd | Communication system |
US7779079B2 (en) * | 2007-06-08 | 2010-08-17 | Microsoft Corporation | Reducing unsolicited instant messages by tracking communication threads |
US8340796B2 (en) | 2007-09-10 | 2012-12-25 | Palo Alto Research Center Incorporated | Digital media player and method for facilitating social music discovery and commerce |
EP2206327B1 (en) * | 2007-10-02 | 2012-05-23 | Ascendent Telecommunications, Inc. | Method, apparatus and system for intelligent call routing |
US8504621B2 (en) | 2007-10-26 | 2013-08-06 | Microsoft Corporation | Facilitating a decision-making process |
US8930815B2 (en) * | 2007-11-07 | 2015-01-06 | At&T Intellectual Property I, L.P. | Methods, systems and computer readable media for creating a virtual agent |
US8077156B2 (en) * | 2007-12-13 | 2011-12-13 | Nokia Corporation | Apparatus, method and computer program product for using multi-touch to transfer different levels of information |
US8850569B1 (en) | 2008-04-15 | 2014-09-30 | Trend Micro, Inc. | Instant messaging malware protection |
WO2009130605A2 (en) | 2008-04-21 | 2009-10-29 | Vaka Corporation | Methods and systems for customizing and embedding widgets in instant messages |
KR101552147B1 (ko) | 2008-04-24 | 2015-09-11 | 삼성전자주식회사 | 방송 컨텐츠를 추천하는 방법과 그 장치 |
US8949377B2 (en) | 2008-05-21 | 2015-02-03 | The Delfin Project, Inc. | Management system for a conversational system |
US8380503B2 (en) | 2008-06-23 | 2013-02-19 | John Nicholas and Kristin Gross Trust | System and method for generating challenge items for CAPTCHAs |
US20100094678A1 (en) * | 2008-10-10 | 2010-04-15 | Embarq Holdings Company, Llc | System and method for providing delay notifications |
US8271509B2 (en) | 2008-11-20 | 2012-09-18 | Bank Of America Corporation | Search and chat integration system |
US8443411B2 (en) | 2008-11-26 | 2013-05-14 | At&T Intellectual Property I, Lp | System and method to distribute video-on-demand content |
US9015322B2 (en) | 2008-12-30 | 2015-04-21 | Avaya Inc. | Access to resources in a virtual environment |
US9106749B2 (en) | 2009-03-05 | 2015-08-11 | Verizon Patent And Licensing Inc. | Virtual call center manager |
US20100281427A1 (en) | 2009-04-30 | 2010-11-04 | Riddhiman Ghosh | Selecting one of plural user profile personae based on context |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US10013489B2 (en) | 2009-08-12 | 2018-07-03 | Oath Inc. | System and method for providing recommendations |
US8161063B2 (en) | 2009-09-11 | 2012-04-17 | Eastman Kodak Company | Multimedia object retrieval from natural language queries |
US8279779B2 (en) | 2009-12-10 | 2012-10-02 | Verizon Patent And Licensing Inc. | Method and system for virtual agent session monitoring and barge-in |
US10276170B2 (en) * | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US9747604B2 (en) | 2010-01-22 | 2017-08-29 | Google Inc. | Automated agent for social media systems |
US8473493B2 (en) | 2010-01-26 | 2013-06-25 | International Business Machines Corporation | System and method for selective information and resource sharing |
EP2537272A4 (en) | 2010-02-19 | 2013-07-03 | Osumus Recommendations Oy | PROCESS FOR PROVIDING RECOMMENDATIONS FOR A USER |
US9081973B2 (en) | 2010-04-23 | 2015-07-14 | Psion Inc. | Restricting user access on shared computer |
US8234111B2 (en) | 2010-06-14 | 2012-07-31 | Google Inc. | Speech and noise models for speech recognition |
US8504404B2 (en) * | 2010-06-17 | 2013-08-06 | Google Inc. | Distance and location-aware scheduling assistance in a calendar system with notification of potential conflicts |
US20110313803A1 (en) | 2010-06-22 | 2011-12-22 | Microsoft Corporation | Social Task Lists |
KR101631618B1 (ko) * | 2010-07-06 | 2016-06-27 | 삼성전자주식회사 | 가상 개인화 그룹 생성 방법 및 가상 개인화 그룹을 이용하는 통신 기기와 허브를 포함하는 네트워크 |
US8370157B2 (en) | 2010-07-08 | 2013-02-05 | Honeywell International Inc. | Aircraft speech recognition and voice training data storage and retrieval methods and apparatus |
US20120150598A1 (en) | 2010-09-02 | 2012-06-14 | Alfred William Griggs | Social retail referral control apparatuses, methods and systems |
US8239366B2 (en) | 2010-09-08 | 2012-08-07 | Nuance Communications, Inc. | Method and apparatus for processing spoken search queries |
US8000454B1 (en) | 2010-09-10 | 2011-08-16 | Zvi Or-Bach | Systems and methods for visual presentation and selection of IVR menu |
US8818981B2 (en) * | 2010-10-15 | 2014-08-26 | Microsoft Corporation | Providing information to users based on context |
KR20120042006A (ko) * | 2010-10-22 | 2012-05-03 | 한국전자통신연구원 | 일정 관리 방법 및 이를 수행하는 장치 |
US9183843B2 (en) | 2011-01-07 | 2015-11-10 | Nuance Communications, Inc. | Configurable speech recognition system using multiple recognizers |
US8819729B2 (en) | 2011-02-25 | 2014-08-26 | Avaya Inc. | Advanced user interface and control paradigm for multiple service operator extended functionality offers |
US8849931B2 (en) | 2011-03-15 | 2014-09-30 | Idt Messaging, Llc | Linking context-based information to text messages |
WO2012135157A2 (en) | 2011-03-31 | 2012-10-04 | Microsoft Corporation | Task driven user intents |
US8705363B2 (en) | 2011-04-05 | 2014-04-22 | Telefonaktiebolaget L M Ericsson (Publ) | Packet scheduling method and apparatus |
US20120278736A1 (en) | 2011-04-30 | 2012-11-01 | Samsung Electronics Co., Ltd. | Collaborative decision-making for deriving micro-recommendations for offsite users |
US9070117B2 (en) | 2011-05-26 | 2015-06-30 | Google Inc. | Providing contextual information and enabling group communication for participants in a conversation |
US8566394B2 (en) | 2011-06-17 | 2013-10-22 | Microsoft Corporation | Mobile social interaction |
US9317834B2 (en) | 2011-06-30 | 2016-04-19 | Microsoft Technology Licensing, Llc | User computing device with personal agent program for recommending meeting a friend at a service location based on current location, travel direction, and calendar activity |
US20130031476A1 (en) * | 2011-07-25 | 2013-01-31 | Coin Emmett | Voice activated virtual assistant |
US8787553B2 (en) * | 2011-09-22 | 2014-07-22 | At&T Intellectual Property I, L.P. | Implementing a network of intelligent virtual service agents to provide personalized automated responses |
US9146115B2 (en) | 2011-10-18 | 2015-09-29 | Microsoft Technology Licensing, Llc | Location enhanced meetings and collaboration |
US9082402B2 (en) | 2011-12-08 | 2015-07-14 | Sri International | Generic virtual personal assistant platform |
US20130332521A1 (en) | 2012-06-07 | 2013-12-12 | United Video Properties, Inc. | Systems and methods for compiling media information based on privacy and reliability metrics |
US9648369B2 (en) | 2012-06-11 | 2017-05-09 | Verizon Patent And Licensing Inc. | Cross-platform schedule management interface |
US20140013240A1 (en) | 2012-07-03 | 2014-01-09 | Google Inc. | Creating social group events |
KR101909141B1 (ko) | 2012-07-27 | 2018-10-17 | 엘지전자 주식회사 | 전자기기 및 전자기기의 제어방법 |
EP2883204B1 (en) | 2012-08-10 | 2020-10-07 | Nuance Communications, Inc. | Virtual agent communication for electronic devices |
US8983836B2 (en) | 2012-09-26 | 2015-03-17 | International Business Machines Corporation | Captioning using socially derived acoustic profiles |
US9276802B2 (en) | 2012-12-11 | 2016-03-01 | Nuance Communications, Inc. | Systems and methods for sharing information between virtual agents |
US9560089B2 (en) | 2012-12-11 | 2017-01-31 | Nuance Communications, Inc. | Systems and methods for providing input to virtual agent |
US9679300B2 (en) | 2012-12-11 | 2017-06-13 | Nuance Communications, Inc. | Systems and methods for virtual agent recommendation for multiple persons |
US9659298B2 (en) | 2012-12-11 | 2017-05-23 | Nuance Communications, Inc. | Systems and methods for informing virtual agent recommendation |
US20140164953A1 (en) | 2012-12-11 | 2014-06-12 | Nuance Communications, Inc. | Systems and methods for invoking virtual agent |
US20140164532A1 (en) | 2012-12-11 | 2014-06-12 | Nuance Communications, Inc. | Systems and methods for virtual agent participation in multiparty conversation |
US9148394B2 (en) | 2012-12-11 | 2015-09-29 | Nuance Communications, Inc. | Systems and methods for user interface presentation of virtual agent |
US9262175B2 (en) | 2012-12-11 | 2016-02-16 | Nuance Communications, Inc. | Systems and methods for storing record of virtual agent interaction |
US9117451B2 (en) | 2013-02-20 | 2015-08-25 | Google Inc. | Methods and systems for sharing of adapted voice profiles |
US9113208B2 (en) | 2013-03-18 | 2015-08-18 | Squaredon Co Ltd | Personalized video channel control |
US20150058129A1 (en) | 2013-08-23 | 2015-02-26 | Marshall Feature Recognition Llc | System and method for electronic interaction with merchandising venues |
US10134395B2 (en) | 2013-09-25 | 2018-11-20 | Amazon Technologies, Inc. | In-call virtual assistants |
US20150106394A1 (en) | 2013-10-16 | 2015-04-16 | Google Inc. | Automatically playing audio announcements in music player |
US9698999B2 (en) | 2013-12-02 | 2017-07-04 | Amazon Technologies, Inc. | Natural language control of secondary device |
US9479931B2 (en) | 2013-12-16 | 2016-10-25 | Nuance Communications, Inc. | Systems and methods for providing a virtual assistant |
CN105830048A (zh) | 2013-12-16 | 2016-08-03 | 纽昂斯通讯公司 | 用于提供虚拟助理的***和方法 |
US9571645B2 (en) | 2013-12-16 | 2017-02-14 | Nuance Communications, Inc. | Systems and methods for providing a virtual assistant |
US10534623B2 (en) | 2013-12-16 | 2020-01-14 | Nuance Communications, Inc. | Systems and methods for providing a virtual assistant |
US9804820B2 (en) | 2013-12-16 | 2017-10-31 | Nuance Communications, Inc. | Systems and methods for providing a virtual assistant |
US9823811B2 (en) | 2013-12-31 | 2017-11-21 | Next It Corporation | Virtual assistant team identification |
US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
-
2013
- 2013-08-08 EP EP13827951.8A patent/EP2883204B1/en active Active
- 2013-08-08 KR KR20157006135A patent/KR20150046100A/ko not_active Application Discontinuation
- 2013-08-08 CN CN201380052414.2A patent/CN104704797B/zh not_active Expired - Fee Related
- 2013-08-08 WO PCT/US2013/054121 patent/WO2014025990A1/en active Application Filing
- 2013-08-09 US US13/963,316 patent/US10154070B2/en active Active
-
2018
- 2018-12-07 US US16/212,826 patent/US10999335B2/en active Active
-
2021
- 2021-04-14 US US17/229,938 patent/US11388208B2/en active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180096646A (ko) * | 2016-09-20 | 2018-08-29 | 구글 엘엘씨 | 봇 상호작용 |
CN109691034A (zh) * | 2016-09-20 | 2019-04-26 | 谷歌有限责任公司 | 机器人交互 |
KR20190045092A (ko) * | 2016-09-20 | 2019-05-02 | 구글 엘엘씨 | 봇 상호작용 |
US10798028B2 (en) | 2016-09-20 | 2020-10-06 | Google Llc | Bot interaction |
CN109691034B (zh) * | 2016-09-20 | 2021-07-09 | 谷歌有限责任公司 | 机器人交互 |
Also Published As
Publication number | Publication date |
---|---|
EP2883204A4 (en) | 2016-04-13 |
US10154070B2 (en) | 2018-12-11 |
EP2883204B1 (en) | 2020-10-07 |
US20140047001A1 (en) | 2014-02-13 |
US20210306388A1 (en) | 2021-09-30 |
CN104704797A (zh) | 2015-06-10 |
US11388208B2 (en) | 2022-07-12 |
WO2014025990A1 (en) | 2014-02-13 |
CN104704797B (zh) | 2018-08-10 |
EP2883204A1 (en) | 2015-06-17 |
US20190109880A1 (en) | 2019-04-11 |
US10999335B2 (en) | 2021-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11388208B2 (en) | Virtual agent communication for electronic device | |
RU2754990C2 (ru) | Улучшения эффективности в приложениях администрирования задач | |
US10524092B2 (en) | Task automation using location-awareness of multiple devices | |
JP6911151B2 (ja) | 既存の会話を促進するためにアクションを推奨するように構成された仮想アシスタント | |
KR102357685B1 (ko) | 병렬 처리용 하이브리드 클라이언트/서버 아키텍처 | |
US9679300B2 (en) | Systems and methods for virtual agent recommendation for multiple persons | |
US9276802B2 (en) | Systems and methods for sharing information between virtual agents | |
US9560089B2 (en) | Systems and methods for providing input to virtual agent | |
US8700931B2 (en) | Method and system for managing power of a mobile device | |
US9262175B2 (en) | Systems and methods for storing record of virtual agent interaction | |
US8433805B2 (en) | Method and system for facilitating contacting people using electronic devices | |
KR102624148B1 (ko) | 인간 사용자를 대신하여 대화형 음성 응답(ivr) 트리 자동 탐색 | |
US20140164532A1 (en) | Systems and methods for virtual agent participation in multiparty conversation | |
US20140164312A1 (en) | Systems and methods for informing virtual agent recommendation | |
WO2017146954A1 (en) | Contextual notification engine | |
US9224134B2 (en) | Arranging a conversation among a plurality of participants | |
US20220391772A1 (en) | Automatic generation and transmission of a status of a user and/or predicted duration of the status | |
EP3411810A1 (en) | Dynamic reactive contextual policies for personal digital assistants | |
US11032418B2 (en) | Generating and/or prioritizing pre-call content for rendering when awaiting acceptance of an incoming call | |
US20240040037A1 (en) | Generating and/or prioritizing pre-call content for rendering when awaiting acceptance of an incoming call | |
US20130218993A1 (en) | Contextual presence in collaborative systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |