CN107636613A - 到第三方应用的数字助理可扩展性 - Google Patents

到第三方应用的数字助理可扩展性 Download PDF

Info

Publication number
CN107636613A
CN107636613A CN201680027982.0A CN201680027982A CN107636613A CN 107636613 A CN107636613 A CN 107636613A CN 201680027982 A CN201680027982 A CN 201680027982A CN 107636613 A CN107636613 A CN 107636613A
Authority
CN
China
Prior art keywords
application
equipment
service
digital assistants
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201680027982.0A
Other languages
English (en)
Other versions
CN107636613B (zh
Inventor
T·萨蒂
M·帕滕
S·林德赛
C·C·童
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority to CN202110686184.1A priority Critical patent/CN113407278A/zh
Publication of CN107636613A publication Critical patent/CN107636613A/zh
Application granted granted Critical
Publication of CN107636613B publication Critical patent/CN107636613B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72412User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories using two-way short-range wireless interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/22Details of telephonic subscriber devices including a touch pad, a touch sensor or a touch detector
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/74Details of telephonic subscriber devices with voice recognition means
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Sub-Exchange Stations And Push- Button Telephones (AREA)

Abstract

数字助理包括与被第三方开发者构建的应用扩展对接的可扩展性客户端,使得应用用户体验、内容或特征的各个方面可被整合到数字助理中并作为本机数字助理体验被渲染。应用扩展可使用各种提供自基于云的源和/或本地源的服务(诸如语言/词汇、用户偏好和上下文服务),这些服务在使得扩展能够在数字助理上下文内插入并无缝地操作的同时添加智能和上下文相关性。应用扩展还可访问和利用由各服务展示的一般数字助理功能、数据结构和库并使用在扩展中捕捉的编程特征来实现特定于应用域的上下文和行为。这种到第三方应用的可扩展性可以拓宽数字助理可用来回答问题和为用户执行动作的信息数据库的范围。

Description

到第三方应用的数字助理可扩展性
背景
数字助理可向设备用户提供各种特征并能通过使用语音交互来使得更容易与设备交互来执行任务、获得信息并且保持与朋友和同事的连接。典型地,用户可使用语音输入来与数字助理交互,而数字助理可使用其自己的嗓音来向用户说话。当前的特征对于许多使用场景而言以令人满意的方式执行,但是增加的功能可使得数字助理更加有利和有生产力。
提供本背景来介绍以下概述和详细描述的简要上下文。本背景不旨在帮助确定所要求保护的主题的范围,也不旨在将所要求保护的主题限于解决以上所提出的缺点或文体中的任一个或全部的实现。
概述
设备(诸如智能电话、平板、个人计算机(PC)、游戏控制台等)上所支持的数字助理包括与第三方开发者所构建的应用扩展对接的可扩展性客户端,使得应用用户体验、内容或特征的各个方面可被整合到数字助理中并作为本机数字助理体验来渲染。应用扩展可使用各种提供自基于云的源和/或本地源的服务(诸如语言/词汇、用户偏好和上下文服务),这些服务在使得扩展能够在数字助理上下文内插入并无缝地操作的同时添加智能和上下文相关性。应用扩展还可访问和利用由各服务展示的一般数字助理功能、数据结构和库,并使用在扩展中捕捉的编程特征来实现特定于应用域的上下文和行为。这种到第三方应用的可扩展性可以拓宽数字助理可用来回答问题和为用户执行动作的信息数据库的范围。
本发明的数字助理可扩展性在使用数字助理获得信息和执行任务方面实现提升的用户效率并改进了与设备的整体用户交互性能。通过扩大对数字助理可用的信息数据库,可扩展性提升了回答的质量并使得能够实现在设备上支持更广泛且更完整的响应和动作集。这可减少用于获得所需信息的尝试数量,其可降低到设备的可导致附加资源消耗和用户沮丧的非预期输入的可能性。此外,可扩展性使得设备能够更有效地利用可用的计算资源,在一些情况下包括网络带宽、处理周期、存储器和电池寿命。例如,被数字助理维护的描述上下文和用户行为的数据可被用来使得应用在递送定制内容、信息和用户体验方面更有效地操作,这可减少网络带宽要求以及对设备上处理、存储和存储器资源的负载。
提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并非旨在标识出要求保护的主题的关键特征或必要特征,亦非旨在用作辅助确定要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。将理解,上述主题可被实现为计算机控制的装置、计算机进程、计算系统或诸如一个或多个计算机可读存储介质之类的制品。通过阅读下面的详细描述并审阅相关联的附图,这些及各种其它特征将变得显而易见。
附图描述
图1显示了包括与第三方应用和扩展对接的可扩展性客户端的说明性数字助理;
图2显示了说明性计算环境,其中设备可通过网络与应用服务通信和交互;
图3显示了本地应用和/或浏览器与远程应用服务交互;
图4显示了到数字助理的说明性输入以及可由数字助理执行的一般功能的说明性分类;
图5、6和7显示了用户与数字助理之间的说明性界面;
图8显示了说明性分层架构,其包括数字助理组件、可扩展性客户端和应用扩展;
图9显示了由数字助理可扩展性服务展示的说明性服务;
图10显示了在应用安装期间应用扩展与设备上的操作系统之间的说明性交互;
图11显示了在应用运行时期间应用扩展与数字助理可扩展性客户端之间的说明性交互;
图12显示了被安装在设备上的三个说明性应用扩展;
图13、14和15显示了说明性数字助理可扩展性用户体验场景;
图16、17和18显示了当实现本发明的数字助理可扩展性时可被执行的说明性方法;
图19是可被部分地使用来实现本发明的数字助理可扩展性的说明性计算机系统(诸如个人计算机(PC))的简化框图;
图20示出可被部分地使用来实现本发明的数字助理可扩展性的说明性设备的框图;
图21是说明性移动设备的框图;以及
图22是说明性多媒体控制台的框图。
各附图中相同的附图标记指示相同的元素。除非另外指明否则各元素不是按比例绘制的。
详细描述
图1示出了数字助理可扩展性安排100的概览,其中用户105采用对数字助理112进行主控的设备110。数字助理112支持可扩展性客户端114,该可扩展性客户端114典型地在网络115上与被远程数字助理服务130所支持的可扩展性服务118互操作。替换地,在一些情况下,可扩展性服务可部分地或全部地被实例化为本地服务135。数字助理可扩展性客户端114被配置成实现与应用扩展140的交互,使得应用的用户体验、特征和内容的各个方面可与数字助理112集成。典型地,可扩展性被实现为使得应用可使用数字助理在大部分情形中以类似且一致的声音、外观和感受来渲染用户体验、特征和内容,使得应用和数字助理之间的转换被平滑地处理并且体验被无缝地渲染给用户。
在其中应用作者、开发者或提供者是不与数字助理112的提供者相同的实体的一些情况下,扩展140可与第三方应用150相关联。第一方应用在一些实现中也可被支持。在一些情况下,数字助理可扩展性服务118可支持与应用150的直接交互,如图1的线152所指示的。
现在呈现数字助理可扩展性的说明性实现的各个细节。图2示出了说明性环境200,其中各个用户105使用通过网络115通信的各个设备110。每个设备110包括数字助理112的实例。设备110在一些情况下可支持语音电话能力并且除了各种其他特征之外通常还支持数据消费应用(诸如因特网浏览和多媒体(例如,音乐、视频等)消费)。设备110可包括例如用户装备,移动电话,蜂窝电话,功能电话,平板计算机和用户通常用来打出和接收语音和/或多媒体(即,视频)呼叫、参与消息收发(例如,文本收发)和电子邮件通信、使用应用和访问利用数据的服务、浏览万维网等的智能电话。
其他类型的电子设备也被设想可在环境100内使用,包括手持式计算设备、PDA(个人数字助理)、便携式媒体播放器、使用耳麦和耳机的设备(例如,可兼容蓝牙的设备)、大屏设备(即,组合智能电话/平板设备)、可穿戴计算机、导航设备(诸如GPS(全球定位系统))系统、膝上型PC(个人计算机)、台式计算机、多媒体控制台、游戏系统等。在以下的讨论中,对术语“设备”的使用旨在覆盖配备有通信能力并且具备到通信网络115的连通性能力的所有设备。
环境100中的各个设备110可支持不同的特征、功能和能力(在此统称为“特征”)。给定设备上所支持的特征中的一些可与其他设备上所支持的那些特征类似,但是另一些特征可能对于给定设备而言是唯一的。各个设备110上所支持的特征之间的重叠和/或差异的程度可随着实现而变化。例如,一些设备100可支持触摸控件、姿势识别和语音命令,而其他设备可实现更受限的UI。一些设备可支持视频消费和因特网浏览,而其他设备可支持更受限的媒体处理和网络接口特征。
附件设备218(诸如腕带和其他可穿戴设备)也可存在于环境200中。这种附件设备218通常被适配来使用短程通信协议(如蓝牙)与设备110互操作以支持各功能,诸如对佩戴者的生理机能(例如,心率、走的步数、燃烧的卡路里等等)和环境条件(温度、湿度、紫外线(UV)水平等)的监控以及显现来自耦合设备110的通知。
设备110通常可利用网络115来访问和/或实现各种用户体验。网络可包括包括以下的各种组合或子组合中的各种网络类型和网络基础结构中的任一种:蜂窝网络、卫星网络、IP(网际协议)网络(诸如Wi-Fi和以太网)、公共交换电话网(PSTN)和/或短程网络(诸如Bluetooth网络)。网络基础结构可例如由移动运营商、企业、因特网服务提供商(ISP)、电话服务提供商、数据服务提供商等来支持。
网络115可利用因特网的各部分或包括支持到因特网的连接的接口,使得设备110可访问由一个或多个内容提供者所提供的内容并还渲染由各个应用服务225所支持的用户体验。应用服务225可分别支持各种各样的应用,诸如社交联网、地图、新闻和信息、娱乐、旅游、生产力、金融等等。数字助理服务130(在以下更为详细地描述)也存在于计算环境200中。
如图3中显示的,设备100通常可包括本地组件(诸如浏览器305)或能促进与应用服务225的交互的一个或多个应用150。例如,在一些场景中,用户105可启动本地执行的应用,该本地执行的应用通过网络向服务通信以便检索数据来实现各个特征和功能、提供信息和/或支持能被渲染在本地设备110的用户界面上的给定用户体验。在一些场景中,应用可在设备上本地地操作,而无需与远程服务对接。
图4显示了功能400的说明性分类,这些功能400通常可被数字助理112本机地或与应用150组合地支持。到数字助理112的输入通常可包括用户输入405、来自内部源的数据410以及来自外部源的可包括第三方内容418的数据415。例如,来自内部源的数据410可以包括由设备110上的GPS(全球定位系统)组件或某种其它知晓位置的组件所报告的该设备110的当前位置。外部源提供的数据415包括例如由外部系统、数据库、服务等提供的数据。
各种输入可被单独地使用或以各种组合被使用来使得数字助理112能够在其操作时利用上下文数据420。上下文数据可包括例如,时间/日期、用户的位置、语言、日程、设备上安装的应用、用户的偏好、用户的行为(其中这种行为在对用户通知且用户同意的情况下被监控/跟踪)、存储的联系人(在一些情况下包括到本地用户的或远程用户的社交图(诸如由外部社交联网服务所维护的那些)的链接)、呼叫历史、消息收发历史、浏览历史、设备类型、设备能力、通信网络类型和/或其中所提供的特征/功能、移动数据计划约束/限制、与针对通信的其他方相关联的数据(例如,他们的日程、偏好等)等等。
如所示,功能400说明性地包括与用户(例如通过自然语言UI和其它图形UI)交互425;执行任务430(例如在用户日历上做约会记录、发送消息和电子邮件等);提供服务435(例如回答来自用户的问题、绘制到目的地的路线、设置闹钟、转发通知、读取电子邮件、新闻、博客等);收集信息440(例如查找由用户请求的关于书籍或电影的信息、定位最近的意大利餐馆等);操作设备445(例如设定偏好、调整屏幕亮度、开启和关闭无线连接(例如Wi-Fi和蓝牙)、与其他设备通信、控制智能电器等);以及执行各种其它功能450。功能400列表并不旨在是穷尽性的并且其他功能可被数字助理112和/或应用150提供,因为它们可能被需要来用于本发明的数字助理可扩展性的特定实现。
取决于给定设备110所支持的特征和功能,用户通常可以数种方式与数字助理112交互。例如,如图5中显示的,数字助理112可展示有形用户界面505,其使得用户105能够利用物理交互510来支持设备110上的用户体验。这种物理交互可包括在触摸屏上使用基于触摸的输入(类似于轻扣、轻拂、拖曳等)来操纵物理和/或虚拟控件(诸如按钮、采单、键盘等)等。
在一些实现中,数字助理112可展示图6中显示的自然语言用户界面605,或替换地基于语音命令的用户界面(未显示),用户通过该基于语音命令的用户界面采用语音610来向设备110提供各种输入。
在其他实现中,数字助理112可展示图7中显示的姿势用户界面705,用户105可通过该姿势用户界面采用姿势710来向设备110提供输入。注意,在一些情况下,用户界面的各种组合可被利用,其中用户可例如采用语音和物理输入两者来与数字助理112和设备110交互。用户姿势可使用各种技术(诸如光学感测、触摸感测、邻近度感测等)来被感测。
图8显示了可在给定设备110上被实例化的说明性分层架构800。架构800通常以软件来实现,但是在一些情况下,也可采用软件、固件、和/或硬件的组合来实现。架构800被布置成多层,并且包括应用层805、OS(操作系统)层810、以及硬件层815。硬件层815将对设备110所使用的各种硬件(例如,输入和输出设备、联网和无线电硬件等)的抽象提供到在硬件层之上的各层。在该说明性示例中,硬件层支持话筒820和音频端点825,其可包括例如设备的内置扬声器、有线或无线耳机/耳塞、外置扬声器/设备等。
在本说明性示例中的应用层805支持各种应用150(例如,web浏览器、地图应用、电子邮件应用、新闻应用等)以及数字助理可扩展性客户端114。应用通常使用本地执行代码来实现。然而,在一些情况中,这些应用可以依赖于由远程服务器或其它计算平台所提供的服务和/或远程代码执行,诸如服务提供者或其他基于云的资源所支持的那些。尽管数字助理可扩展性客户端114在本文中被显示为被实例化在应用层805中的组件,但是可以理解,给定应用所提供的功能可使用在OS或硬件层中所支持的组件来被整体地或部分地实现。
OS层810支持数字助理112和各种其他OS组件855。在典型实现中,数字助理112可与数字助理服务130交互,如线860所指示的。即,数字助理112在一些实现中可部分地利用或完全利用服务130处所支持的远程代码执行,或使用其他远程资源。此外,其可利用其他OS组件855(和/或被实例化在架构800的其他层中的其他组件)和/或与其他OS组件855交互,因为其他OS组件可能被需要来实现本文中所描述的各个特征和功能。在一些实现中,数字助理可扩展性客户端114所支持的功能中的一些或全部可被整合到数字助理中,如图8中的虚线矩形所显示的。如以上提到的,数字助理112还可与被部分地或全部地本地地实例化在设备110上的可扩展性服务交互。例如,服务可应用本地资源并实现本地逻辑以便支持各种用户体验和特征。
图9显示了可被远程数字助理可扩展性服务118和本地客户端114展示给应用扩展140的说明性服务900。服务900还可部分地或全部地被可扩展性客户端114和/或本地数字助理可扩展性服务135(图1)本地地实现和/或渲染在设备110上。替换地,服务中的一些或全部在一些情况下使用能够进行远程访问的界面(未显示)来直接从可扩展性服务118提供到应用。服务130可访问来自各种提供者的其他服务(诸如搜索服务935),因为这些其他服务可能被需要来支持服务900的供应。
语言和词汇服务905可支持在向数字助理提供数据和/或服务时扩展对不同语言的利用。例如,一些应用可在多语言设置中被使用,而其他应用可具有区域或全球分布,这使得它吸引支持多个语言。词汇服务可支持应用对专用和/或特定于产业的词汇的利用。例如,技术和科学词汇可被支持用于处理计算机和技术新闻的应用。由此,新闻读取应用可访问词汇服务,使得当文章通过数字助理对用户105大声朗读时,特定术语被正确地发音。
用户偏好服务910可使得扩展能够在提供数据和服务时将数字助理所维护的用户偏好考虑在内。上下文服务915类似地可使得扩展能够使用被数字助理维护的上下文数据。其他服务920也可被可扩展性服务118展示以满足特定实现的需要。
如图10中显示的,在应用扩展140在设备110上的安装期间,应用包清单1015或被用来确认和部署应用的类似的安装包被配置成启动访问数字助理资源的请求1020。典型地,该请求描述针对应用的交互的可扩展性点、所要求的能力和资源的描述等以促进应用和操作系统1050和/或在其上执行的数字助理组件之间的交互。
如图11中显示的,在运行时环境1110中在设备110上处于运行时的应用扩展操作期间,应用扩展140可通过应用编程接口(API)1115和数字助理可扩展性客户端114对接并加载可包括特定于应用的资源(诸如图形、音频、命令和其他信息)的清单1120。例如,清单1120可包括可从清单中加载并向数字助理可扩展性客户端注册的关键词1122。经注册的关键词可由用户在运行时调用并且输入事件可针对适当的应用扩展。应用名称是关键词的典型示例,使得用户可通过名称来引导数字助理启动应用或从命名的应用中获得信息、服务、内容等。在运行时期间,可扩展性客户端114可将与用户输入、动作和行为相关联的事件传递到应用扩展中的事件处理程序1125。应用扩展可应用逻辑1130(诸如脚本和其他编程构件)以便通过数字助理促进特定用户体验或用户界面。
图12显示了被安装在设备110上的三个说明性应用和对应的扩展。应用包括电影数据库应用1205和扩展1210、电子商务应用1215和扩展1220以及众包评论应用1225和扩展1230。强调的是,应用和扩展旨在是说明性的,并且各种应用和扩展中的任何一个可在给定场景中被利用。
图13-15显示了使用图12中显示的并在伴随文本中描述的三个应用的说明性数字助理可扩展性用户体验。在图13中,用户105具有与在设备110上操作的数字助理112(在这个说明性示例中名为“Cortana(小娜)”)的交互。如显示的,数字助理可通过其扩展与电子商务应用交互来显现关于用户愿望清单上的各项的信息。在图14中,数字助理可通过其扩展与电影数据库应用交互来为用户寻找推荐的电影。数字助理能够使用其能力来跟踪通信,以便寻找最佳方式来将电影信息转发到用户的联系人之一。用户还可通过名称来调用第三方应用,在这个情况下为“Xbox视频”,使得数字助理将响应于用户的请求来与命名的应用交互。在此,Xbox视频应用扩展将其名称注册为关键词,使得用户能够在与数字助理交互时通过名称来提到该应用。
在图15中,数字助理通过其扩展与众包评论应用对接以向用户提供餐厅推荐。数字助理可使用来自评论应用的信息来提供各种服务,诸如显现推荐、转发菜单、提供路线等。
图16显示了用于在设备(例如,设备110)上操作数字助理的说明性方法1600的流程图。除非明确说明,否则流程图中所示并且在伴随的文本中描述的方法或步骤不限于特定的次序或顺序。此外,一些方法或其步骤可同时发生或被执行,并且取决于给定实现的要求,在此类实现中不是所有方法或步骤均需要被执行,并且一些方法或步骤可任选地被使用。
在步骤1605,一界面被配置用于接收来自与在设备上操作的相应应用相关联的扩展的特定于应用的服务。在步骤1610,用户界面被配置成接收来自设备用户的语音命令。在步骤1615,接收到的输入被映射到相应的扩展以用于处理。在步骤1620,数字助理可扩展性服务(诸如图9中显示的并在伴随文本中描述的服务900)可被展示给应用扩展。
在步骤1625,数字助理可扩展性客户端响应于设备用户输入接收来自扩展的特定于应用的服务。在步骤1630,特定于应用的服务可被渲染,使得跨应用的用户体验作为本机数字助理用户体验来被展示。
图17是可被实现在设备(例如,设备110)上的说明性方法1700的流程图。在步骤1705,上下文知晓数字助理被展示在设备上,其中上下文知晓性至少部分地可通过监视用户行为以及与设备的交互(通常,在通知用户且用户同意的情况下)来取得。在步骤1710,接收到来自用户的输入。在步骤1715,上下文知晓性被用于将用户输入递送到应用扩展以供处理。在步骤1720,应用扩展可加载特定于应用的资源、运行脚本以及处理事件。在一些情况下,在步骤1725,应用数据库可作为服务的一部分来被展示。在步骤1730,数字助理被操作来渲染从扩展接收到的服务。
图18显示了可被服务提供者利用的说明性方法1800。在步骤1805,提供者处的一个或多个服务器可与在本地设备上运行的数字助理可扩展性客户端互操作。在步骤1810,数字助理可扩展性服务被维持,在步骤1815,它们通过本地可扩展性客户端被提供到应用扩展。
图19是可用来实现本发明的数字助理可扩展性的诸如PC、客户端机器或服务器之类的说明性计算机系统1900的简化框图。计算机系统1900包括处理器1905、系统存储器1911以及将包括系统存储器1911的各种系统组件耦合至处理器1905的系统总线1914。系统总线1914可以是若干类型的总线结构中的任一种,包括使用各种总线体系结构中的任一种的存储器总线或存储器控制器、外围总线、或局部总线。系统存储器1911包括只读存储器(ROM)1917和随机存取存储器(RAM)1921。基本输入/输出系统(BIOS)1925被存储在ROM1917中,该基本输入/输出系统包含诸如在启动期间帮助在计算机系统1900内的元件之间传输信息的基本例程。计算机系统1900还可包括对内置硬盘(未示出)读写的硬盘驱动器1928、对可移动磁盘1933(例如,软盘)读写的磁盘驱动器1930、以及对诸如CD(压缩盘)、DVD(数字多功能盘)或其他光学介质之类的可移动光盘1943读写的光盘驱动器1938。硬盘驱动器1928、磁盘驱动器1930,以及光盘驱动器1938分别通过硬盘驱动器接口1946、磁盘驱动器接口1949,以及光盘驱动器接口1952连接到系统总线1914。驱动器及其相关联的计算机可读存储介质为计算机系统1900提供了对计算机可读指令、数据结构、程序模块,及其他数据的非易失性存储。虽然这个说明性的示例包括硬盘、可移动磁盘1933以及可移动光盘1943,但是可存储可被计算机访问的数据的其它类型的计算机可读存储介质(诸如磁带盒、闪存卡、数字视频卡、数据磁带、随机存取存储器(“RAM”)、只读存储器(“ROM”)等)也可在本发明的数字助理可扩展性的一些应用中使用。此外,如在此使用的,术语计算机可读介质包括媒体类型的一个或多个实例(例如,一个或多个磁盘、一个或多个CD等)。出于本说明书和权利要求书的目的,短语“计算机可读存储介质”及其变型不包括波、信号和/或其他瞬态和/或无形通信介质。
若干个程序模块可被储存在硬盘、磁盘1933、光盘1943、ROM 1917,或者RAM 1921上,包括操作系统1955、一个或多个应用程序1957、其他程序模块1960,以及程序数据1963。用户可通过诸如键盘1966和定点设备1968(诸如鼠标)之类的输入设备向计算机系统1900中输入命令和信息。其它输入设备(未显示)可包括话筒、操纵杆、游戏垫、圆盘式卫星天线、扫描仪、跟踪球、触摸垫、触摸屏、触敏设备、语音命令模块或设备、用户运动或用户姿势捕捉设备等。这些及其他输入设备常常通过耦合到系统总线1914的串行端口接口1971连接到处理器1905,但是,但也可以通过其他接口,如并行端口、游戏端口或通用串行总线(USB)端口、来进行连接。监视器1973或其他类型的显示设备也可经由诸如视频适配器1975之类的接口被连接到系统总线1914。除监视器1973以外,个人计算机通常包括诸如扬声器和打印机之类的其他外围输出设备(未示出)。图19中显示的说明性示例还包括主机适配器1978、小型计算机系统接口(SCSI)总线1983以及连接到SCSI总线1983的外置存储设备1976。
计算机系统1900在使用到诸如远程计算机1988之类的一个或多个远程计算机的逻辑连接的联网环境中可操作。远程计算机1988可被选择为另一台个人计算机、服务器、路由器、网络PC、对等设备或其他公共网络节点,并且通常包括以上关于计算机系统1900所描述的许多或所有元件,尽管在图19中仅示出单个代表性远程存储器/存储设备1990。图19中所描绘的逻辑连接包括局域网(LAN)1993和广域网(WAN)1995。此类联网环境通常被部署在例如办公室、企业范围的计算机网络、内联网和互联网中。
当在LAN联网环境中使用时,计算机系统1900通过网络接口或适配器1996被连接到局域网1993。当在WAN联网环境中使用时,计算机系统1900通常包括宽带调制解调器1998、网络网关或用于通过诸如互联网之类的广域网1995建立通信的其他装置。内置或者外置的宽带调制解调器1998经由串行端口接口1971被连接到系统总线1914。在联网环境中,与计算机系统1900相关的程序模块或其部分可被储存在远程存储器存储设备1990中。注意,图19中显示的网络连接是说明性的,并且取决于本发明的数字助理可扩展性的应用的具体要求,用于建立计算机之间的通信链路的其它手段可被使用。
图20示出能够执行此处所描述的用于提供本发明的数字助理可扩展性的各个组件的设备的说明性架构2000。因此,由图20例示出的架构2000示出如下架构:该架构可被适配成用于服务器计算机、移动电话、PDA、智能电话、台式计算机、上网本计算机、平板计算机、GPS设备、游戏控制台和/或膝上型计算机。架构2000可被用来执行本文所呈现的组件的任何方面。
图20中所示的架构2000包括CPU(中央处理单元)2002、包括RAM 2006和ROM 2008的系统存储器2004,以及将存储器2004耦合至CPU 2002的系统总线2010。基本输入/输出系统被储存在ROM 2008中,该系统包含帮助诸如在启动期间在架构2000中的元件之间传递信息的基本例程。架构2000还包括用于储存被用来实现应用、文件系统和操作系统的软件代码或其他被计算机执行的代码的大容量存储设备2012。
大容量存储设备2012通过被连接到总线2010的大容量存储控制器(未示出)被连接到CPU 2002。大容量存储设备2012及其相关联的计算机可读存储介质为架构2000提供非易失性存储。
虽然对此处包含的计算机可读存储介质的描述引用了诸如硬盘或CD-ROM驱动等大容量存储设备,但本领域的技术人员应当理解,计算机可读存储介质可以是可由架构2000访问的任何可用的存储介质。
作为示例而非限制,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。例如,计算机可读存储介质包括,但不限于,RAM、ROM、EPROM(可擦除可编程只读存储器)、EEPROM(电可擦除可编程只读存储器)、闪存或其他固态存储器技术,CD-ROM、DVD、HD-DVD(高清晰度DVD)、蓝光或其他光学存储,磁带盒、磁带、磁盘存储或其他磁存储设备,或可以用来存储所需信息并可由架构2000访问的任何其他介质。
根据各实施例,架构2000可以使用通过网络至远程计算机的逻辑连接在联网环境中操作。架构2000可以通过连接至总线2010的网络接口单元2016来连接到网络。应当理解,网络接口单元2016还可以被用来连接到其他类型的网络和远程计算机系统。架构2000还可以包括用于接收和处理来自数个其他设备的输入的输入/输出控制器2018,这些设备包括键盘、鼠标或者电子指示笔(未在图20中示出)。类似地,输入/输出控制器2018可向显示屏、打印机,或者其他类型的输出设备(在图20中也未示出)提供输出。
应当理解,本文所描述的软件组件在被加载到CPU 2002中并被执行时可以将CPU2002和总体架构2000从通用计算系统变换成为方便本文所提出的功能而定制的专用计算系统。CPU 2002可以用任意数量的晶体管或其他分立的电路元件(它们可以分别地或共同地呈现任意数量的状态)来构建。更具体而言,CPU 2002可响应于被包含在本文所公开的软件模块中的可执行指令而作为有限状态机来操作。这些计算机可执行指令可以通过指定CPU 2002如何在各状态之间转换来变换CPU 2002,由此变换了构成CPU 2002的晶体管或其他分立硬件元件。
对本文所提出的软件模块的编码也可变换本文所提出的计算机可读存储介质的物理结构。在本说明书的不同实现中,物理结构的具体变换可取决于各种因素。这样的因素的示例可以包括,但不限于:被用来实现计算机可读存储介质的技术、计算机可读存储介质被表征为主存储器还是辅存储器等等。例如,如果计算机可读存储介质被实现为基于半导体的存储器,则本文所公开的软件可以通过变换半导体存储器的物理状态而在计算机可读存储介质上编码。例如,软件可以变换构成半导体存储器的晶体管、电容器或其他分立电路元件的状态。软件还可变换这些组件的物理状态以在其上存储数据。
作为另一示例,本文所公开的计算机可读存储介质可以使用磁或光技术来实现。在这些实现中,本文所提出的软件可以在磁或光介质中编码了软件时变换所述磁或光介质的物理状态。这些变换可以包括改变给定磁性介质内的特定位置的磁性。这些变换还可以包括改变给定光学介质内的特定位置的物理特征或性质来改变这些位置的光学性质。在没有偏离本说明书的范围和精神的情况下,物理介质的其他变换也是可以的,前面提供的示例只是为了便于此讨论。
鉴于以上内容,应当理解,在架构2000中发生许多类型的物理变换以便存储并执行本文所提出的软件组件。还应理解,架构2000可包括其它类型的计算设备,包括手持计算机、嵌入式计算机系统、智能手机、PDA、以及本领域技术人员已知的其它类型的计算设备。还构想了架构2000可不包括图20中所示的所有组件,可包括未在图20中明确示出的其他组件,或者可利用与图20中所示的架构完全不同的架构。
图21是诸如移动电话或智能电话的说明性设备110的功能框图,其包括各种任选的硬件和软件组件,在2102处概括地示出。移动设备中的任何组件2102可与任何其他组件通信,但出于容易例示的目的而未示出所有连接。该移动设备可以是各种计算设备(例如,蜂窝电话、智能电话、手持式计算机、PDA等)中的任一个,并且可允许与诸如蜂窝或卫星网络的一个或多个移动通信网络2104进行无线双向通信。
所示设备110可包括用于执行如信号编码、数据处理、输入/输出处理、功率控制和/或其他功能等任务的控制器或处理器2110(例如,信号处理器、微处理器、微控制器、ASIC(专用集成电路)、或其他控制和处理逻辑电路)。操作系统2112可控制对组件2102的分配和使用(包括功率状态、上锁状态、以及解锁状态),并提供对一个或多个应用程序2114的支持。应用程序可包括公共移动计算应用(例如,图像捕捉应用、电子邮件应用、日历、联系人管理器、web浏览器、消息收发应用)、或任何其他计算应用。
图示的设备110可以包括存储器2120。存储器2120可以包括不可移动存储器2122和/或可移动存储器2124。不可移动存储器2122可以包括RAM、ROM、闪存、硬盘或者其他公知的存储器存储技术。可移动存储器2124可包括闪存或订户身份模块(SIM)卡,其在GSM(全球移动通信系统)系统中是众所周知的,或者其他众所周知的存储器存储技术,诸如“智能卡”。存储器2120可用于存储数据和/或用于运行操作系统2112和应用程序2114的代码。示例数据可以包括要经由一个或多个有线或无线网络被发送至和/或接收自一个或多个网络服务器或其他设备的网页、文本、图像、声音文件、视频数据或者其他数据集。
存储器2120还可被布置为或包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的一个或多个计算机可读存储介质。例如,计算机可读存储介质包括,但不限于,RAM、ROM、EPROM、EEPROM、闪存或其他固态存储器技术,CD-ROM(紧致盘ROM)、DVD(数字多功能盘)、HD-DVD(高清晰度DVD)、蓝光或其他光学存储,磁带盒、磁带、磁盘存储或其他磁存储设备,或可以用来存储所需信息并可由设备110访问的任何其他介质。
存储器2120可用于存储订户标识符和设备标识符,所述订户标识符诸如国际移动订户身份(IMSI),所述设备标识符诸如国际移动设备标识符(IMEI)。这种标识符可以被发射至网络服务器以标识用户和设备。设备110可支持一个或多个输入设备2130;诸如触摸屏2132;用于实现用于语音识别、语音命令等的语音输入的实现的话筒2134;相机2136;物理键盘2138;轨迹球2140;和/或邻近度传感器2142;以及一个或多个输出设备2150,诸如扬声器2152以及一个或多个显示器2154。在一些情况下,还可采用使用姿势识别的其它的输入设备(未示出)。其他可能的输出设备(未示出)可包括压电或触觉输出设备。一些设备可以用于多于一个输入/输出功能。例如,触摸屏2132和显示器2154可被组合在单个输入/输出设备内。
无线调制解调器2160可被耦合到天线(未示出),并可支持处理器2110和外部设备之间的双向通信,如本领域中清楚理解的。调制解调器2160被一般性地示出,并且可以包括用于与移动通信网络2104的蜂窝调制解调器和/或其它基于无线电的调制解调器(例如蓝牙2164或Wi-Fi 2162)。无线调制解调器2160一般被配置成与一个或多个蜂窝网络(诸如GSM网络)通信,用于单个蜂窝网络内、多个蜂窝网络之间、或者在设备和公共交换电话网(PSTN)之间的数据和语音通信。
设备可进一步包括至少一个输入/输出端口2180、电源2182、卫星导航系统接收机2184(诸如GPS接收机)、加速计2186、陀螺仪(未示出)和/或物理连接器2190,它可以是USB端口、IEEE 1394(火线)端口、和/或RS-232端口。图示的组件2102不是必须的或全包含的,因为任何组件可以被删除且其他组件可以被添加。
图22是多媒体控制台1104的说明性功能框图。多媒体控制台1104包括具有1级高速缓存2202、2级高速缓存2204和闪存ROM(只读存储器)2206的中央处理单元(CPU)2201。1级高速缓存2202和2级高速缓存2204临时地储存数据,并且因此减少存储器访问周期的数量,由此改进处理速度和吞吐量。CPU 2201可被配置成具有一个以上的核,并且由此具有附加的1级高速缓存2202和2级高速缓存2204。闪存ROM 2206可储存在多媒体控制台1104通电时引导过程的初始阶段期间被加载的可执行代码。
图形处理单元(GPU)2208和视频编码器/视频编解码器(编码器/解码器)2214形成用于高速和高分辨率图形处理的视频处理流水线。经由总线从GPU 2208向视频编码器/视频编解码器2214运送数据。视频处理流水线向A/V(音频/视频)端口2240输出数据,用于传输至电视机或其他显示器。存储器控制器2210被连接到GPU 2208,以便于处理器对各种类型的存储器2212(诸如,但不限于RAM)的访问。
多媒体控制台1104包括优选地在模块2218上实现的I/O控制器2220、系统管理控制器2222、音频处理单元2223、网络接口控制器2224、第一USB(通用串行总线)主控制器2226、第二USB控制器2228和前面板I/O子部件2230。USB控制器2226和2228用作外围控制器2242(1)和2242(2)、无线适配器2248、以及外置存储器设备2246(例如,闪存、外置CD/DVDROM驱动器、可移动介质等)的主机。网络接口控制器2224和/或无线适配器2248提供对网络(例如,互联网、家庭网络等)的访问,并且可以是包括以太网卡、调制解调器、蓝牙模块、电缆调制解调器等的各种不同的有线或无线适配器组件中的任何一种。
系统存储器2243被提供来存储在引导过程期间被加载的应用数据。媒体驱动器2244被提供并且可包括DVD/CD驱动器、硬盘驱动器、或其他可移动媒体驱动器等。媒体驱动器2244对多媒体控制台1104而言可以是内置的或外置的。应用数据可经由媒体驱动器2244来访问,以供多媒体控制台1104执行、回放等。媒体驱动器2244经由诸如串行ATA总线或其他高速连接(例如IEEE1394)之类的总线被连接到I/O控制器2220。
系统管理控制器2222提供与确保多媒体控制台1104的可用性相关的各种服务功能。音频处理单元2223和音频编解码器2232形成具有高保真度和立体声处理的相应音频处理流水线。音频数据经由通信链路在音频处理单元2223与音频编解码器2232之间传输。音频处理流水线将数据输出到A/V端口2240,以供外置音频播放器或具有音频能力的设备再现。
前面板I/O子部件2230支持被展示在多媒体控制台1104的外表面上的电源按钮2250和弹出按钮2252、以及任何LED(发光二极管)或其他指示器的功能。系统供电模块2239向多媒体控制台1104的组件供电。风扇2238冷却多媒体控制台1104内的电路。
多媒体控制台1104内的CPU 2201、GPU 2208、存储器控制器2210以及各种其他组件经由一条或多条总线互连,总线包括串行和并行总线、存储器总线、外围总线、以及使用各种总线架构中的任一种的处理器或局部总线。作为示例,这样的架构可包括外围部件互连(PCI)总线、PCI-Express总线等。
当多媒体控制台1104通电时,应用数据可从系统存储器2243被加载到存储器2212和/或高速缓存2202和2204中,并且可在CPU 2201上被执行。应用可在导航到多媒体控制台1104上可用的不同媒体类型时呈现提供一致用户体验的图形用户界面。在操作中,媒体驱动器2244中所包含的应用和/或其他媒体可从媒体驱动器2244启动或播放,以将附加功能提供给多媒体控制台1104
多媒体控制台1104可通过简单地将该系统连接到电视机或其他显示器而作为独立系统来操作。在该独立模式中,多媒体控制台1104允许一个或多个用户与该系统交互、看电影,或听音乐。然而,随着宽带连接的集成通过网络接口控制器2224而成为可能,多媒体控制台1104可进一步作为更大网络社区中的参与者来操作。
当多媒体控制台1104通电时,可以保留设定量的硬件资源以供多媒体控制台操作系统作系统使用。这些资源可包括存储器的保留量(诸如,16MB)、CPU和GPU周期的保留量(诸如,5%)、网络带宽的保留量(诸如,8kbs),等等。因为这些资源是在系统引导时间被保留的,所以被保留的资源对于应用的视角而言是不存在的。
具体地,存储器保留量优选地足够大,以包含启动内核、并发系统应用和驱动器。CPU保留量优选地为恒定,以使得若所保留的CPU用量不被系统应用使用,则空闲线程将消耗任何未使用的周期。
对于GPU保留量,由系统应用生成的轻量消息(例如,弹出窗口)被显示,所述显示通过使用GPU中断来调度代码以将弹出窗口呈现为覆盖图。覆盖图所需要的存储器量取决于覆盖区域大小,并且覆盖图优选地与屏幕分辨率成比例缩放。在并发系统应用使用完整用户界面的情况下,优选使用独立于应用分辨率的分辨率。缩放器可被用来设置该分辨率,使得对改变频率并导致TV重新同步的需求被消除。
在多媒体控制台1104引导并且系统资源被保留之后,并发系统应用执行来提供系统功能。系统功能被封装在上述所保留的系统资源内执行的一组系统应用中。操作系统内核标识出作为系统应用线程而非游戏应用线程的线程。系统应用优选地被调度为在预定时间并以预定时间间隔在CPU 2201上运行,以便提供对应用而言一致的系统资源视图。调度是为了使针对在控制台上运行的游戏应用的高速缓存中断最小化。
当并发系统应用需要音频时,由于时间敏感性而将音频处理异步地调度给游戏应用。多媒体控制台应用管理器(如下所述)在系统应用活动时控制游戏应用的音频水平(例如,静音、衰减)。
输入设备(例如,控制器2242(1)和2242(2))由游戏应用和系统应用共享。输入设备不是保留的资源,而是要在系统应用和游戏应用之间被切换以使其各自将具有设备的焦点。应用管理器优选地控制输入流的切换,而无需知道游戏应用的知识,并且驱动器维护关于焦点切换的状态信息。
本发明的到第三方应用的数字助理可扩展性的各种示例性实施例现在通过说明的方式而不是作为所有实施例的穷尽性列表来被呈现。一个示例包括一种用于实现在设备上操作的数字助理到一个或多个应用的可扩展性的方法,包括:配置一界面以用于与由与应用中相应的一个应用相关联的扩展所展示的特定于应用的服务互操作;接收来自设备用户的输入;将设备用户输入映射到扩展以用于处理;并且响应于设备用户输入,接收来自扩展的特定于应用的服务。
在另一示例中,该方法还包括渲染特定于应用的服务,使得跨应用的用户体验作为本机数字助理用户体验被展示给设备用户并且藉此特定于应用的服务增加对数字助理可用的回答数据库的大小。在另一示例中,该方法还包括在执行映射时使用上下文数据。在另一示例中,上下文数据包括以下中的一个或多个:时间/日期、用户或设备的位置、语言、日程、设备上所安装的应用、用户偏好、用户行为、用户活动、存储的联系人、呼叫历史、消息收发历史、浏览历史、设备类型、设备能力或通信网络类型。在另一示例中,该方法还包括提供到应用的可扩展性服务,可扩展性服务包括语言服务、词汇服务、用户偏好服务或上下文服务中的一个或多个。在另一示例中,该方法还包括接收来自远程服务提供者的可扩展性服务的各部分。在另一示例中,该方法还包括支持与可扩展性客户端的对接,该可扩展性客户端被配置为用于与远程服务提供者交互。在另一示例中,该方法还包括从被包括在应用扩展中的清单加载特定于应用的资源,特定于应用的资源至少包括向数字助理注册的关键词。在另一示例中,应用扩展还包括用于使用数字助理来实现用户体验或用户界面的逻辑。在另一示例中,该方法还包括响应于用于执行以下中的至少一者的语音输入、姿势输入或手动输入来配置数字助理:共享联系人信息、共享存储的联系人、安排会议、查看用户的日历、安排提醒、打电话、操作设备、玩游戏、进行购买、记笔记、安排闹钟或叫醒提醒、发送消息、检查社交媒体以寻找更新、抓取网站、与搜索服务交互、共享或显示文件、发送到网站的链接或发送到资源的链接。
又一示例包括一种设备,包括:一个或多个处理器;用于使用图形和音频来和设备的用户进行交互的用户界面(UI);以及存储与一个或多个应用相关联的代码和计算机可读指令的存储器设备,该计算机可读指令当被一个或多个处理器执行时执行包括以下步骤的方法:在设备上展示数字助理以用于通过监视用户行为以及与设备的交互来维护针对该设备的上下文知晓性,数字助理还使用语音交互通过UI来和设备用户交互,通过UI来接收来自设备用户的输入,使用上下文知晓性来将输入递送到应用的扩展以用于处理,应用扩展被配置成将来自应用的服务递送到可被数字助理渲染的用户体验中,以及操作数字助理以通过UI向设备用户渲染服务。
在另一示例中,该设备还包括向应用扩展展示一个或多个可扩展性服务。在另一示例中,该设备还包括使得应用扩展能够将来自清单的特定于应用的资源加载到运行时环境内以供执行。在另一示例中,应用扩展包括事件处理程序。在另一示例中,应用扩展包括逻辑,该逻辑包括脚本或编程构件中的一者。在另一示例中,该设备还包括使用应用扩展向数字助理展示与应用相关联的一个或多个数据库。
又一示例包括存储指令的一个或多个计算机可读存储器设备,所述指令在被位于计算机服务器中的一个或多个处理器执行时执行一种方法,所述方法包括以下步骤:与本地设备上的数字助理可扩展性客户端互操作,该数字助理可扩展性客户端向在该设备上可执行的一个或多个应用扩展展示应用编程接口(API),应用扩展中的每一个被配置成将来自相应应用的服务递送到可由数字助理渲染的用户体验中;维护数字助理可扩展性服务,包括以下中的至少一个:i)使得应用在本地设备上渲染用户体验时能够使用一个或多个不同语言的语言服务,ii)使得应用在渲染用户体验时能够处理未知单词或短语的词汇服务,iii)使得应用能够采用被数字助理所维护的用户偏好的用户偏好服务,或iv)使得应用在递送服务时能够利用上下文知晓性的上下文服务;以及通过由本地设备上的数字助理可扩展性客户端展示的API将数字助理可扩展性服务提供到一个或多个应用扩展。
在另一示例中,数字助理可扩展性服务和数字助理可扩展性客户端提供支持可跨所有应用作为本机数字助理体验被渲染在本地设备上的用户体验的平台。在另一示例中,应用扩展包括被写入被加载到运行时环境内的清单的特定于应用的资源。在另一示例中,应用扩展由第三方开发者创作。
基于上述内容,应当理解,本文已经公开了用于数字助理扩展的技术。虽然用计算机结构特征、方法和变换动作、特定计算机器、以及计算机可读存储介质专用的语言描述了本文中所描述的主题,但是应当理解,所附权利要求书中所定义的本发明不必限于本文中所描述的具体特征、动作、或介质。相反,这些具体特征、动作和介质是作为实现权利要求的示例形式来公开的。
以上所述的主题仅作为说明提供,并且不应被解释为限制。在不背离所附权利要求中阐述的本发明的真实精神和范围的情况下,可以对本文所描述的主题作出各种修改和改变,而不必遵循所例示和描述的示例实施例及应用。

