KR20150046100A - 전자 디바이스에 대한 가상 에이전트 통신 - Google Patents

전자 디바이스에 대한 가상 에이전트 통신 Download PDF

Info

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
Application number
KR20157006135A
Other languages
English (en)
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 KR20150046100A publication Critical patent/KR20150046100A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services 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

전자 디바이스에 대한 가상 에이전트 통신{VIRTUAL AGENT COMMUNICATION FOR ELECTRONIC DEVICES}
근년에, 스마트폰 및 태블릿 컴퓨터와 같은 전자 디바이스는 네트워크(예컨대, 인터넷) 상에서 컨텐트의 검색 및 다른 애플리케이션과의 대화와 같은 기능을 수행함에 있어서 사용자를 조력하는 가상 에이전트 또는 가상 도우미라고 알려져 있는 애플리케이션을 포함한다. 사용자는 이들 기능을 수행하도록 타이핑 또는 터치를 사용하여 가상 에이전트와 대화할 수 있다. 부가적으로, 일부 디바이스는 사용자가 음성 입력을 사용하여 가상 에이전트와 대화 가능하게 하도록 음성 인터페이스를 포함한다. 이들 가상 에이전트는 일반적으로 플랫폼 특정적이며 특정 운영 체제를 사용하는 디바이스와 작동한다. 예컨대, 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은 본 발명의 일부 실시예와 연관하여 사용될 수 있는 컴퓨터 시스템의 예시도.
관용적 가상 에이전트가 통화를 개시하거나 월드 와이드 웹 상에서 컨텐트를 검색하는 것과 같은 다양한 태스크에 대해 사용자를 조력하는데 유용하기는 하지만, 관용적 가상 에이전트의 기능성은 하나의 사용자와 연관된 가상 에이전트가 다른 사용자의 위치를 찾고, 다른 사용자와의 미팅을 예정하고, 사용자 간 연락처 정보 또는 다른 데이터를 공유하는 것과 같은 협업 액션을 수행하도록 다른 사용자와 연관된 가상 에이전트와 대화 가능하게 함으로써 개선될 수 있음을 발명자는 인지 및 인식하였다. 이러한 목적으로, 본 발명의 일부 실시예는 에이전트-대-에이전트 통신이 하나 이상의 액션을 수행 가능하게 함으로써 가상 에이전트의 기능성을 개선하는 것에 관한 것이다.
본 발명의 일부 실시예에 따른 사용을 위한 일례의 시스템(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 사용자와 연관된 제1 가상 에이전트에 의해, 제2 사용자와 연관된 제2 가상 에이전트와의 통신 세션을 인보크(invoke)할지 결정하는 단계; 및
    상기 통신 세션을 인보크하기로 결정하는 것에 응답하여 상기 제2 가상 에이전트에 아웃고잉 통신을 송신하는 단계를 포함하는 것인 방법.
  2. 제1항에 있어서,
    상기 제2 가상 에이전트로부터, 상기 아웃고잉 통신에 대한 응답을 수신하는 단계를 더 포함하는 방법.
  3. 제1항에 있어서, 상기 제1 사용자로부터의 상기 입력은 음성 입력을 포함하는 것인 방법.
  4. 제1항에 있어서, 통신 세션을 인보크할지 결정하는 단계는 상기 제1 사용자로부터의 상기 입력이 하나 이상의 트리거 용어 또는 관련 정황 데이터를 포함하는지 결정하는 단계를 포함하는 것인 방법.
  5. 제1항에 있어서,
    상기 제1 사용자에 대한 사용자 데이터를 취합하는 단계로서, 상기 사용자 데이터는 다수의 정보 소스로부터 취합되는 것인, 상기 취합하는 단계;
    취합된 상기 사용자 데이터를 저장하는 단계; 및
    저장된 취합된 상기 사용자 데이터의 적어도 일부를 상기 제1 가상 에이전트에 의해 액세스하는 단계를 더 포함하는 방법.
  6. 제5항에 있어서, 상기 아웃고잉 통신의 적어도 일부의 컨텐트는 취합된 상기 사용자 데이터에 적어도 일부 기반하여 결정되는 것인 방법.
  7. 제1항에 있어서,
    상기 제1 사용자로부터 수신된 상기 입력 내 정보에 적어도 일부 기반하여 상기 제2 사용자를 식별하는 단계;
    상기 제2 사용자가 가상 에이전트와 연관되어 있는지 결정하는 단계; 및
    상기 제2 사용자가 가상 에이전트와 연관되어 있다고 결정되는 경우에만 상기 아웃고잉 통신을 송신하는 단계를 더 포함하는 방법.
  8. 제7항에 있어서, 상기 제2 사용자를 식별하는 단계는,
    상기 제1 사용자에 대한 사용자 데이터에 적어도 일부 기반하여 상기 제2 사용자를 식별하는 단계를 포함하는 것인 방법.
  9. 제8항에 있어서, 상기 사용자 데이터는 상기 제1 사용자와 연관된 연락처 리스트를 포함하는 것인 방법.
  10. 제1항에 있어서,
    상기 제2 사용자에 대한 선호되는 통신 모드를 결정하는 단계; 및
    상기 선호되는 통신 모드를 사용하여 상기 아웃고잉 통신을 송신하는 단계를 더 포함하는 방법.
  11. 제1항에 있어서, 상기 제2 가상 에이전트로부터 수신되는 상기 아웃고잉 통신에 대한 응답은 새로운 약속을 조율하라는 요청을 포함하고, 상기 방법은,
    상기 새로운 약속을 조율하도록 상기 제2 가상 에이전트에 적어도 하나의 부가적 아웃고잉 메시지를 송신하는 단계를 더 포함하되, 상기 적어도 하나의 부가적 아웃고잉 메시지는 상기 제1 사용자로부터의 입력 없이 상기 제2 가상 에이전트에 송신되는 것인 방법.
  12. 제2항에 있어서, 상기 적어도 하나의 액션은 상기 제1 가상 에이전트에 상기 응답 통신을 송신하는 것을 포함하는 것인 방법.
  13. 적어도 하나의 컴퓨터에 의해 실행될 때, 가상 에이전트들 간에 통신하는 방법을 수행하는 복수의 명령어로 인코딩된 컴퓨터-판독가능한 매체로서, 상기 가상 에이전트의 각각은 사용자와 연관되어 있고, 상기 방법은,
    제1 사용자로부터 입력을 수신하는 단계;
    상기 제1 사용자와 연관된 제1 가상 에이전트에 의해, 제2 사용자와 연관된 제2 가상 에이전트와의 통신 세션을 인보크할지 결정하는 단계; 및
    상기 통신 세션을 인보크하기로 결정하는 것에 응답하여 상기 제2 가상 에이전트에 아웃고잉 통신을 송신하는 단계를 포함하되, 상기 아웃고잉 통신은 상기 제2 가상 에이전트가 상기 제1 사용자를 대신하여 적어도 하나의 액션을 수행하라는 요청을 포함하는 것인 컴퓨터-판독가능한 매체.
  14. 전자 디바이스로서,
    제1 사용자로부터 입력을 수신하도록 구성된 통신 인터페이스; 및
    제2 사용자와 연관된 제2 가상 에이전트와의 통신 세션을 인보크할지 결정하도록, 그리고
    상기 통신 세션을 인보크하기로 결정하는 것에 응답하여 상기 제2 가상 에이전트에 아웃고잉 통신을 송신하도록 구성된 제1 가상 에이전트를 포함하되, 상기 아웃고잉 통신은 상기 제2 가상 에이전트가 상기 제1 사용자를 대신하여 적어도 하나의 액션을 수행하라는 요청을 포함하는 것인 전자 디바이스.
  15. 제14항에 있어서, 상기 통신 인터페이스는 음성 입력을 인식하도록 구성된 적어도 하나의 음성 인터페이스를 포함하는 것인 전자 디바이스.
  16. 제1 사용자로부터 입력을 수신함이 없이 상기 제1 사용자와 연관된 제1 가상 에이전트에 의해 태스크를 관리하는 방법으로서, 상기 방법은,
    상기 제1 가상 에이전트에 의해, 상기 태스크와 연관된 조건이 발생했는지 결정하는 단계; 및
    상기 조건이 일어났다고 결정하는 것에 응답하여 제2 사용자와 연관된 제2 가상 에이전트에 아웃고잉 통신을 송신하는 단계를 포함하는 것인 방법.
  17. 제1항에 있어서, 상기 태스크는 상기 제1 사용자에 대한 일정 애플리케이션 내 이벤트를 관리하는 것을 포함하는 것인 방법.
  18. 제17항에 있어서, 상기 태스크와 연관된 조건이 발생했는지 결정하는 단계는,
    상기 일정 애플리케이션에 대한 사용자 데이터에 기반하여, 상기 제1 사용자가 특정 시간에 이벤트를 예정하였다고 결정하는 단계; 및
    상기 제1 사용자가 상기 특정 시간에 예정된 상기 이벤트에 참석할 수 없을 것이라고 결정하는 단계를 포함하는 것인 방법.
  19. 제18항에 있어서, 상기 아웃고잉 통신은 상기 제1 사용자가 상기 특정 시간에 예정된 상기 이벤트에 참석할 수 없을 것이라는 표시를 포함하는 것인 방법.
  20. 제19항에 있어서, 상기 아웃고잉 통신은 적어도 한 번은 상기 제1 사용자가 상기 이벤트를 재예정하도록 이용가능할 때 예정된 상기 이벤트를 재예정하라는 요청을 포함하는 것인 방법.
  21. 제18항에 있어서, 상기 제1 사용자가 상기 특정 시간에 예정된 상기 이벤트에 참석할 수 없을 것이라고 결정하는 단계는,
    상기 제1 사용자의 위치 및 예정된 상기 이벤트의 위치를 결정하는 단계;
    상기 제1 사용자가 상기 제1 사용자의 상기 위치로부터 예정된 상기 이벤트의 상기 위치로 이동하는 시간량으로서 이동 시간을 결정하는 단계; 및
    상기 이동 시간이 현재 시간과 예정된 상기 이벤트의 상기 시간 간 시간량보다 더 크다고 결정하는 것에 응답하여 상기 제1 사용자가 상기 특정 시간에 예정된 상기 이벤트에 참석할 수 없을 것이라고 결정하는 단계를 포함하는 것인 방법.
  22. 제16항에 있어서, 상기 태스크는 인커밍 통신을 수신하는 것을 포함하고, 상기 태스크와 연관된 조건이 발생했는지 결정하는 단계는 상기 제1 사용자가 상기 인커밍 통신을 수신하도록 이용가능하지 않은지 결정하는 단계를 포함하는 것인 방법.
  23. 제22항에 있어서,
    상기 제2 가상 에이전트로부터 인커밍 통신을 수신하는 단계; 및
    상기 제1 사용자가 상기 인커밍 통신을 수신하도록 이용가능하지 않다고 결정하는 것에 응답하여 상기 제2 가상 에이전트에 상기 아웃고잉 통신을 송신하는 단계를 더 포함하는 방법.
  24. 제23항에 있어서,
    상기 제1 사용자가 이용가능할 때를 상기 제1 사용자에 대한 일정 데이터에 적어도 일부 기반하여 결정하는 단계를 더 포함하되, 상기 아웃고잉 통신은 상기 제1 사용자가 이용가능할 때의 표시를 포함하는 것인 방법.
  25. 제21항에 있어서, 상기 제1 사용자가 상기 인커밍 통신을 수신하도록 이용가능하지 않은지 결정하는 단계는 상기 인커밍 통신을 수신한 전자 디바이스의 모드 및/또는 상기 제1 사용자에 대한 일정 데이터에 적어도 일부 기반하여 상기 제1 사용자의 이용가능성을 결정하는 단계를 포함하는 것인 방법.
  26. 적어도 하나의 컴퓨터에 의해 실행될 때, 제1 사용자로부터 입력을 수신함이 없이 상기 제1 사용자와 연관된 제1 가상 에이전트에 의해 태스크를 관리하는 방법을 수행하는 복수의 명령어로 인코딩된 컴퓨터-판독가능한 매체로서, 상기 방법은,
    상기 제1 가상 에이전트에 의해, 상기 태스크와 연관된 조건이 발생했는지 결정하는 단계; 및
    상기 조건이 일어났다고 결정하는 것에 응답하여 제2 사용자와 연관된 제2 가상 에이전트에 아웃고잉 통신을 송신하는 단계를 포함하는 것인 컴퓨터-판독가능한 매체.
  27. 전자 디바이스로서,
    제1 사용자와 연관된 제1 가상 에이전트를 포함하되, 상기 제1 가상 에이전트는,
    상기 제1 가상 에이전트에 할당된 태스크와 연관된 조건이 발생했는지 결정하도록, 그리고
    상기 조건이 일어났다고 결정하는 것에 응답하여 제2 사용자와 연관된 제2 가상 에이전트에 아웃고잉 통신을 송신하도록 구성되는 것인 전자 디바이스.
  28. 가상 에이전트들 간에 통신을 용이하게 하는 방법으로서, 상기 가상 에이전트의 각각은 사용자와 연관되어 있고, 상기 방법은,
    제1 사용자와 연관된 제1 가상 에이전트로부터의 통신을 제2 사용자와 연관된 제2 가상 에이전트에 의해 수신하는 단계; 및
    상기 통신을 수신하는 단계에 응답하여 적어도 하나의 액션을 수행하는 단계를 포함하는 것인 방법.
  29. 제28항에 있어서,
    상기 통신을 수신하는 단계에 응답하여, 사용자 대화가 요구되는지 결정하는 단계; 및
    사용자 대화가 요구된다고 결정하는 것에 응답하여 상기 제2 사용자에게 프롬프트하는(prompting) 단계를 더 포함하는 방법.
  30. 제29항에 있어서, 상기 제1 사용자로부터의 상기 통신은 정보에 대한 요청을 포함하고, 상기 사용자 대화가 요구되는지 결정하는 단계는 요청된 상기 정보가 공개로 지정되었는지 비공개로 지정되었는지 결정하는 단계를 포함하는 것인 방법.
  31. 제29항에 있어서, 상기 사용자 대화가 요구되는지 결정하는 단계는 요청된 상기 정보가 상기 제2 사용자의 위치 정보에 대한 요청을 포함하는지 결정하는 단계를 포함하는 것인 방법.
  32. 제29항에 있어서, 상기 사용자에게 프롬프트하는 단계는 상기 제1 가상 에이전트로부터의 상기 통신을 수신하는 전자 디바이스 상의 사용자 인터페이스 상에 프롬프트를 디스플레이하는 단계를 포함하고, 상기 방법은,
    상기 프롬프트를 디스플레이하는 단계에 응답하여 상기 제2 사용자로부터 입력을 수신하는 단계를 더 포함하되,
    상기 적어도 하나의 액션은 상기 제2 사용자로부터의 상기 입력에 적어도 일부 기반하여 수행되는 것인 방법.
  33. 제28항에 있어서,
    상기 제2 가상 에이전트에 의해, 응답을 상기 제1 가상 에이전트에 송신하는 단계를 더 포함하는 방법.
  34. 제28항에 있어서,
    상기 제1 가상 에이전트로부터의 상기 통신이 상기 제2 사용자의 위치에 대한 정보를 제공하라는 요청을 포함한다고 결정하는 단계; 및
    상기 제2 사용자의 상기 위치를 나타내는 적어도 하나의 응답을 상기 제1 가상 에이전트에 송신하는 단계를 더 포함하는 방법.
  35. 제28항에 있어서,
    상기 제1 가상 에이전트로부터의 상기 통신이 이벤트를 예정 또는 재예정하라는 요청을 포함한다고 결정하는 단계를 더 포함하되,
    상기 적어도 하나의 액션을 수행하는 단계는 상기 제2 사용자로부터의 대화 없이 상기 이벤트를 예정 또는 재예정하도록 상기 제1 가상 에이전트와 조율하는 단계를 포함하는 것인 방법.
  36. 제35항에 있어서, 상기 제1 가상 에이전트와 조율하는 단계는 적어도 하나의 응답을 상기 제1 가상 에이전트에 송신하는 단계를 포함하되, 상기 응답은 상기 제2 사용자에 대한 일정 정보에 적어도 일부 기반하는 것인 방법.
  37. 적어도 하나의 컴퓨터에 의해 실행될 때, 가상 에이전트들 간에 통신을 용이하게 하는 방법을 수행하는 복수의 명령어로 인코딩된 컴퓨터-판독가능한 매체로서, 상기 가상 에이전트의 각각은 사용자와 연관되어 있고, 상기 방법은,
    제1 사용자와 연관된 제1 가상 에이전트로부터의 통신을 제2 사용자와 연관된 제2 가상 에이전트에 의해 수신하는 단계; 및
    상기 통신을 수신하는 단계에 응답하여 적어도 하나의 액션을 수행하는 단계를 포함하는 것인 컴퓨터-판독가능한 매체.
  38. 전자 디바이스로서,
    제1 사용자와 연관된 제1 가상 에이전트로부터의 통신을 수신하도록 구성된 통신 인터페이스; 및
    제2 사용자와 연관된 제2 가상 에이전트를 포함하되, 상기 제2 가상 에이전트는,
    상기 통신을 수신하는 것에 응답하여 적어도 하나의 액션을 수행하도록 구성되는 것인 전자 디바이스.
KR20157006135A 2012-08-10 2013-08-08 전자 디바이스에 대한 가상 에이전트 통신 KR20150046100A (ko)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180096646A (ko) * 2016-09-20 2018-08-29 구글 엘엘씨 봇 상호작용

Families Citing this family (182)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
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)

* Cited by examiner, † Cited by third party
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

Cited By (5)

* Cited by examiner, † Cited by third party
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