Claims (15)

1.一种用于实现在设备上操作的数字助理到一个或多个应用的可扩展性的方法,包括:
配置一界面以用于与由与所述应用中相应的应用相关联的扩展所展示的特定于应用的服务互操作;
接收来自设备用户的输入;
将所述设备用户输入映射到扩展以供处理;以及
响应于所述设备用户输入,接收来自于所述扩展的特定于应用的服务。
2.如权利要求1所述的方法,其特征在于,还包括渲染所述特定于应用的服务,使得跨所述应用的用户体验作为本机数字助理用户体验被展示给所述设备用户并且藉此所述特定于应用的服务增加对所述数字助理可用的回答数据库的大小。
3.如权利要求1所述的方法,其特征在于,还包括在执行所述映射时使用上下文数据。
4.如权利要求3所述的方法,其特征在于,所述上下文数据包括以下中的一个或多个:时间/日期、用户或设备的位置、语言、日程、设备上所安装的应用、用户偏好、用户行为、用户活动、存储的联系人、呼叫历史、消息收发历史、浏览历史、设备类型、设备能力或通信网络类型。
5.如权利要求1所述的方法,其特征在于,还包括提供到所述应用的可扩展性服务,所述可扩展性服务包括语言服务、词汇服务、用户偏好服务或上下文服务中的一个或多个。
6.如权利要求5所述的方法,其特征在于,还包括接收来自远程服务提供者的所述可扩展性服务的各部分。
7.如权利要求6所述的方法,其特征在于,还包括支持与可扩展性客户端的对接,所述可扩展性客户端被配置为用于与所述远程服务提供者交互。
8.如权利要求1所述的方法,其特征在于,还包括从被包括在所述应用扩展中的清单加载特定于应用的资源,所述特定于应用的资源至少包括向所述数字助理注册的关键词。
9.如权利要求1所述的方法,其特征在于,所述应用扩展还包括用于使用所述数字助理来实现用户体验或用户界面的逻辑。
10.如权利要求1所述的方法,其特征在于,还包括响应于用于执行以下中的至少一者的语音输入、姿势输入或手动输入来配置所述数字助理:共享联系人信息、共享存储的联系人、安排会议、查看用户的日历、安排提醒、打电话、操作设备、玩游戏、进行购买、记笔记、安排闹钟或叫醒提醒、发送消息、检查社交媒体以寻找更新、抓取网站、与搜索服务交互、共享或显示文件、发送到网站的链接或发送到资源的链接。
11.一种设备,包括:
一个或多个处理器;
用于使用图形和音频来和所述设备的用户进行交互的用户界面(UI);以及
存储与一个或多个应用相关联的代码和计算机可读指令的存储器设备,所述计算机可读指令当被所述一个或多个处理器执行时执行包括以下步骤的方法:
在设备上展示数字助理以用于通过监视用户行为以及与所述设备的交互来维护针对设备用户的上下文知晓性,所述数字助理还使用语音交互通过所述UI来和所述设备用户交互,
通过所述UI来接收来自所述设备用户的输入,
使用所述上下文知晓性来将输入递送到应用的扩展以用于处理,所述应用扩展被配置成将来自所述应用的服务递送到可被所述数字助理渲染的用户体验中,以及
操作所述数字助理以通过所述UI向所述设备用户渲染所述服务。
12.如权利要求11所述的设备,其特征在于,还包括向所述应用扩展展示一个或多个可扩展性服务。
13.如权利要求11所述的设备,其特征在于,还包括使得所述应用扩展能够将来自清单的特定于应用的资源加载到运行时环境内以供执行。
14.如权利要求13所述的设备,其特征在于,所述应用扩展包括事件处理程序。
15.如权利要求14所述的设备,其特征在于,所述应用扩展包括逻辑,所述逻辑包括脚本或编程构件中的一者。
CN201680027982.0A 2015-05-14 2016-04-15 到第三方应用的数字助理可扩展性 Active CN107636613B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110686184.1A CN113407278A (zh) 2015-05-14 2016-04-15 到第三方应用的数字助理可扩展性

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/712,364 2015-05-14
US14/712,364 US10133613B2 (en) 2015-05-14 2015-05-14 Digital assistant extensibility to third party applications
PCT/US2016/027653 WO2016182682A1 (en) 2015-05-14 2016-04-15 Digital assistant extensibility to third party applications

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110686184.1A Division CN113407278A (zh) 2015-05-14 2016-04-15 到第三方应用的数字助理可扩展性

Publications (2)

Publication Number Publication Date
CN107636613A true CN107636613A (zh) 2018-01-26
CN107636613B CN107636613B (zh) 2021-06-15

Family

ID=55913705

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110686184.1A Pending CN113407278A (zh) 2015-05-14 2016-04-15 到第三方应用的数字助理可扩展性
CN201680027982.0A Active CN107636613B (zh) 2015-05-14 2016-04-15 到第三方应用的数字助理可扩展性

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202110686184.1A Pending CN113407278A (zh) 2015-05-14 2016-04-15 到第三方应用的数字助理可扩展性

Country Status (16)

Country Link
US (2) US10133613B2 (zh)
EP (2) EP3295279B1 (zh)
JP (1) JP6671394B2 (zh)
KR (1) KR102509245B1 (zh)
CN (2) CN113407278A (zh)
AU (1) AU2016262345B2 (zh)
BR (1) BR112017022785A2 (zh)
CA (1) CA2982957C (zh)
CL (1) CL2017002831A1 (zh)
HK (1) HK1245939A1 (zh)
IL (1) IL254937A0 (zh)
MX (1) MX2017014354A (zh)
PH (1) PH12017550117A1 (zh)
RU (1) RU2017134383A (zh)
WO (1) WO2016182682A1 (zh)
ZA (1) ZA201706751B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110297976A (zh) * 2019-06-26 2019-10-01 百度在线网络技术(北京)有限公司 基于云检索的推荐方法、装置、设备及可读存储介质
CN110798578A (zh) * 2019-11-07 2020-02-14 浙江同花顺智能科技有限公司 一种来电事务管理方法、装置以及相关设备
CN111385175A (zh) * 2018-12-28 2020-07-07 哈曼国际工业有限公司 本地化虚拟个人助理
CN114586007A (zh) * 2019-10-29 2022-06-03 谷歌有限责任公司 用于维护应用内容的隐私的自动助理架构

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
DE112014000709B4 (de) 2013-02-07 2021-12-30 Apple Inc. Verfahren und vorrichtung zum betrieb eines sprachtriggers für einen digitalen assistenten
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US10147421B2 (en) * 2014-12-16 2018-12-04 Microcoft Technology Licensing, Llc Digital assistant voice input integration
US9389928B1 (en) 2015-02-11 2016-07-12 Microsoft Technology Licensing, Llc Platform for extension interaction with applications
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10133613B2 (en) 2015-05-14 2018-11-20 Microsoft Technology Licensing, Llc Digital assistant extensibility to third party applications
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10338959B2 (en) 2015-07-13 2019-07-02 Microsoft Technology Licensing, Llc Task state tracking in systems and services
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
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10635281B2 (en) 2016-02-12 2020-04-28 Microsoft Technology Licensing, Llc Natural language task completion platform authoring for third party experiences
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
US20180039478A1 (en) * 2016-08-02 2018-02-08 Google Inc. Voice interaction services
US10853747B2 (en) 2016-10-03 2020-12-01 Google Llc Selection of computational agent for task performance
US10311856B2 (en) 2016-10-03 2019-06-04 Google Llc Synthesized voice selection for computational agents
US11663535B2 (en) 2016-10-03 2023-05-30 Google Llc Multi computational agent performance of tasks
US10552742B2 (en) 2016-10-14 2020-02-04 Google Llc Proactive virtual assistant
US11231943B2 (en) * 2017-03-24 2022-01-25 Google Llc Smart setup of assistant services
US20180316634A1 (en) * 2017-04-26 2018-11-01 Microsoft Technology Licensing, Llc Extending application functionality via conversational interfaces
US11170285B2 (en) 2017-05-05 2021-11-09 Google Llc Virtual assistant configured to recommended actions in furtherance of an existing conversation
US10887423B2 (en) * 2017-05-09 2021-01-05 Microsoft Technology Licensing, Llc Personalization of virtual assistant skills based on user profile information
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK201770411A1 (en) 2017-05-15 2018-12-20 Apple Inc. MULTI-MODAL INTERFACES
US10614030B2 (en) 2017-06-02 2020-04-07 Microsoft Technology Licensing Llc Task creation and completion with bi-directional user interactions
US10176808B1 (en) 2017-06-20 2019-01-08 Microsoft Technology Licensing, Llc Utilizing spoken cues to influence response rendering for virtual assistants
US20190068526A1 (en) * 2017-08-25 2019-02-28 Facebook, Inc. Methods and systems for helper bot platform assistance
WO2019074481A1 (en) 2017-10-09 2019-04-18 Hewlett-Packard Development Company, L.P. DEVICE INSTALLATIONS WITHOUT DISPLAY
US10818288B2 (en) * 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US11886473B2 (en) 2018-04-20 2024-01-30 Meta Platforms, Inc. Intent identification for agent matching by assistant systems
US20190327330A1 (en) 2018-04-20 2019-10-24 Facebook, Inc. Building Customized User Profiles Based on Conversational Data
US11307880B2 (en) 2018-04-20 2022-04-19 Meta Platforms, Inc. Assisting users with personalized and contextual communication content
US11715042B1 (en) 2018-04-20 2023-08-01 Meta Platforms Technologies, Llc Interpretability of deep reinforcement learning models in assistant systems
US11676220B2 (en) 2018-04-20 2023-06-13 Meta Platforms, Inc. Processing multimodal user input for assistant systems
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US20210329073A1 (en) * 2018-06-08 2021-10-21 Samsung Electronics Co., Ltd. Method and apparatus for context extension between iot devices
US10993110B2 (en) * 2018-07-13 2021-04-27 Nvidia Corp. Connectionless fast method for configuring Wi-Fi on displayless Wi-Fi IoT device
US10956226B2 (en) * 2018-07-19 2021-03-23 Futurewei Technologies, Inc. Basic runtime environment
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11290574B2 (en) * 2019-05-20 2022-03-29 Citrix Systems, Inc. Systems and methods for aggregating skills provided by a plurality of digital assistants
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
EP3757991A1 (en) 2019-06-26 2020-12-30 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof
US11289086B2 (en) 2019-11-01 2022-03-29 Microsoft Technology Licensing, Llc Selective response rendering for virtual assistants
US11019207B1 (en) 2019-11-07 2021-05-25 Hithink Royalflush Information Network Co., Ltd. Systems and methods for smart dialogue communication
US11043220B1 (en) 2020-05-11 2021-06-22 Apple Inc. Digital assistant hardware abstraction
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
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
US11947783B2 (en) * 2021-01-25 2024-04-02 Google Llc Undoing application operation(s) via user interaction(s) with an automated assistant
US11978449B2 (en) * 2021-03-02 2024-05-07 Samsung Electronics Co., Ltd. Electronic device for processing user utterance and operation method therefor
US11610050B2 (en) * 2021-06-22 2023-03-21 Walkme Ltd. Cross-domain storage
US11967321B2 (en) * 2021-10-06 2024-04-23 Google Llc Automated assistant control of non-assistant applications via identification of synonymous term and/or speech processing biasing
US20230136265A1 (en) * 2021-10-29 2023-05-04 International Business Machines Corporation Content management system
US11995457B2 (en) 2022-06-03 2024-05-28 Apple Inc. Digital assistant integration with system interface
US11978436B2 (en) 2022-06-03 2024-05-07 Apple Inc. Application vocabulary integration with a digital assistant

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1761960A (zh) * 2003-03-18 2006-04-19 西门子共同研究公司 用于对等合作和基于ip的语音传送的基于元搜索万维网服务的体系结构
US20110041090A1 (en) * 2008-11-02 2011-02-17 Observepoint Llc Auditing a website with page scanning and rendering techniques
CN102132309A (zh) * 2008-08-22 2011-07-20 微软公司 社交虚拟化身修改
CN102651104A (zh) * 2011-02-25 2012-08-29 上海飞力达国际物流有限公司 数字物流跟踪模块实时信息采集系统
CN102802027A (zh) * 2012-07-13 2012-11-28 李映红 针对电视节目的交互系统和方法
CN104335234A (zh) * 2012-05-15 2015-02-04 苹果公司 用于将第三方服务与数字助理相结合的系统和方法

Family Cites Families (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8650320B1 (en) * 1998-03-23 2014-02-11 Software Ag Integration server supporting multiple receiving channels
US6466654B1 (en) 2000-03-06 2002-10-15 Avaya Technology Corp. Personal virtual assistant with semantic tagging
US7061928B2 (en) * 2001-03-26 2006-06-13 Azurn Networks, Inc. Unified XML voice and data media converging switch and application delivery system
US7609829B2 (en) * 2001-07-03 2009-10-27 Apptera, Inc. Multi-platform capable inference engine and universal grammar language adapter for intelligent voice application execution
US7242752B2 (en) 2001-07-03 2007-07-10 Apptera, Inc. Behavioral adaptation engine for discerning behavioral characteristics of callers interacting with an VXML-compliant voice application
US7511682B2 (en) * 2004-05-03 2009-03-31 Microsoft Corporation Context-aware auxiliary display platform and applications
US8768711B2 (en) 2004-06-17 2014-07-01 Nuance Communications, Inc. Method and apparatus for voice-enabling an application
US7685561B2 (en) 2005-02-28 2010-03-23 Microsoft Corporation Storage API for a common data platform
US7836439B2 (en) * 2006-02-03 2010-11-16 Research In Motion Limited System and method for extending a component-based application platform with custom services
US9318108B2 (en) * 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8024571B2 (en) 2006-12-22 2011-09-20 Schlumberger Technology Corporation Method of and system for watermarking application modules
WO2008080021A2 (en) * 2006-12-22 2008-07-03 Mobile Posse, Inc. Method and system for delivering and/or displaying targeted content to a mobile handheld device
US8930555B2 (en) 2007-03-08 2015-01-06 Microsoft Corporation Extending functionality of web-based applications
US20090077248A1 (en) * 2007-09-14 2009-03-19 International Business Machines Corporation Balancing access to shared resources
US8739214B2 (en) * 2007-11-08 2014-05-27 At&T Intellectual Property I, L.P. Methods, computer program products, and virtual servers for a virtual collaborative environment
US10007767B1 (en) * 2007-12-21 2018-06-26 EMC IP Holding Company LLC System and method for securing tenant data on a local appliance prior to delivery to a SaaS data center hosted application service
US8270606B2 (en) * 2008-05-01 2012-09-18 International Business Machines Corporation Open architecture based domain dependent real time multi-lingual communication service
US8745573B2 (en) 2008-06-16 2014-06-03 Beek Fund B.V. L.L.C. Platform-independent application development framework
US8291490B1 (en) * 2008-06-30 2012-10-16 Emc Corporation Tenant life cycle management for a software as a service platform
US8099472B2 (en) 2008-10-21 2012-01-17 Lookout, Inc. System and method for a mobile cross-platform software system
US8117622B2 (en) 2009-05-14 2012-02-14 Microsoft Corporation Client application independent extensibility model
US8639513B2 (en) 2009-08-05 2014-01-28 Verizon Patent And Licensing Inc. Automated communication integrator
US8468455B2 (en) 2010-02-24 2013-06-18 Novell, Inc. System and method for providing virtual desktop extensions on a client desktop
US20110319056A1 (en) * 2010-06-29 2011-12-29 Enterproid Hk Ltd Remote access to a mobile device
US8613004B2 (en) * 2010-12-07 2013-12-17 Nec Laboratories America, Inc. System and method for cloud infrastructure data sharing through a uniform communication framework
US20120159388A1 (en) * 2010-12-20 2012-06-21 Fanhattan, L.L.C. System and method for in-context applications
US10061601B2 (en) 2011-06-23 2018-08-28 Vmware, Inc. Component navigation in an extensible application
WO2013020297A1 (en) 2011-08-11 2013-02-14 Autodesk, Inc. Configurable business rules
US10235147B2 (en) 2011-08-26 2019-03-19 Microsoft Technology Licensing, Llc Discovery and activation of application extensions
US9195968B2 (en) * 2011-09-09 2015-11-24 Microsoft Technology Licensing, Llc Cloud-based broker service for digital assistants
US10096033B2 (en) * 2011-09-15 2018-10-09 Stephan HEATH System and method for providing educational related social/geo/promo link promotional data sets for end user display of interactive ad links, promotions and sale of products, goods, and/or services integrated with 3D spatial geomapping, company and local information for selected worldwide locations and social networking
US10102546B2 (en) * 2011-09-15 2018-10-16 Stephan HEATH System and method for tracking, utilizing predicting, and implementing online consumer browsing behavior, buying patterns, social networking communications, advertisements and communications, for online coupons, products, goods and services, auctions, and service providers using geospatial mapping technology, and social networking
JP6322140B2 (ja) 2011-09-30 2018-05-09 カルガリー サイエンティフィック インコーポレイテッド 協働遠隔アプリケーションの共用および注釈のための双方向デジタル表層を含む非連結アプリケーション拡張
US8881179B2 (en) 2011-11-14 2014-11-04 Microsoft Corporation Cross-platform application programming interfaces for applications
US9082402B2 (en) 2011-12-08 2015-07-14 Sri International Generic virtual personal assistant platform
US8769524B2 (en) * 2011-12-09 2014-07-01 Disney Enterprises, Inc. HTML directed adaptive features for mobile applications
KR101230917B1 (ko) 2011-12-13 2013-02-07 (주)정원기술 확장기능 추가가 용이한 m2m 장치
US20130159377A1 (en) 2011-12-15 2013-06-20 AsystMe, LLC Proactive automated personal assistant
CN103176789B (zh) 2011-12-26 2017-08-01 腾讯科技(深圳)有限公司 一种实现开放平台功能扩展的方法及系统
US20140053126A1 (en) 2012-02-13 2014-02-20 Mark A. Watson Integrated mobile application development platform
US20130254139A1 (en) 2012-03-21 2013-09-26 Xiaoguang Lei Systems and methods for building a universal intelligent assistant with learning capabilities
US20150222664A1 (en) * 2012-03-28 2015-08-06 Google Inc. Conflict resolution in extension induced modifications to web requests and web page content
US20140047359A1 (en) 2012-08-08 2014-02-13 Arnstein Osnes Teigene Mechanism for adding new search modes to user agent
US9547647B2 (en) * 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US10042603B2 (en) 2012-09-20 2018-08-07 Samsung Electronics Co., Ltd. Context aware service provision method and apparatus of user device
US20140141875A1 (en) 2012-11-22 2014-05-22 Richard Steven Faria Temporary modification for extending functionality of computer games and software applications.
WO2014088588A1 (en) 2012-12-07 2014-06-12 Empire Technology Development Llc Personal assistant context building
KR102091003B1 (ko) 2012-12-10 2020-03-19 삼성전자 주식회사 음성인식 기술을 이용한 상황 인식 서비스 제공 방법 및 장치
US9021425B2 (en) 2012-12-14 2015-04-28 Sap Se Software application extensibility
DE102013001219B4 (de) 2013-01-25 2019-08-29 Inodyn Newmedia Gmbh Verfahren und System zur Sprachaktivierung eines Software-Agenten aus einem Standby-Modus
US9842571B2 (en) * 2013-02-22 2017-12-12 Samsung Electronics Co., Ltd. Context awareness-based screen scroll method, machine-readable storage medium and terminal therefor
US9172747B2 (en) 2013-02-25 2015-10-27 Artificial Solutions Iberia SL System and methods for virtual assistant networks
US10572476B2 (en) * 2013-03-14 2020-02-25 Apple Inc. Refining a search based on schedule items
US9275221B2 (en) * 2013-05-01 2016-03-01 Globalfoundries Inc. Context-aware permission control of hybrid mobile applications
US10592987B2 (en) * 2013-06-10 2020-03-17 Fmr Llc Sector-based portfolio construction platform apparatuses, methods and systems
US9189742B2 (en) 2013-11-20 2015-11-17 Justin London Adaptive virtual intelligent agent
CN105940638B (zh) 2014-02-27 2019-06-28 英特尔公司 用于计算资源发现和管理的设备、方法和机器可读介质
US20150281869A1 (en) * 2014-03-31 2015-10-01 Google Inc. Native web-based application
US10026041B2 (en) * 2014-07-12 2018-07-17 Microsoft Technology Licensing, Llc Interoperable machine learning platform
US20160164881A1 (en) 2014-12-03 2016-06-09 Ford Global Technologies, Llc Remote vehicle application permission control and monitoring
US10147421B2 (en) 2014-12-16 2018-12-04 Microcoft Technology Licensing, Llc Digital assistant voice input integration
US9389928B1 (en) 2015-02-11 2016-07-12 Microsoft Technology Licensing, Llc Platform for extension interaction with applications
US10133613B2 (en) 2015-05-14 2018-11-20 Microsoft Technology Licensing, Llc Digital assistant extensibility to third party applications

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1761960A (zh) * 2003-03-18 2006-04-19 西门子共同研究公司 用于对等合作和基于ip的语音传送的基于元搜索万维网服务的体系结构
CN102132309A (zh) * 2008-08-22 2011-07-20 微软公司 社交虚拟化身修改
US20110041090A1 (en) * 2008-11-02 2011-02-17 Observepoint Llc Auditing a website with page scanning and rendering techniques
CN102651104A (zh) * 2011-02-25 2012-08-29 上海飞力达国际物流有限公司 数字物流跟踪模块实时信息采集系统
CN104335234A (zh) * 2012-05-15 2015-02-04 苹果公司 用于将第三方服务与数字助理相结合的系统和方法
CN102802027A (zh) * 2012-07-13 2012-11-28 李映红 针对电视节目的交互系统和方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SEUNGWON NA.ETC: ""Design and implementation of sync engine for automatic installation system of PDA application programs"", 《PROCEEDINGS 2003 IEEE INTERNATIONAL SYMPOSIUM ON COMPUTATIONAL INTELLIGENCE IN ROBOTICS AND AUTOMATION. COMPUTATIONAL INTELLIGENCE IN ROBOTICS AND AUTOMATION FOR THE NEW MILLENNIUM (CAT. NO.03EX694)》 *
刘立等: ""个人数字助理在设备管理中的应用"", 《北京科技大学学报》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111385175A (zh) * 2018-12-28 2020-07-07 哈曼国际工业有限公司 本地化虚拟个人助理
CN110297976A (zh) * 2019-06-26 2019-10-01 百度在线网络技术(北京)有限公司 基于云检索的推荐方法、装置、设备及可读存储介质
CN114586007A (zh) * 2019-10-29 2022-06-03 谷歌有限责任公司 用于维护应用内容的隐私的自动助理架构
CN114586007B (zh) * 2019-10-29 2024-04-09 谷歌有限责任公司 用于维护应用内容的隐私的自动助理架构
CN110798578A (zh) * 2019-11-07 2020-02-14 浙江同花顺智能科技有限公司 一种来电事务管理方法、装置以及相关设备

Also Published As

Publication number Publication date
WO2016182682A1 (en) 2016-11-17
CN113407278A (zh) 2021-09-17
KR102509245B1 (ko) 2023-03-10
CA2982957C (en) 2024-01-16
BR112017022785A2 (pt) 2018-07-10
JP6671394B2 (ja) 2020-03-25
EP3623912A3 (en) 2020-07-22
CL2017002831A1 (es) 2018-04-13
US20190042334A1 (en) 2019-02-07
RU2017134383A (ru) 2019-04-03
HK1245939A1 (zh) 2018-08-31
US20160335138A1 (en) 2016-11-17
PH12017550117A1 (en) 2018-02-12
AU2016262345B2 (en) 2020-11-19
KR20180006966A (ko) 2018-01-19
EP3295279B1 (en) 2021-03-10
US11144371B2 (en) 2021-10-12
IL254937A0 (en) 2017-12-31
MX2017014354A (es) 2018-03-23
ZA201706751B (en) 2019-02-27
US10133613B2 (en) 2018-11-20
AU2016262345A1 (en) 2017-10-26
JP2018523193A (ja) 2018-08-16
EP3295279A1 (en) 2018-03-21
CN107636613B (zh) 2021-06-15
CA2982957A1 (en) 2016-11-17
EP3623912A2 (en) 2020-03-18

Similar Documents

Publication Publication Date Title
CN107636613A (zh) 到第三方应用的数字助理可扩展性
US11915696B2 (en) Digital assistant voice input integration
JP6760797B2 (ja) プログラム、情報処理方法、及び端末
CN107209781A (zh) 使用自然语言的上下文搜索
CN107209624A (zh) 用于设备个性化的用户交互模式提取
CN107077661A (zh) 跨越使用共享工作空间的设备的任务完成
CN107005612A (zh) 数字助理警报系统
CN106465074A (zh) 数字助手在通信中的使用
CN103635955B (zh) 多显示器型装置交互
CN104106054B (zh) 节能应用通知系统
CN106575396A (zh) 消息对话历史的快速导航
CN106797338A (zh) 对现有消息传送服务的消息的app发动的可扩展性
CN108475184A (zh) 电子设备及其应用数据显示方法
CN107004226A (zh) 多端点可操控通知
CN106716954A (zh) 电话呼叫期间的实时共享
US11070887B2 (en) Video content deep diving
CN106164904A (zh) 客户端侧个人语音web导航
BR112015015638A2 (pt) reclassificando conteúdos
CN110347472A (zh) 可扩展应用表示、活动水平和桌面表示
CN106687923A (zh) 多个设备上的计算环境的呈现
US10592534B2 (en) Automated aggregation of social contact groups
CN109074555A (zh) 一步任务完成
WO2023050722A1 (zh) 信息显示方法及电子设备
CN108628649A (zh) 助理服务的智能设置
WO2021017691A1 (zh) 内容显示方法及终端设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1245939

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant