CN107430517A - 用于增强对话系统的插件的在线市场 - Google Patents

用于增强对话系统的插件的在线市场 Download PDF

Info

Publication number
CN107430517A
CN107430517A CN201680018569.8A CN201680018569A CN107430517A CN 107430517 A CN107430517 A CN 107430517A CN 201680018569 A CN201680018569 A CN 201680018569A CN 107430517 A CN107430517 A CN 107430517A
Authority
CN
China
Prior art keywords
conversational system
expandable element
conversational
user
software developer
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
CN201680018569.8A
Other languages
English (en)
Other versions
CN107430517B (zh
Inventor
伊利亚·格尔芬宾
阿尔乔姆·贡恰鲁克
帕维尔·西罗廷
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.)
Google LLC
Original Assignee
Google 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 Google LLC filed Critical Google LLC
Priority to CN202011438705.3A priority Critical patent/CN112527353B/zh
Publication of CN107430517A publication Critical patent/CN107430517A/zh
Application granted granted Critical
Publication of CN107430517B publication Critical patent/CN107430517B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • G06Q20/123Shopping for digital content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42136Administration or customisation of services
    • H04M3/4217Managing service interactions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/53Centralised arrangements for recording incoming messages, i.e. mailbox systems
    • H04M3/537Arrangements for indicating the presence of a recorded message, whereby the presence information might include a preview or summary of the message
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/0012Details of application programming interfaces [API] for telephone networks; Arrangements which combine a telephonic communication equipment and a computer, i.e. computer telephony integration [CPI] arrangements
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本文公开了一种用于增强对话系统的方法。所述方法包括维护可以包括多个对话系统扩展元件的在线市场。所述多个对话系统扩展元件中的每一个可以包括以下中的至少一个:对话系统插件、对话系统附件、对话系统更新和对话系统升级。所述方法还可以包括从软件开发者接收对所述多个对话系统扩展元件中的一个的选择。所述软件开发者可以与对话系统相关联。所述方法可以继续使所述多个对话系统扩展元件中的所述一个与所述软件开发者的所述对话系统相关联。

Description

用于增强对话系统的插件的在线市场
技术领域
本公开一般涉及数据处理,并且更具体地涉及对话系统以及允许应用开发者为软件应用构建、定制并维护对话系统的在线平台。
背景技术
当前,对话系统被广泛地用在信息技术行业中,尤其形式为用于手机和平板计算机的移动应用。对话系统可包括具有用于访问、处理、管理并递送信息的以人为中心的接口的基于计算机的代理。对话系统也被称为聊天信息系统(chat information system)、口语对话系统(spoken dialog system)、会话代理(conversational agent)、聊天机器人(chatter robot)、饶舌机器人(chatterbot)、聊天机械人(chatbot)、聊天代理(chatagent)、数字个人助理(digital personal assistant)、自动在线助理(automated onlineassistant)等。所有这些术语都在本公开的范围内并且为了简单被称为“对话系统”。
传统上,对话系统以自然语言与其用户交互以模拟智能会话并向用户提供个性化协助。例如,用户可以以会话问题的形式生成对话系统的请求,诸如“What is the weatherlike in Palo Alto?(帕洛阿尔托的天气怎么样?)”并且以音频和/或可显示消息的形式从对话系统接收对应的回答。用户也可以向对话系统提供请求执行某些功能的话音(voice)命令,所述某些功能包括例如生成电子邮件、打电话、搜索特定信息、获取数据、导航、请求通知或提醒等。这些和其它功能性使对话系统变得非常受欢迎,因为它们尤其对于诸如智能电话、蜂窝电话、平板计算机、游戏控制台等的便携式电子装置的持有者来说是很有帮助的。
尽管对用于第三方移动应用和web服务的对话系统的需求在不断增长,然而创建良好操作的对话系统不是一件容易的事情。每个对话系统具有对话系统接口和对话系统引擎。对话系统接口负责接收用户输入并且向用户递送对话系统响应。对话系统引擎负责将话音用户输入变换成文本输入、解释文本输入并且生成对文本输入的对应响应。在对话系统引擎上运行的过程也被称为“自然语言处理”或NLP。NLP模型的开发不仅非常费时,而且也是一项高度技术性的任务。因此,大多数应用开发者可能会努力开发与特定移动应用或web服务集成的对话系统。因此,在本领域中需要简化创建、开发和维护对话系统的过程。
发明内容
本发明内容被提供来以简化形式引入在下面在具体实施方式中进一步描述的构思的选择。本发明内容不旨在识别所要求保护的主题的关键特征或必要特征,也不旨在帮助确定所要求保护的主题的范围。
提供的是用于增强对话系统的系统。所述系统可以包括至少一个处理器和存储器。所述存储器可以可操作来维护可以包括多个对话系统扩展元件的在线市场。所述多个对话系统扩展元件中的每一个可以包括对话系统插件、对话系统附件、对话系统更新和对话系统升级中的至少一个。所述处理器可以可操作来从软件开发者接收对所述多个对话系统扩展元件中的一个的选择。所述软件开发者可以使对话系统与所述软件开发者相关联。所述处理器可以进一步可操作来使由所述软件开发者选择的所述多个对话系统扩展元件中的所述一个与所述软件开发者的对话系统相关联。
提供的是用于增强对话系统的方法。所述方法可以包括维护可以包括多个对话系统扩展元件的在线市场。所述多个对话系统扩展元件中的每一个可以包括对话系统插件、对话系统附件、对话系统更新和对话系统升级中的至少一个。所述方法还可以包括从软件开发者接收对所述多个对话系统扩展元件中的一个的选择。所述软件开发者可以与对话系统相关联。所述方法可以继续使由所述软件开发者选择的所述多个对话系统扩展元件中的所述一个与所述软件开发者的所述对话系统相关联。
附加目的、优点和新颖特征将部分地在下面的详细描述中阐述,并且部分地在检查以下具体实施方式和附图后将变得对于本领域的技术人员而言显而易见或者可以通过对示例实施例的生产或操作来习得。概念的目的和优点可以借助于所附权利要求中特别指出的方法学、手段和组合来实现和获得。
附图说明
实施例被作为示例而非限制图示在附图的图中,在附图中相同的附图标记指示类似的元件,并且在附图中:
图1图示根据一些实施例的可在其内实现用于增强对话系统的系统和方法的环境。
图2是示出根据示例实施例的用于创建对话系统引擎的方法的过程流程图。
图3是示出根据示例实施例的对话系统引擎的各种模块的框图。
图4是根据示例实施例的用于增强对话系统的系统的框图。
图5是图示根据示例实施例的用于增强对话系统的方法的流程图。
图6是图示适合于实现本文中所描述的方法的示例用户装置的高级框图。
具体实施方式
以下具体实施方式包括对附图的引用,所述附图形成具体实施方式的一部分。附图示出根据示例实施例的图示。在本文中也被称为“示例”的这些示例实施例被足够详细地描述以使得本领域的技术人员能够实践本主题。
可组合实施例,可利用其它实施例,或者可在不脱离所要求保护的范围的情况下作出结构、逻辑和操作改变。因此,以下具体实施方式将不在限制性意义上进行,并且范围由所附权利要求及其等同物来限定。
可以使用各种技术来实现本教导。例如,本文中所描述的方法可以用在计算机系统上执行的软件或者用利用微处理器或其它专门设计的专用集成电路、可编程逻辑器件的组合或其各种组合的硬件加以实现。特别地,本文中所描述的方法可以通过驻留在诸如磁盘驱动器或计算机可读介质的暂时性或非暂时性存储介质上的一系列计算机可执行指令来实现。应该注意的是,本文中所公开的方法可由计算机(例如,桌面型计算机、平板计算机、膝上型计算机)、游戏控制台、手持式游戏装置、蜂窝电话、智能电话、智能电视系统等来实现。
术语“应用开发者”和“软件开发者”或简单地“开发者”指代下列中的一个或多个:软件开发者、移动应用开发者、软件工程师、软件所有者、移动应用所有者、软件管理者、移动应用管理者、对话系统所有者等。应用开发者开发和/或管理对话系统引擎和/或对话系统接口。
术语“对话系统”指代下列中的一个或多个:聊天信息系统、口语对话系统、会话代理、聊天机器人、饶舌机器人、聊天机械人、聊天代理、数字个人助理、自动在线助理等。每个对话系统包括“对话系统接口”和“对话系统引擎”。这些元件中的每一个可由应用开发者定制。
术语“对话系统接口”指代人机接口,所述人机接口被配置成以音频消息或文本消息的形式获取用户输入,并且以音频消息或可显示消息的形式向用户递送对话系统响应。在示例实施例中,对话系统接口可以被软件应用、移动应用、中间件应用、固件应用、网站和web服务采用或者与软件应用、移动应用、中间件应用、固件应用、网站和web服务集成以提供人机接口以用于获取用户请求并且向用户递送对话系统输出的微件(widget)来实现。
术语“对话系统引擎”指代软件应用,所述软件应用被配置成处理用户输入并且生成对其的响应。在一个示例实施例中,对话系统引擎指代用于通过处理用户请求并且生成与其相对应的响应来支持相关对话系统接口的计算机使能或处理器使能的系统。
术语“插件”指代下列中的一个或多个:用于对话系统引擎的软件插件、附件(add-on)、软件扩展、更新、升级或软件代码。术语“插件”在本文中也被称为“对话系统扩展元件”。
本技术提供了使得能够创建用作对话系统接口的后端服务的定制对话系统引擎的平台。该平台可以包括在线平台(即,驻留在服务器或网络节点上的平台)。本技术也提供针对包括用于定制对话系统应用和定制对话系统的各种插件、附件、扩展、更新或软件代码的多个对话系统扩展元件的在线市场,诸如作为网站或web服务所实现的在线市场。该在线市场可以是平台的一部分或者连接到平台以使得软件开发者能够创建定制对话系统并且增强由平台维护的对话系统的功能性。更特别地,通过使用在线市场,软件开发者可通过安装可经由在线市场获得的插件并且将这些插件集成到对话系统中来扩展与软件开发者相关联的对话系统的功能性。
对话系统接口可至少作为各种软件应用、移动应用、中间件应用、固件应用、网站、web服务等的一部分来实现。换句话说,对话系统接口可以在客户端侧并且可以提供被配置成至少获取用户输入并向用户递送对话系统输出的人机接口。另一方面,对话系统引擎通过处理用户输入并且生成与其对应的响应来支持对话系统接口。因此,对话系统引擎和对话系统接口在相互交互时形成对话系统。一个人可以将在客户端装置上运行或者从客户端装置访问的对话系统接口称为“前端”用户接口,而支持这种对话系统接口的操作的对话系统引擎可被称为“后端”服务。
一般而言,通过在市场上选择或者购买特定插件,应用开发者可以扩展由应用开发者开发或属于应用开发者的对话系统的功能性,并且最终扩展或者更改使用对话系统的软件应用的功能性,以及实现使用对话系统的软件应用的特定功能或各种各样的功能。一旦开发者选择或者购买了插件,该插件就可以自动地与平台维护的特定对话系统引擎集成。插件可能已定义应用编程接口签名。因此,当对话系统接口接收到用户请求时,可以使用与对话系统引擎相关联的插件来处理用户请求。在其它实施例中,用户请求可以由对话系统引擎的内部模块来处理,并且如果不能被“良好的”满足或者不能生成适当的响应,则用户请求可以由相关插件来处理。因此,此技术允许应用开发者增强对话系统功能,而无需投入时间开发具有多个对话系统规则的对话系统。
本公开的方法和系统的好处可从以下示例中显现。假定软件开发者需要创建集成对话系统以允许用户作出口头请求的诸如餐厅定位系统的移动应用。软件开发者可能没有时间或资源来创建他自己的对话系统,因此软件开发者可以使用在线平台来为他的或她的移动应用特定地创建定制对话系统。移动应用可以仅包括对话系统接口,所述对话系统接口可接受用户请求并且将用户请求递送给定制对话系统引擎以供处理,以及从定制对话系统引擎接收响应并且通过可显示或音频消息将响应提供给用户。定制对话系统引擎可以驻留在在线平台处(即,在服务器或网络节点上)。通常,当定制对话系统引擎处理用户请求时,对话系统引擎可以生成对用户请求的响应并且使对话系统接口将响应递送给用户。为让对话系统引擎正常地操作,软件开发者可能需要创建或者定制规则(在一些实施例中,此任务可能需要创建定义对话结构和满足执行规则的实体和意图)。然而,在某些情况下此任务可能是费时的。此外,即使对话系统引擎被适当地训练,仍然可能存在对话系统引擎可能无法满足的功能。在这些情况下,软件开发者可以通过安装插件来改进对话系统引擎的功能性和可操作性。软件开发者可能只需要打开在线市场并选择软件开发者想要添加到对话系统的一个或多个特定插件。例如,可以存在包括具有与在线定位系统特别相关的某些实体和意图的对话系统规则的插件。可替选地,可以存在允许对话系统以外语处理用户请求的插件。很明显,可以存在用于满足不同需要的许多各种插件。软件开发者可在市场上选择或者购买感兴趣的插件,以便使感兴趣的插件与软件开发者的特定对话系统引擎集成。一旦插件被安装,该插件就可处理用户请求或部分用户请求以便满足特定用户需要。插件可根据特定实施方式由第三方开发者创建并且可在免费基础上购买或者提供。
因此,本技术使软件开发者为各式各样的第三方移动应用或web服务创建定制对话系统变得非常容易且快捷,同时通过市场将插件添加到这些对话系统增强对话系统功能性。更具体地,根据本公开的各种实施例,平台允许软件开发者和工程师创建可以支持前端对话系统接口的定制对话系统引擎。例如,如果软件开发者想要将对话系统功能性作为附加特征集成到移动应用中,则开发者可使用平台来创建和部署定制对话系统引擎并且将定制对话系统引擎与移动应用链接。移动应用进而可以只具有对话系统接口。在此示例中,当用户与移动应用交互时对话系统接口可由用户激活。用户可以话音输入或文本输入的形式查询对话系统接口。在接收到用户查询时,对话系统接口可以很少或没有预处理地将用户查询转移到已链接的定制对话系统引擎,所述定制对话系统引擎是使用平台先前创建的。对话系统引擎可以处理所接收到的用户查询,解释用户查询,并且基于预定规则和设置来生成对用户查询的响应。然后可以将响应递送给对话系统接口以供进一步视觉或音频呈现给用户。在一些实施例中,响应可以包括要传递给用户的响应文本和/或具有用于用户装置执行动作(例如,打开浏览器、在线访问某些数据、运行特定应用等)的指令的元数据。在其它实施例中,响应可以包括回调统一资源标识符(URI),对话系统接口或用户装置可能需要访问所述回调统一资源标识符(URI)以获得响应文本和/或元数据或者对由该URI表示的装置/app执行动作。
一般而言,对话系统接口可被集成或者是在客户端装置(诸如个人计算机(PC)或蜂窝电话)上或在服务器上运行的各式各样的软件应用的一个整体部分,使得对话系统成为网站或web服务的一部分。对话系统可被实现在服务器上,使得它们的功能性可通过因特网、蜂窝网络或任何其它通信手段被对话系统接口访问。在线市场也可被实现在“云”中,意味着它可在服务器上运行并且可通过特定网站或web接口被软件开发者利用。
现在参考附图,图1示出适合于实践本技术的示例系统环境100的高级框图。如图1上所示,存在用于创建并维护定制对话系统引擎的平台110。为此,平台110可以包括用于创建定制对话系统引擎的平台接口112和用于维护并运行定制对话系统引擎120的后端服务114。
平台接口112可以包括嵌入到网页中并可由开发者和/或工程师116经互联网访问的图形用户接口(GUI)。然而,在一些其它实施例中,平台接口112可以作为软件应用被实现,所述软件应用例如在诸如计算机的电子装置上运行或者可从诸如计算机的电子装置访问的可下载软件应用或任何其它软件、中间件或固件。在图1所示的示例中,平台接口112可以作为如将在下面所描述的web可访问GUI被实现。为了简单,本公开描述平台接口112是基于服务器的解决方案使得其可经由因特网访问的此类实施例。不管特定实施方式,平台接口112可以使得开发者和/或工程师116能够通过许多GUI工具来创建一个或多个定制对话系统引擎120。
仍然参考图1,平台110的后端服务114可以负责维护并运行例如由平台接口112或者借助于平台接口112所创建的定制对话系统引擎120。后端服务114可以作为通过使得对话系统接口130能够与在平台110的后端服务114处维护的定制对话系统引擎120交互来向定制对话系统提供功能性的web服务来操作。
如上面简要讨论的,可在与对话系统终端用户118相关联的客户端侧140上提供对话系统接口130。对话系统接口130可以和GUI一样简单,所述GUI使得对话系统终端用户118能够作出查询,所述查询然后可以被递送给后端服务114以供由所对应的对话系统引擎120处理,并且能够接收对由话系统引擎120生成的查询的响应。对话系统接口130可以作为独立软件应用被实现,或者对话系统接口130可以是软件应用、移动应用、web服务、网站等的整体部分。
仍然参考图1,客户端侧140可以指代但不限于用户装置、终端、计算装置(例如,膝上型计算机、平板计算机、桌面型计算机、PC)、蜂窝电话、智能电话、游戏控制台、遥控器、多媒体系统、智能电视装置、机顶盒、信息娱乐系统、车载计算装置、信息亭、机器人等。在这些实施例中,对话系统接口130可以作为安装在此类装置上的软件、中间件或固件被实现。
在附加实施例中,客户端侧140可以指代联网或在线解决方案,诸如服务器、托管服务、web服务、web站点、云服务等。例如,对话系统接口130可以是在一个或多个web页面上提供的使得终端用户能够作出查询并且得到对查询的响应的微件或GUI。此选项可以适合于当开发者例如想要将对话系统集成到开发者的网站中以提供增强客户服务时的那些情况。
如可在图1中看到的,可以经由通信网络150执行对话系统接口130与所对应的对话系统引擎120之间的交互。通信网络150可以包括因特网、内部网、蜂窝网络、局域网(LAN)、广域网(WAN)、基于IEEE 802.11的网络等中的一个或多个。
图1也示出经由一个或多个web服务器提供的各种第三方web资源/web服务160。这些第三方web资源/web服务160可以向对话系统引擎120或对话系统接口130提供各种类型的信息作为对用户请求的响应的一部分。例如,web资源/web服务160可以指代电子邮件服务、天气服务、导航服务等。因此,如果用户作出查询“What is the weather like today?(今天天气怎么样?)”,则这种信息可以由对话系统引擎120从一个或多个第三方web资源/web服务160自动地获取,然后被集成到对话系统响应中以被递送给对话系统终端用户118。
仍然参考图1,示例系统环境100可以包括作为市场170而示出的用于维护多个插件的在线插件市场。市场170可被实现在服务器上,使得它可与平台110进行通信。然而,在一些实施例中,市场170可与平台110集成。
市场170可以包括用于存储插件和相应元数据的数据库172。市场170也可以包括用于使得软件开发者能够审查、选择、购买和/或可选地定制可选插件的市场接口174。元数据可以伴随每个插件并且包括与其相关联的内容。例如,元数据可以包括下列中的一个或多个:插件的描述、示例图像、示例音频消息、标签、开发者评论、排名、发布者信息、支付信息、统计信息(例如,下载/安装次数)、滥用报告链接/按钮、法律声明、到第三方web资源的超链接等。
市场接口174可以包括嵌入到网页中并且可由开发者经由因特网访问的GUI。然而,在一些其它实施例中,市场接口174可以作为软件应用被实现,所述软件应用诸如在诸如计算机的电子装置上运行或者可从诸如计算机的电子装置访问的可下载软件应用或任何其它软件、中间件或固件。在图1所示的示例中,市场接口174可以作为web可访问GUI被实现。为了简单,本公开描述了市场170是基于服务器的解决方案使得它可经由因特网访问的此类实施例。不管特定实施方式,市场接口174使得开发者能够通过许多GUI工具来选择一个或多个插件并且使它们与它们的定制对话系统引擎120相关联。
如上面所提及的,插件可在被购买时或者在免费基础上被提供给软件开发者。在示例实施例中,应用开发者可能需要进行一次性付款或者预订需要定期支付的计划。因此,可以使得市场170能够使用货币或非货币资金来进行金融交易。例如,市场170可以具有信用卡处理代理、自动结算所代理等。预订计划可能需要取决于对话系统用户的数目、使用插件的时段(例如,定期性计划,诸如月度预订计划、年度计划)、插件副本的数目、复杂性、由插件提供的功能的数目等的金额支付。
可以免费提供一些插件。在一个示例中,插件可在预定时段(例如,一个月的测试时段)期间免费提供,但是然后可能需要支付。在另一示例实施例中,插件可涉及免费开源代理。这些免费开源代理可由多个开发者共同地开发。
应该注意的是,插件可由软件开发者或第三方开发者提供。例如,一些插件可由平台110的所有者和/或市场170的所有者提供。在另一示例实施例中,插件可由第三方开发者或公司提供给市场170。在又一示例实施例中,插件可由软件开发者提供给市场170。如果从市场170出售插件,则插件的原始所有者可以由市场170从自购买者收集的资金来补偿。例如,出售插件的所有者可按在购买中收集的资金的百分比被补偿。
根据一些示例实施例,可在软件开发者之间共享插件。可以存在若干可能的场景,包括“知识共享”和“黑盒共享”。在“知识共享”概念(在本文中也被称为“白盒”共享)下,可以通过将实体和意图的定义从一个开发者转移到另一开发者来共享插件。这可以类似于在开发者之间共享源代码使得所有的开发者可对特定插件做出贡献。在“黑盒共享”概念下,在消费侧的开发者可能不能够访问数据、内容、实体、意图等,并且可在运行时使用插件但是不能对插件作出任何改变。
为让软件开发者、第三方开发者或公司(被统称为“插件开发者”)通过市场170出售和/或共享插件,可能需要他们向市场170注册并且建立用户简档。在一些实施例中,市场人员可以在发布之前审查由插件开发者提交的每个插件。可能需要审查来为应用开发者维护高质量产品和服务。在更多的实施例中,可以给插件开发者提供分立的接口(与市场接口174不同),所述分立的接口可以包括与这些开发者的插件相关联的统计信息、控制模块、金融信息等。
因此,市场170可以是指允许插件开发者出售、分发或者共享插件或插件的元件以及允许应用开发者审查、选择或者购买他们感兴趣的插件并将这些插件与定制对话系统引擎集成的多用户web平台/web服务。
现在将参考图1至图3描述创建并操作定制对话系统引擎120的过程。特别地,平台接口112可以提供具有使得开发者能够创建和定制一个或多个对话系统元件的许多工具的一个或多个GUI,所述一个或多个对话系统元件用作定制对话系统引擎120的基础。
根据各种实施例,对话系统元件包括实体和意图。每个实体可以指代具有相同或类似的特性的多个对象。换句话说,实体可以包括定义一个类的对象的词项和/或关键词的列表。在一个示例实施例中,实体可以指代关键词和一组其同义词。在另一示例实施例中,实体可以指代关键词和一组其定义。在又一个示例实施例中,实体可以指代列表(例如,城市的列表、名称的列表、标题的列表、品牌的列表、街道名称的列表等)。
在一些实施例中,每个实体可具有标题。例如,一个实体可被称为“city(城市)”并且可以包含诸如亚历山大、阿林顿、波士顿等的城市的列表。在其它实施例中,实体可被称为关键词并且可包含此关键词的同义词和/或定义。在一个示例实施例中,被称作“music(音乐)”的实体可以包括词项歌曲、歌手、歌唱、音乐家等。在另一示例实施例中,被称作“artist(艺术家)”的实体可以包括音乐乐队、乐团或音乐艺术家的列表。在另一示例实施例中,被称作“Beatles(披头士)”的实体可以包括可能的同义词(诸如“The Beatles”、“Beatles”、“Fab Four”、“Liverpool Legends”、“John Lennon”等)的列表。在又一个示例实施例中,可以存在可以包括各种艺术家名字、艺术家名字同义词、音乐乐队名称等的被称作“Artist”的实体。
在一些实施例中,对话系统引擎可以包括许多默认预配置的实体和/或意图。这些可包括与如时间、日期、定位等这样的概念有关的常见类型的实体或意图。例如,当开发者创建新对话系统引擎时,其可能已经具有几个常见类型的实体,诸如“@System.Date”实体。此实体可以涵盖与特定日期有关的语言构造并且可以包括以下词项:“今天”、“明天”、“下星期”、“1月1日”、“下一年的1月1日”、“下星期一”、“接下来的星期一”等。
另外,对话系统规则的每个意图可以包括对话系统交互方案,所述对话系统交互方案可以提供至少一个用户请求与至少一个对话系统语言响应或满足响应之间的特定关系。该对话系统交互方案可通过基于特定动作与至少一个实体之间的关系的规则来表示。动作通常涉及形式化软件对象,诸如使至少一个处理器生成与至少一个实体相关联的语言或满足响应的JSON(JavaScript对象表示法)对象。因此,可将每个意图表示为至少一个动作与至少一个实体对象之间的逻辑关系,例如如下:
a)[Action]@[Entity]
b)[Action]@[Entities]
c)[Actions]@[Entity]
d)[Actions]@[Entities]
e)Text@[Entity]
f)Text@[Entities]
g)Text@[Entity]Text
h)[Action]Text@[Entity]
过程a)至d)意味着将由客户端侧140和/或对话系统接口130相对于预定实体或若干实体执行特定动作或若干动作。例如,一个意图可以被表示为“Play@Artist”,其中@Artist是包含一组艺术家的开发者定义的实体。在此示例中,意图命令对话系统引擎120根据上下文激活至少一首披头士歌曲的重放。
过程e)至h)意味着相对于特定实体提供形式为文本的特定信息。例如,用户请求“Create a meeting with John at 1p.m tomorrow,please(请创建在明天下午1点与约翰的会议)”可以被呈现为以下标记:[Action]Text@[sys.date-time]Text。这里,@[sys.date-time]指代与时间和日期相关联的实体,而短语“Create a meeting(创建会议)”指代要由对话系统接口130或对话系统引擎120与某个移动应用、软件应用或web服务一起执行的预定动作。元素“Text(文本)”指代内容而不是实体或意图。
如上面所提及的,对话系统规则可以导致作为对用户请求的回答的语言响应和/或满足响应的生成。语言响应的一个示例可以包括可作为音频消息或可显示消息递送的特殊内容。满足响应可以指代导致特定动作的实现的一个或多个软件应用、中间件、固件、web服务等的特定处理器可执行指令。满足响应的一些示例可以包括在日历移动应用中对事件进行调度、编写并发送文本消息或电子邮件、在web搜索服务处搜索内容、在导航软件应用中构建路线等。在某些实施例中,至少一些语言响应和/或满足响应可由开发者配置。在其它实施例中,至少一些语言响应和/或满足响应可被预配置并且可作为默认响应而可获得。
在某些附加实施例中,开发者可不提供实体和意图,而仅提供示例请求来图示意图和实体。在这些实施例中,平台110可以使用机器学习技术来自动地确定什么实体和意图被隐含在示例用户请求中并且创建对应的规则。例如,开发者可以简单地提供诸如“PlayBeatles(播放披头士)”和“I’d like to listen to Madonna(我想听麦当娜)”的示例请求,并且平台110可以使“Beatles(披头士)”和“Madonna(麦当娜)”与现有实体(系统的或用户的)相匹配并自动地生成对应的“[Action]@[Entity]”规则。
因此,开发者可使用平台接口112来生成特定于特定应用或行业的多个对话系统规则。这多个实体和意图形成对话系统规则(也被称为对话系统元件)并且使得定制对话系统引擎能够响应于各式各样的终端用户输入而执行某些动作或者生成某些输出。
图2是示出用于使用平台(在图1上作为平台110示出)来创建定制对话系统引擎并且用于操作根据示例实施例的平台的方法200的过程流程图。方法200可以由可以包括硬件(例如,决策逻辑、专用逻辑、可编程逻辑和微码)、软件(诸如在通用计算机系统或专用机器上运行的软件)或两者的组合的处理逻辑来执行。在一个示例实施例中,处理逻辑指代平台的一个或多个组件。值得注意的是,可以按照与图2中所描述且示出的不同的顺序来实现方法200的下面记载的步骤。此外,方法200可以具有本文中未示出但对于本领域的技术人员来说可以从本公开明显的附加步骤。方法200也可以具有比在下面概述且在图2中示出的更少的步骤。
在操作205,可以使得应用开发者能够向平台注册。为此,软件开发者可能需要与平台接口交互。注册可以包括创建开发者简档,所述开发者简档可由平台维护。软件开发者简档可以使此软件开发者的定制对话系统引擎和部署在客户端侧上的一个或多个对话系统接口链接起来(即,关联)。链接可以包括规定应用编程代码、交互的规则、目的地地址等。
在操作210处,平台可以从软件开发者接收一个或多个实体并且将所接收到的实体存储在本地数据库处。在一些实施例中,可以不接收实体,而是由开发者使用平台接口的web工具来创建实体。
在操作215处,平台可以从软件开发者接收一个或多个意图并且将所述意图存储在本地数据库处。在一些实施例中,可以不接收意图,而是由软件开发者使用平台接口的工具来创建意图。如上所述,意图可以与实体相关联,并且意图和实体一起可以形成对话系统元件(使得对话系统引擎能够生成为特定需要而定做的响应的定制规则)。
在操作220处,平台可以使一个或多个实体与一个或多个意图相关联以创建(即,形成)定制对话系统引擎。定制对话系统引擎可以与软件开发者的一个或多个对话系统接口相关联。
操作205至220图示定制对话系统引擎的设置过程,然而以下操作225至245图示定制对话系统引擎的操作。一旦定制对话系统引擎的所有对话系统元件被创建,对话系统元件就可以作为后端服务被维护并且使得相关对话系统接口中的任意相关对话系统接口能够根据预定设置向用户提供对话系统的全部功能性。
在操作225处,平台可以从未识别的对话系统接口接收用户请求。用户请求可以是话音输入或文本输入。在一些实施例中,对话系统接口可以例如通过辨识说出的单词并且将话音输入变换成文本输入来预处理用户输入。然而,在其它实施例中,不通过对话系统接口执行预处理。
在操作230处,平台可以处理用户请求并且识别对话系统接口以及与所识别的对话系统接口相关联的对话系统引擎。为此,当用户请求被从对话系统接口发送到平台时用户请求可伴随有识别符。
在操作235处,基于在操作230处的识别的结果,平台可激活与所识别的对话系统接口相关联的定制对话系统引擎。在同一操作处,平台也可以基于在该操作处的识别的结果来检索或者识别一个或多个对话系统元件(即,一个或多个实体和一个或多个意图)。
在操作240处,对话系统引擎可以使用如在操作235处所检索到的所识别的对话系统元件(即,一个或多个实体和一个或多个意图)来处理用户请求。
在操作245处,对话系统引擎可以生成响应并且将该响应发送到与定制对话系统引擎120相关联的对话系统接口。对话系统接口然后可以取决于预定设置而将响应显示和/或重放给终端用户。
图3示出根据示例实施例的示例性对话系统引擎300的高级架构。应该注意的是,对话系统引擎300或相关架构的每个模块包括硬件组件、软件组件或其组合。对话系统引擎300可以被嵌入或者安装在用户装置或服务器中,或者可以作为云计算模块和/或分布式计算模块被呈现。
在所示的实施例中,对话系统引擎300可以包括被配置成接收并将基于语音(speech)的用户输入305处理成参数向量的序列的自动语音辨识器(ASR)310。ASR 310还可以将参数向量的序列转换成所辨识的输入(即,具有一个或多个词、短语或句子的文本输入)。ASR 310可以包括一个或多个语音辨识器,诸如基于模式的语音辨识器、自由听写辨识器、基于地址簿的辨识器、动态创建的辨识器等。
另外,对话系统引擎300可以包括用于理解口语语言输入的NLP模块320。具体地,NLP模块320可以分解并解析经辨识的输入以生成话语,所述话语然后利用例如构形分析、词性标签、浅层解析等来分析。NLP模块320然后可以将所辨识的输入或其部分映射为有意义的表示。
对话系统引擎300还可以包括对话管理器330,所述对话管理器330可以协调所有组件的活动,控制对话流,并且与外部应用、装置、服务或资源进行通信。对话管理器330可以起许多作用,其包括谈话分析、知识数据库查询以及基于谈话上下文的系统动作预测。在一些实施例中,对话管理器330可以联系可能了解特定任务域的一个或多个任务管理器(未示出)。在一些实施例中,对话管理器330可以与各种计算或存储资源340进行通信,所述各种计算或存储资源340可以包括例如内容存储、规则数据库、推荐数据库、推送通知数据库、电子地址簿、电子邮件或文本代理、对话历史数据库、不同的知识数据库、地图数据库、兴趣点数据库、地理定位确定器、时钟、无线网络检测器、搜索引擎、社交网站、博客网站、新闻馈送服务等。在一些实施例中,计算或存储资源340可以包括如在图1上示出且在上面讨论的一个或多个web资源/web服务160。
返回参考图3,对话管理器330可以采用多个不同的方法来响应于所辨识的输入而生成输出360。一些方法包括使用统计分析、机器学习算法(例如,神经网络)、启发式分析等。对话管理器330可以是对话系统引擎的中心组件中的一个。对话管理器330的主要作用可以是根据NLP的结果(例如,对话行为、用户目标和谈话历史)基于观察到的证据和推理的对话状态来选择正确的系统动作。此外,当用户输入具有由噪声或意外输入所导致的ASR和NLP错误时对话管理器330可以能够处理错误。
对话系统引擎300还可以包括用于将对话管理器330的输出360变换成适合于提供给用户的形式的输出渲染器350。例如,输出渲染器350可以采用文本到语音引擎或者可以联系预先记录的音频数据库以生成与对话管理器330的输出360相对应的音频消息。在某些实施例中,输出渲染器350可以将对话管理器330的输出360呈现或者使得呈现为文本消息、图像或视频消息以供进一步显示在用户装置的显示屏幕上。在一些示例实施例中,输出渲染器350可构成在图1上作为对话系统接口130示出的对话系统接口的至少一部分。
仍然参考图3,对话系统引擎300可以包括在至少一个规则数据库365中维护的一个或多个对话系统规则。对话系统引擎300也可以包括或者与一个或多个上下文数据库370相关联,所述上下文数据库370可以维护多个上下文描述元件,诸如与一个或多个对话系统规则相关联的词项、关键词、短语、表达、上下文变量、上下文参数(例如,地理定位、系统速率、GUI等)的列表。换句话说,上下文数据库370可以包括支持针对特定用户请求确定对话或环境上下文的过程的信息。
对话系统引擎300也可以包括或者与一个或多个统计和使用数据库380相关联,所述统计和使用数据库380可以被配置成聚合与对话系统引擎300和/或相关对话系统接口和/或相关移动或软件应用的操作相关联的统计或使用信息。例如,统计和使用数据库380可以累积对话系统日志,所述对话系统日志可被稍后用于对话系统规则、对话系统响应方案、在由对话系统引擎300采用的情况下训练机器学习算法等的优化。
图4是图示用于增强本文中所描述的对话系统的示例系统400的高级框图。特别地,系统400可以是适合于运行图1上示出的平台110和/或市场170的基于服务器的解决方案。
注意的是,图4上示出的系统400的所有组件可以包括逻辑元件、硬件组件、软件(固件)组件、虚拟组件或其组合。系统400可以包括、关系到或者构成诸如通用计算机、服务器、web服务器、网络服务、云计算服务等的各种类型的装置和系统中的一个或多个的一个整体部分。另外,图4中所示的所有模块可以使用任何适合的有线、无线、无线电、电或光学标准来在操作上耦合。
如图4所示,系统400包括以下硬件组件:至少一个处理器402、存储器404、可选地一个或多个存储装置406和可选地网络接口408。系统400也可以可选地包括以下软件或虚拟组件:操作系统410、一个或多个软件应用420和接口430(诸如图1上示出的平台接口112和/或市场接口174)。接口430可以提供用于像本文中所讨论的那样访问并管理信息的以人为中心的接口。
在一些实施例中,处理器402可以被配置成实现在系统400内执行的功能性和/或过程指令。例如,处理器402可以处理存储在存储器404中的指令和/或存储在存储装置406上的指令。此类指令可以包括操作系统410、软件应用420和/或接口430的组件。
根据一个示例实施例,存储器404可以被配置成在操作期间存储系统400内的信息。在一些示例实施例中,存储器404可以指代非暂时性计算机可读存储介质或计算机可读存储装置。在一些示例实施例中,存储器404可以是临时存储器,意味着存储器404的主要目的可能不是长期存储。存储器404也可以指代易失性存储器,意味着当存储器404不在接收电力时存储器404可以不维护存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)以及本领域中已知的易失性存储器的其它形式。在一些示例中,存储器404可以用于存储由处理器402执行的程序指令。在一个示例实施例中,存储器404可以用于在程序执行期间临时地存储信息。
一个或多个存储装置406也可包括一个或多个暂时性或非暂时性计算机可读存储介质和/或计算机可读存储装置。在一些实施例中,存储装置406可以被配置成存储比存储器404更大量的信息。存储装置406还可被配置用于信息的长期存储。在一些示例中,存储装置406包括非易失性存储元件。此类非易失性存储元件的示例包括磁硬盘、光盘、固态盘、闪速存储器、电可编程存储器(EPROM)或电可擦且可编程存储器(EEPROM)的形式以及本领域中已知的非易失性存储器的其它形式。在一个示例中,存储装置406可包括在图1上作为数据库172示出的数据库(即,存储装置406可存储并维护多个对话系统扩展元件,其包括插件、附件、扩展等)。在其它实施例中,存储装置406可存储并维护用户简档和定制对话系统引擎。
仍然参考图4,系统400可以包括网络接口408。可利用网络接口408来经由一个或多个通信网络与外部装置、服务器和联网系统进行通信,所述通信网络诸如一个或多个有线、无线或光网络,包括例如互联网、内部网、LAN、WAN、蜂窝电话网络(例如,全球移动通信系统(GSM)通信网络、分组交换通信网络、电路交换通信网络)、蓝牙无线电以及基于IEEE802.11的射频网络等。网络接口408可以是网络接口卡(诸如以太网卡)、光收发器、射频收发器,或者可发送并接收信息的任何其它类型的装置。此类网络接口的其它示例可以包括移动计算装置中的3G、4G和无线电以及通用串行总线。
操作系统410可以控制系统400或系统400的组件的一个或多个功能性。例如,操作系统410可以与接口430交互,并且可以进一步方便软件应用420与处理器402、存储器404、存储装置406和/或网络接口408之间的一个或多个交互。操作系统410可以与接口430和接口430的组件交互或者以其它方式耦合到接口430和接口430的组件。值得注意的是,系统400及其组件也可以与一个或多个远程存储或计算资源交互,所述远程存储或计算资源包括例如web资源、web站点、社交网络网站、博客网站、新闻馈送、电子邮件服务器、web日历、事件数据库、票务聚合器、地图数据库、兴趣点数据库等。软件应用420实质上可以向平台和/或市场提供功能性并且使得能实现它们的操作。可替选地,软件应用420可以是对平台和/或市场的添加。
图5是示出根据示例实施例的用于增强对话系统的方法500的过程流程图。方法500可以由处理逻辑来执行,所述处理逻辑可以包括硬件(例如,决策逻辑、专用逻辑、可编程逻辑和微码)、软件(诸如在通用计算机系统或专用机器上运行的软件)或两者的组合。在一个示例实施例中,处理逻辑指代图1上示出的市场170和/或平台110的一个或多个组件。值得注意的是,可以按照与图5中所描述和示出的不同的顺序来实现方法500的下面叙述的步骤。此外,方法500可以具有本文中未示出但是对于本领域的技术人员来说可以从本公开明显的附加步骤。方法500也可以具有比在下面概述且在图5中示出的更少的步骤。
方法500可以在操作510处以维护在线市场开始。在线市场可以由存储器维护并且可以包括多个对话系统扩展元件(例如,对话系统插件、对话系统附件、对话系统更新和对话系统升级)。软件开发者可以通过市场接口来查看并选择特定对话系统扩展元件。在示例实施例中,软件开发者可审查与对话系统扩展元件相关联的元数据,审查其它开发者或用户的评论、排名、评级、评论、发布者的信息、描述、手册、图像、视频、法律信息等。
在操作520处,处理器可以从软件开发者接收对话系统扩展元件的至少一个选择。在示例实施例中,软件开发者与对话系统相关联;即,软件开发者可以使对话系统被开发或者可以被软件开发者拥有。
在一些实施例中,选择可能需要进行金融交易,使得对话系统扩展元件可与特定对话系统引擎集成。在这些情况下,软件开发者可能需要对计划进行预订或者进行一次性付款以得到使用所选择的对话系统扩展元件的权限。更具体地,在接收到对话系统扩展元件的选择时,处理器可以从软件开发者接收针对对话系统扩展元件的预订计划的选择。此外,处理器可以接收针对对话系统扩展元件的支付。该支付可以由软件开发商根据预订计划来提供。
在操作530处,处理器可以使由软件开发者选择的对话系统扩展元件与软件开发者的对话系统相关联。出于此目的,处理器可能需要识别软件开发者或与软件开发者相关联的对话系统。识别可通过授权过程(即,请求软件开发者登录在线市场)来实现。更具体地,处理器可以接收来自软件开发者的授权请求。
在这方面,处理器可以基于授权数据与平台进行通信并且访问与软件开发者和软件开发者的对话系统相关联的记录或用户简档。可以将记录存储在存储器中。基于记录,可以识别软件开发者和软件开发者的对话系统。一旦软件开发者和/或软件开发者的对话系统被识别,处理器就可以授权软件开发者访问在线市场。处理器还可以继续将软件开发者的对话系统与由软件开发者选择的对话系统扩展元件链接。对于链接,可以将对话系统扩展元件集成或者嵌入到软件开发者的对话系统中,或者可替选地,可以将与对话系统扩展元件相关联的某些链接或元数据与软件开发者的对话系统集成。在任何一种情况下,对话系统扩展元件可以与软件开发者的对话系统相结合地操作。
在示例实施例中,软件开发者可获得对话系统扩展元件作为“黑盒”解决方案,意味着软件开发者可能无法看到对话系统扩展元件的源代码、实体、意图或其它信息。可替选地,软件开发者可获得对话系统扩展元件作为“白盒”解决方案,意味着软件开发者可以能够看到对话系统扩展元件的源代码、实体、意图或其它信息。在更多的实施例中,可提供“黑盒”和“白盒”解决方案之间的各种选项,意味着可提供可以允许软件开发者查看并编辑对话系统扩展元件的特定元件(例如,访问意图执行结果,而不是对话定义、意图和实体本身)的各种访问级别。可替选地,可给软件开发者提供对对话系统扩展元件的完全开源访问。换句话说,可以将对话系统扩展元件作为可由软件开发者编辑的开源对话系统扩展元件、部分地可由软件开发者编辑的受限访问对话系统扩展元件以及不可由软件开发者编辑的封闭访问对话系统扩展元件来提供。
另外,当对话系统扩展元件成功地与对话系统相关联时,对话系统的操作可以如下。在操作540处,处理器可以从对话系统接口接收用户请求。可以将对话系统接口安装在用户装置或第三方服务器上。对话系统接口可以与在在线平台处维护的对话系统相关联。在操作550处,处理器可以识别与对话系统接口相关联并因此与对话系统相关联的对话系统引擎。在操作560处,处理器或对话系统引擎可以识别与对话系统引擎相关联的对话系统扩展元件或多个元件。可选地,可执行仲裁步骤以在元件之间选择或者一次给用户呈现多个结果。仲裁步骤可由仲裁应用执行。在操作570处,用户请求可以由对话系统扩展元件单独或者与对话系统引擎相结合地进行处理以生成对用户请求的响应。最后,在操作580处,处理器可以导致响应到用户的递送。响应的递送可以包括向对话系统接口或者向用户装置递送文本、视频、音频和/或元数据,诸如用户装置可以获得用于递送给用户的数据的回调URL。
在某些实施例中,在操作570处,对话系统引擎可以试图在没有任何对话系统扩展元件的情况下处理用户请求。这种处理可以包括基于用户请求激活对话系统、像上面所讨论的那样检索一个或多个实体和一个或多个意图以及通过应用一个或多个实体和一个或多个意图来处理用户请求以便生成适当的响应或满足动作。如果以这样的方式处理用户请求成功,则处理器可以进行到操作580以便将响应递送给用户或者做出特定动作。可替选地,如果通过应用对话系统引擎它本身来处理用户请求不成功,则用户请求由对话系统扩展元件(或多个对话系统扩展元件)处理以便生成对用户请求的替代响应。一旦替代响应由一个或多个对话系统扩展元件生成,则方法500进行到如上面所讨论的操作580。
图6是图示适合于实现本文中所描述的方法的示例用户装置600的高级框图。值得提及的是,用户装置600的所有组件可以包括逻辑元件、硬件组件、软件(固件)组件、虚拟组件或其组合。
用户装置600可以包括诸如通用计算机、桌面型计算机、服务器、计算机网络、网络服务、云计算服务等的各种类型的装置和系统中的一个或多个的至少一个整体部分。另外,图6所示的所有模块可以使用任何适合的有线、无线、无线电、电或光学标准来在操作上耦合。如上面已经概述的,用户装置600可以指代智能电话、无线电话、计算机(诸如平板计算机或桌面型计算机)、信息娱乐系统、车载计算装置等。
如图6所示,用户装置600可以包括以下硬件组件:至少一个处理器602、存储器604、一个或多个存储装置606、一个或多个输入模块608、一个或多个输出模块610、网络接口612和地理定位确定器614。用户装置600也可以包括以下软件或虚拟组件:操作系统620、一个或多个软件(移动)应用630和对话系统接口130,所述对话系统接口130可以是独立软件应用或者被集成到一个或多个软件应用630中。对话系统接口130可以提供用于像本文中所讨论的那样访问并管理信息、与对话系统引擎进行通信并且与web资源/web服务进行通信的以人为中心的接口。根据各种实施例,对话系统接口130可以是虚拟的。
处理器602可以被配置成实现在用户装置600内执行的功能性和/或过程指令。例如,处理器602可以处理存储在存储器604中的指令和/或存储在存储装置606上的指令。此类指令可以包括操作系统620和软件应用630的组件。用户装置600也可以包括图6中未示出的一个或多个附加组件,诸如外壳、电源、通讯总线等。这些元件被省略以便不烦扰本实施例的描述。
根据一个示例实施例,存储器604可以被配置成在操作期间存储用户装置600内的信息。存储器604可以指代非暂时性计算机可读存储介质或计算机可读存储装置。在一些示例中,存储器604可以是临时存储器,意味着存储器604的主要目的可能不是长期存储。存储器604也可以指代易失性存储器,意味着当存储器604不在接收电力时存储器604可以不维护存储的内容。易失性存储器的示例包括RAM、DRAM、SRAM以及本领域已知的易失性存储器的其它形式。在一些示例中,存储器604可以用于存储由处理器602执行的程序指令。在一个示例实施例中,存储器604可以由在用户装置600上执行的软件(例如,操作系统620)或对话系统接口130使用来在程序执行期间临时地存储信息。存储装置606也可包括一个或多个暂时性或非暂时性计算机可读存储介质和/或计算机可读存储装置。在一些实施例中,存储装置606可以被配置成存储比存储器604更大量的信息。存储装置606还可被配置用于信息的长期存储。在一些示例中,存储装置606可以包括非易失性存储元件。此类非易失性存储元件的示例包括磁硬盘、光盘、固态盘、闪速存储器、EPROM或EEPROM的形式以及本领域中已知的非易失性存储器的其它形式。
仍参考图6,用户装置600可以包括一个或多个输入模块608。输入模块608可以被配置成接收用户输入。输入模块608的示例可以包括麦克风、键盘、小键盘、鼠标、轨迹球、触摸屏、触摸板,或者能够以语音、音频或触觉动作的形式检测来自用户或其它来源的输入并且将该输入中继到用户装置600或其组件的任何其它装置。
在一些示例实施例中,输出模块610可以被配置成通过视觉或听觉通道来向用户提供输出。输出模块610可以包括视频图形适配器卡、液晶显示监视器、发光二极管监视器、声卡、扬声器,或者能够生成用户可以理解的输出的任何其它装置。
在一些实施例中,用户装置600可以包括网络接口612。可利用网络接口612来经由一个或多个通信网络与外部装置、服务器和联网系统进行通信,所述通信网络诸如一个或多个有线、无线或光网络,包括例如互联网、内联网、LAN、WAN、蜂窝电话网络(例如,GSM通信网络、分组交换通信网络、电路交换通信网络)、蓝牙无线电以及基于IEEE 802.11的射频网络等。网络接口612可以是网络接口卡(诸如以太网卡)、光收发器、射频收发器,或者可发送并接收信息的任何其它类型的装置。此类网络接口的其它示例可以包括移动计算装置中的3G、4G和无线电以及通用串行总线。
用户装置600还可以包括用于确定用户装置的当前地理定位的地理定位确定器614。地理定位确定器614可以利用用于确定地理定位的许多不同的方法,包括例如接收并处理全球定位系统、GLONASS卫星导航系统或伽利略卫星导航系统的信号;利用无线电塔(基站)之间的无线电信号的多路化;或者利用与网际协议地址、媒体访问控制地址、射频标识或其它技术相关联的地理定位方法。
操作系统620可以控制用户装置600或其组件的一个或多个功能性。例如,操作系统620可以与对话系统接口130交互并且可以进一步方便软件应用630与处理器602、存储器604、存储装置606、输入模块608及输出模块610中的一个或多个之间的一个或多个交互。如图6所示,操作系统620可与软件应用630、对话系统接口130及其组件交互或者以其它方式耦合到软件应用630、对话系统接口130及其组件。在一些实施例中,可将对话系统接口130包括到操作系统620和/或软件应用630中。值得注意的是,用户装置600及其组件(诸如对话系统接口130)也可以与一个或多个远程存储或计算资源交互,所述远程存储或计算资源包括例如web资源、网站、社交网络网站、博客网站、新闻馈送、电子邮件服务器、web日历、事件数据库、票务聚合器、地图数据库、兴趣点数据库等。
因此,已经对用于增强对话系统的方法和系统进行了描述。尽管已经参考特定示例实施例描述了实施例,然而将显而易见的是,在不脱离本申请的较广精神和范围的情况下,可对这些示例实施例作出各种修改和改变。因此,将在说明性而不是限制性意义上考虑本说明书和附图。

Claims (20)

1.一种用于增强对话系统的系统,包括:
存储器,所述存储器能够操作为维护包括多个对话系统扩展元件的在线市场,其中所述多个对话系统扩展元件中的每一个对话系统扩展元件包括以下中的至少一个:对话系统插件、对话系统附件、对话系统更新和对话系统升级;以及
至少一个处理器,所述至少一个处理器能够操作为:
从软件开发者接收对所述多个对话系统扩展元件中的一个对话系统扩展元件的选择,所述软件开发者与对话系统相关联;以及
基于所述选择,使所述多个对话系统扩展元件中的所述一个对话系统扩展元件与和所述软件开发者相关联的所述对话系统相关联。
2.根据权利要求1所述的系统,其中,所述至少一个处理器进一步能够操作为:
接收来自所述软件开发者的授权请求,所述授权请求至少包括与所述软件开发者相关联的授权数据;
基于所述授权数据,访问与所述软件开发者和所述软件开发者的所述对话系统相关联的记录,所述记录被存储在所述存储器中;
基于所述记录,识别所述软件开发者和所述软件开发者的所述对话系统;以及
基于所述识别,授权所述软件开发者访问所述在线市场。
3.根据权利要求1所述的系统,其中,使所述多个对话系统扩展元件中的所述一个对话系统扩展元件与所述对话系统相关联包括将所述多个对话系统扩展元件中的所述一个对话系统扩展元件嵌入到所述对话系统中。
4.根据权利要求1所述的系统,其中,所述多个对话系统扩展元件中的每一个对话系统扩展元件与元数据相关联,所述元数据被提供用于给所述软件开发者审查。
5.根据权利要求4所述的系统,其中,使所述多个对话系统扩展元件中的所述一个对话系统扩展元件与所述对话系统相关联包括将与所述多个对话系统扩展元件中的所述一个对话系统扩展元件相关联的所述元数据集成到所述对话系统中。
6.根据权利要求1所述的系统,其中,所述至少一个处理器进一步能够操作为:
从对话系统接口接收用户的用户请求,其中所述对话系统接口被安装在用户装置和第三方服务器中的一个上,所述对话系统接口与所述对话系统相关联,其中所述对话系统被维护在在线平台处;
基于所述用户请求,激活所述对话系统并且检索一个或多个对话系统实体和一个或多个对话系统意图;
通过应用所述一个或多个对话系统实体和所述一个或多个对话系统意图来处理所述用户请求以生成响应;
如果所述用户请求的所述处理成功,则将所述响应递送给所述用户;以及
如果所述用户请求的所述处理不成功,则由所述多个对话系统扩展元件中的所述一个对话系统扩展元件来处理所述用户请求以生成对所述用户请求的替代响应并且将所述替代响应递送给所述用户。
7.根据权利要求1所述的系统,其中,所述至少一个处理器进一步能够操作为:
从对话系统接口接收用户的用户请求,其中所述对话系统接口被安装在用户装置和第三方服务器中的一个上,其中所述对话系统被维护在在线平台处;
识别所述对话系统接口与所述对话系统相关联;
识别所述多个对话系统扩展元件中的至少一个对话系统扩展元件,所述至少一个对话系统扩展元件与所述对话系统相关联;
由所述至少一个对话系统扩展元件来处理所述用户请求以生成对所述用户请求的响应;以及
导致所述响应到所述用户的递送。
8.根据权利要求1所述的系统,其中,所述多个对话系统扩展元件中的所述一个对话系统扩展元件选自包括以下的组:开源对话系统扩展元件、受限访问对话系统扩展元件和封闭访问对话系统扩展元件。
9.根据权利要求8所述的系统,其中所述开源对话系统扩展元件能够由所述软件开发者编辑,其中所述受限访问对话系统扩展元件部分地能够由所述软件开发者编辑;以及
其中所述封闭访问对话系统扩展元件不能够由所述软件开发者编辑。
10.根据权利要求1所述的系统,其中,所述至少一个处理器进一步能够操作为:
在接收到对所述多个对话系统扩展元件中的所述一个对话系统扩展元件的所述选择时,从所述软件开发者接收对与所述多个对话系统扩展元件中的所述一个对话系统扩展元件相关联的预订计划的选择;以及
接收针对所述多个对话系统扩展元件中的所述一个对话系统扩展元件的支付,所述支付由所述软件开发者根据所述预订计划来提供。
11.一种用于增强对话系统的计算机实现的方法,所述方法由至少一个处理器和存储器来执行,所述方法包括:
由所述存储器维护包括多个对话系统扩展元件的在线市场,其中所述多个对话系统扩展元件中的每一个对话系统扩展元件包括以下中的至少一个:对话系统插件、对话系统附件、对话系统更新和对话系统升级;
由所述至少一个处理器从软件开发者接收对所述多个对话系统扩展元件中的一个对话系统扩展元件的选择,所述软件开发者与对话系统相关联;以及
基于所述选择,由所述至少一个处理器使所述多个对话系统扩展元件中的所述一个对话系统扩展元件与所述软件开发者的所述对话系统相关联。
12.根据权利要求11所述的方法,进一步包括:
由所述至少一个处理器接收来自所述软件开发者的授权请求,所述授权请求至少包括与所述软件开发者相关联的授权数据;
基于所述授权数据,访问与所述软件开发者和所述软件开发者的所述对话系统相关联的记录,所述记录被存储在所述存储器中;
基于所述记录,识别所述软件开发者和所述软件开发者的所述对话系统;以及
基于所述识别,授权所述软件开发者访问所述在线市场。
13.根据权利要求11所述的方法,其中,使所述多个对话系统扩展元件中的所述一个对话系统扩展元件与所述对话系统相关联包括将所述多个对话系统扩展元件中的所述一个对话系统扩展元件嵌入到所述对话系统中。
14.根据权利要求11所述的方法,其中,所述多个对话系统扩展元件中的每一个对话系统扩展元件与元数据相关联,所述元数据被提供用于给所述软件开发者审查。
15.根据权利要求14所述的方法,其中,使所述多个对话系统扩展元件中的所述一个对话系统扩展元件与所述对话系统相关联包括将与所述多个对话系统扩展元件中的所述一个对话系统扩展元件相关联的所述元数据集成到所述对话系统中。
16.根据权利要求11所述的方法,进一步包括:
从对话系统接口接收用户的用户请求,其中所述对话系统接口被安装在用户装置和第三方服务器中的一个上,所述对话系统接口与所述对话系统相关联,其中所述对话系统被维护在在线平台处;
基于所述用户请求,激活所述对话系统并且检索一个或多个对话系统实体和一个或多个对话系统意图;
通过应用所述一个或多个对话系统实体和所述一个或多个对话系统意图来处理所述用户请求以生成响应;
如果所述用户请求的所述处理成功,则将所述响应递送给所述用户;以及
如果所述用户请求的所述处理不成功,则由所述多个对话系统扩展元件中的所述一个对话系统扩展元件来处理所述用户请求以生成对所述用户请求的替代响应并且将所述替代响应递送给所述用户。
17.根据权利要求11所述的方法,进一步包括:
从对话系统接口接收用户的用户请求,其中所述对话系统接口被安装在用户装置和第三方服务器中的一个上,其中所述对话系统被维护在在线平台处;
识别所述对话系统接口与所述对话系统相关联;
识别所述多个对话系统扩展元件中的至少一个对话系统扩展元件,所述至少一个对话系统扩展元件与所述对话系统相关联;
由所述至少一个对话系统扩展元件来处理所述用户请求以生成对所述用户请求的响应;以及
导致所述响应到所述用户的递送。
18.根据权利要求11所述的方法,其中,所述多个对话系统扩展元件中的所述一个对话系统扩展元件选自包括以下的组:开源对话系统扩展元件、受限访问对话系统扩展元件和封闭访问对话系统扩展元件。
19.根据权利要求11所述的方法,进一步包括:
在接收到对所述多个对话系统扩展元件中的所述一个对话系统扩展元件的所述选择时,由所述至少一个处理器从所述软件开发者接收对与所述多个对话系统扩展元件中的所述一个对话系统扩展元件相关联的预订计划的选择;以及
由所述至少一个处理器接收针对所述多个对话系统扩展元件中的所述一个对话系统扩展元件的支付,所述支付由所述软件开发者根据所述预订计划来提供。
20.一种用于增强对话系统的系统,包括:
存储器,所述存储器能够操作为维护包括多个对话系统扩展元件的在线市场,其中所述多个对话系统扩展元件中的每一个对话系统扩展元件包括以下中的至少一个:对话系统插件、对话系统附件、对话系统更新和对话系统升级;以及
至少一个处理器,所述至少一个处理器能够操作为:
从软件开发者接收对所述多个对话系统扩展元件中的一个对话系统扩展元件的选择,所述软件开发者与对话系统相关联;
基于所述选择,使所述多个对话系统扩展元件中的所述一个对话系统扩展元件与所述软件开发者的对话系统相关联,其中,使所述多个对话系统扩展元件中的所述一个对话系统扩展元件与所述对话系统相关联包括将所述多个对话系统扩展元件中的所述一个对话系统扩展元件嵌入到所述对话系统中;
从对话系统接口接收用户的用户请求,其中所述对话系统接口被安装在用户装置和第三方服务器中的一个上,其中所述对话系统被维护在在线平台处;
识别所述对话系统接口与所述对话系统相关联;
识别所述多个对话系统扩展元件中的至少一个对话系统扩展元件,所述至少一个对话系统扩展元件与所述对话系统相关联;
由所述至少一个对话系统扩展元件来处理所述用户请求以生成对所述用户请求的响应;以及
导致所述响应到所述用户的递送。
CN201680018569.8A 2015-05-27 2016-05-27 用于增强对话系统的插件的在线市场 Active CN107430517B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011438705.3A CN112527353B (zh) 2015-05-27 2016-05-27 用于增强对话系统的插件的在线市场

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562166683P 2015-05-27 2015-05-27
US62/166,683 2015-05-27
PCT/US2016/034504 WO2016191629A1 (en) 2015-05-27 2016-05-27 Online marketplace of plugins for enhancing dialog systems

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202011438705.3A Division CN112527353B (zh) 2015-05-27 2016-05-27 用于增强对话系统的插件的在线市场

Publications (2)

Publication Number Publication Date
CN107430517A true CN107430517A (zh) 2017-12-01
CN107430517B CN107430517B (zh) 2020-12-18

Family

ID=57393323

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202011438705.3A Active CN112527353B (zh) 2015-05-27 2016-05-27 用于增强对话系统的插件的在线市场
CN201680018569.8A Active CN107430517B (zh) 2015-05-27 2016-05-27 用于增强对话系统的插件的在线市场

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202011438705.3A Active CN112527353B (zh) 2015-05-27 2016-05-27 用于增强对话系统的插件的在线市场

Country Status (4)

Country Link
US (4) US10324704B2 (zh)
EP (1) EP3304288B1 (zh)
CN (2) CN112527353B (zh)
WO (1) WO2016191629A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109086033A (zh) * 2018-07-06 2018-12-25 航天星图科技(北京)有限公司 一种遥感数据处理的流程调度方法
CN111767033A (zh) * 2020-05-21 2020-10-13 江苏中科重德智能科技有限公司 用于机械臂程序开发的编程系统及功能扩展方法
US11520989B1 (en) * 2018-05-17 2022-12-06 Workday, Inc. Natural language processing with keywords

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9634855B2 (en) 2010-05-13 2017-04-25 Alexander Poltorak Electronic personal interactive device that determines topics of interest using a conversational agent
CN112527353B (zh) 2015-05-27 2024-09-13 谷歌有限责任公司 用于增强对话系统的插件的在线市场
CA2991244C (en) 2015-07-08 2023-12-19 Universal Robots A/S Method for extending end user programming of an industrial robot with third party contributions
US10649739B2 (en) * 2016-12-20 2020-05-12 Microsoft Technology Licensing, Llc Facilitating application development
US10657173B2 (en) * 2017-06-09 2020-05-19 Google Llc Validate modification of audio-based computer program output
US10614122B2 (en) 2017-06-09 2020-04-07 Google Llc Balance modifications of audio-based computer program output using a placeholder field based on content
US10652170B2 (en) 2017-06-09 2020-05-12 Google Llc Modification of audio-based computer program output
US11699039B2 (en) 2017-06-28 2023-07-11 Microsoft Technology Licensing, Llc Virtual assistant providing enhanced communication session services
US10585991B2 (en) * 2017-06-29 2020-03-10 Microsoft Technology Licensing, Llc Virtual assistant for generating personalized responses within a communication session
US11087761B2 (en) * 2018-05-07 2021-08-10 Google Llc Platform selection for performing requested actions in audio-based computing environments
CN117061495A (zh) * 2018-05-07 2023-11-14 谷歌有限责任公司 在基于音频的计算环境中执行请求的动作的平台选择
KR102545666B1 (ko) 2018-12-18 2023-06-21 삼성전자주식회사 페르소나에 기반하여 문장을 제공하는 방법 및 이를 지원하는 전자 장치
KR20200107057A (ko) 2019-03-06 2020-09-16 삼성전자주식회사 음성 인식 모델에서 사용되는 언어를 확장시키는 방법 및 음성 인식 모델을 포함하는 전자 장치
CN110113483B (zh) * 2019-04-19 2022-02-25 华为技术有限公司 使用电子设备的增强功能的方法及相关装置
CN112241274A (zh) * 2019-07-18 2021-01-19 上海绿联软件股份有限公司 程序升级方法、装置及设备
US11861674B1 (en) 2019-10-18 2024-01-02 Meta Platforms Technologies, Llc Method, one or more computer-readable non-transitory storage media, and a system for generating comprehensive information for products of interest by assistant systems
US11567788B1 (en) 2019-10-18 2023-01-31 Meta Platforms, Inc. Generating proactive reminders for assistant systems
US11561775B2 (en) 2020-03-30 2023-01-24 Nuance Communications, Inc. Development system and method
CN113793612B (zh) * 2021-09-15 2024-04-09 京东科技信息技术有限公司 模型服务的更新方法、装置及存储介质

Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040034860A1 (en) * 2002-08-15 2004-02-19 Microsoft Corporation Dynamically extensible application program framework including message and notification routing
US20050021689A1 (en) * 2003-02-26 2005-01-27 Kyle Marvin Systems and methods for creating network-based software services using source code annotations
US20070201655A1 (en) * 2006-02-03 2007-08-30 Michael Shenfield System and method for installing custom services on a component-based application platform
US20080139134A1 (en) * 2005-03-22 2008-06-12 Ntt Docomo, Inc. Transmission Rate Control Method, Radio Base Station and Radio Network Controller
US20080201701A1 (en) * 2006-10-03 2008-08-21 Salesforce.Com, Inc. Methods and systems for upgrading and installing application packages to an application platform
US20090210702A1 (en) * 2008-01-29 2009-08-20 Palm, Inc. Secure application signing
US20100262956A1 (en) * 2009-04-10 2010-10-14 Yoshihiro Okada Software development support apparatus, function extension method and storage medium for storing function extension program
CN101968740A (zh) * 2010-09-28 2011-02-09 中国工商银行股份有限公司 一种基于java class编译的业务数据动态调整服务器及系统
US20110154302A1 (en) * 2009-12-21 2011-06-23 Soeren Balko Adding services to application platform via extension
CN102170439A (zh) * 2011-04-20 2011-08-31 深圳创维-Rgb电子有限公司 一种应用服务扩展系统
US20120185821A1 (en) * 2010-09-17 2012-07-19 Oracle International Corporation Pattern-based construction and extension of enterprise applications in a cloud computing environment
CN102843334A (zh) * 2011-06-20 2012-12-26 华为技术有限公司 在线应用的交互方法、服务器、客户端设备和系统
CN103034928A (zh) * 2012-12-11 2013-04-10 清华大学 自律分散的即插即用数据平台及管理方法和应用
US20130185362A1 (en) * 2012-01-17 2013-07-18 Microsoft Corporation Installation and Management of Client Extensions
US20130191823A1 (en) * 2011-07-25 2013-07-25 Jason A. Davidson Dynamic feature enhancement in client server applications and high volume server deployment with dynamic app store integration
EP2685376A1 (en) * 2012-07-09 2014-01-15 Accenture Global Services Limited COBOL reference architecture
CN103631579A (zh) * 2013-10-28 2014-03-12 华中师范大学 一种插件式的教学软件平台
WO2014178901A1 (en) * 2013-04-29 2014-11-06 Microsoft Corporation Preventing sync interruptions
US20140337148A1 (en) * 2011-10-04 2014-11-13 Nokia Corporation Method and apparatus for providing an application marketplace
US20150058831A1 (en) * 2013-08-22 2015-02-26 Peter Warren Web application development platform with relationship modeling
CN104580342A (zh) * 2014-08-01 2015-04-29 南京坦道信息科技有限公司 一种可扩展和完全自定义的统一接口服务平台
US20150135160A1 (en) * 2012-05-01 2015-05-14 Simon Gauvin System and method for providing an application development and distribution social platform

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5845077A (en) * 1995-11-27 1998-12-01 Microsoft Corporation Method and system for identifying and obtaining computer software from a remote computer
US20050091057A1 (en) * 1999-04-12 2005-04-28 General Magic, Inc. Voice application development methodology
US20030083882A1 (en) * 2001-05-14 2003-05-01 Schemers Iii Roland J. Method and apparatus for incorporating application logic into a voice responsive system
US20060059251A1 (en) * 2002-05-01 2006-03-16 Cunha Gary D Method and system for request management processing
US7636722B2 (en) * 2003-02-28 2009-12-22 Bea Systems, Inc. System and method for describing application extensions in XML
US20070038642A1 (en) * 2004-09-15 2007-02-15 Scott Durgin Method for providing extensible software components within a distributed synchronization system
US20070088707A1 (en) * 2004-09-15 2007-04-19 Scott Durgin Method for providing extensible software components within a distributed synchronization system
US7552429B2 (en) * 2005-04-21 2009-06-23 International Business Machines Corporation Integrated development environment for managing software licensing restrictions
US10021062B2 (en) * 2005-07-01 2018-07-10 Cirius Messaging Inc. Secure electronic mail system
US7730142B2 (en) * 2005-07-01 2010-06-01 0733660 B.C. Ltd. Electronic mail system with functionality to include both private and public messages in a communication
US9401900B2 (en) * 2005-07-01 2016-07-26 Cirius Messaging Inc. Secure electronic mail system with thread/conversation opt out
US8688790B2 (en) * 2005-07-01 2014-04-01 Email2 Scp Solutions Inc. Secure electronic mail system with for your eyes only features
US9626667B2 (en) * 2005-10-18 2017-04-18 Intertrust Technologies Corporation Digital rights management engine systems and methods
US8108851B2 (en) * 2006-01-30 2012-01-31 International Business Machines Corporation External registration for function configuration within a client platform application
EP2042989A1 (en) * 2006-02-03 2009-04-01 Research In Motion Limited System and method for extending a component-based application platform with custom services
US20070233782A1 (en) * 2006-03-28 2007-10-04 Silentclick, Inc. Method & system for acquiring, storing, & managing software applications via a communications network
US20080020170A1 (en) * 2006-07-19 2008-01-24 Haubrich Jeanne E Substrate possessing a transparent protective layer derived from a radiation-curable acrylate composition
WO2008042984A2 (en) * 2006-10-03 2008-04-10 Salesforce.Com, Inc. Methods and systems for upgrading and installing application packages to an application platform
US8062132B2 (en) * 2006-12-08 2011-11-22 Microsoft Corporation Subscription based services for closed computing systems
US20080301669A1 (en) * 2007-05-30 2008-12-04 Google Inc. Dynamically Self-Updating by a Software Application on a Device
US8856205B2 (en) * 2007-07-24 2014-10-07 Ricoh Company, Ltd. Extensible web services system
US20090037287A1 (en) * 2007-07-31 2009-02-05 Ahmad Baitalmal Software Marketplace and Distribution System
US20090037337A1 (en) * 2007-07-31 2009-02-05 Ahmad Baitalmal Software Licensing and Enforcement System
FI120857B (fi) * 2007-12-19 2010-03-31 Teliasonera Ab Päätelaite, tallennusmedia, palvelukeskus ja menetelmä
CN101303650A (zh) * 2008-07-09 2008-11-12 腾讯科技(深圳)有限公司 一种软件平台的功能扩展方法及功能扩展系统
US20100037204A1 (en) * 2008-08-07 2010-02-11 Google Inc. Content Distribution for Mobile Device
US11218854B2 (en) * 2009-01-28 2022-01-04 Headwater Research Llc Service plan design, user interfaces, application programming interfaces, and device management
US8327351B2 (en) * 2009-04-30 2012-12-04 Sap Ag Application modification framework
US8032624B2 (en) * 2009-06-19 2011-10-04 Avaya Inc. Pluggable contact resolution
CN101604371B (zh) * 2009-07-22 2012-02-08 阿里巴巴集团控股有限公司 插件权限的控制方法及系统
CN101789938B (zh) * 2010-01-12 2013-01-30 清华大学 可重构软件中基于代理的组件生成方法
US8600803B1 (en) * 2010-05-18 2013-12-03 Google Inc. Incentivizing behavior to address pricing, tax, and currency issues in an online marketplace for digital goods
US9594886B2 (en) * 2010-06-02 2017-03-14 Avaya Inc. Application and open source information technology policy filter
US8352908B2 (en) * 2010-06-28 2013-01-08 International Business Machines Corporation Multi-modal conversion tool for form-type applications
US8694988B2 (en) * 2010-10-22 2014-04-08 Adobe Systems Incorporated Runtime extensions
US20150161277A1 (en) * 2011-03-14 2015-06-11 Browsium, Inc. Methods and systems for one browser version to use a rendering engine of another browser version for displaying information
CN102682014A (zh) * 2011-03-14 2012-09-19 腾讯科技(深圳)有限公司 在浏览器上实现的开放式插件管理平台及插件管理方法
US8898629B2 (en) * 2011-04-06 2014-11-25 Media Direct, Inc. Systems and methods for a mobile application development and deployment platform
WO2013074548A1 (en) * 2011-11-15 2013-05-23 Trimble Navigation Limited Efficient distribution of functional extensions to a 3d modeling software
US20140053126A1 (en) * 2012-02-13 2014-02-20 Mark A. Watson Integrated mobile application development platform
US9135445B2 (en) * 2012-03-19 2015-09-15 Google Inc. Providing information about a web application or extension offered by website based on information about the application or extension gathered from a trusted site
US20140047413A1 (en) * 2012-08-09 2014-02-13 Modit, Inc. Developing, Modifying, and Using Applications
US9514492B2 (en) 2012-11-05 2016-12-06 Mfoundry, Inc. Systems and methods for providing financial service extensions
US9210155B2 (en) * 2013-03-08 2015-12-08 Stocktree Inc. System and method of extending a host website
US20140310606A1 (en) * 2013-04-11 2014-10-16 Xiaomi Inc. Method and device for providing plugin in contact list
US20140350933A1 (en) * 2013-05-24 2014-11-27 Samsung Electronics Co., Ltd. Voice recognition apparatus and control method thereof
US9294482B2 (en) * 2013-07-25 2016-03-22 Oracle International Corporation External platform extensions in a multi-tenant environment
EP2889813B1 (en) * 2013-12-27 2017-11-15 Buongiorno S.P.A. Method and system for implementing in-app software development kits
US9733921B1 (en) * 2014-01-23 2017-08-15 NetSuite Inc. System and methods for management of cloud application extensions
SG11201702029PA (en) * 2014-09-14 2017-04-27 Speaktoit Inc Platform for creating customizable dialog system engines
US11231826B2 (en) * 2015-03-08 2022-01-25 Google Llc Annotations in software applications for invoking dialog system functions
CN112527353B (zh) 2015-05-27 2024-09-13 谷歌有限责任公司 用于增强对话系统的插件的在线市场

Patent Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040034860A1 (en) * 2002-08-15 2004-02-19 Microsoft Corporation Dynamically extensible application program framework including message and notification routing
US20050021689A1 (en) * 2003-02-26 2005-01-27 Kyle Marvin Systems and methods for creating network-based software services using source code annotations
US20080139134A1 (en) * 2005-03-22 2008-06-12 Ntt Docomo, Inc. Transmission Rate Control Method, Radio Base Station and Radio Network Controller
US20070201655A1 (en) * 2006-02-03 2007-08-30 Michael Shenfield System and method for installing custom services on a component-based application platform
US20080201701A1 (en) * 2006-10-03 2008-08-21 Salesforce.Com, Inc. Methods and systems for upgrading and installing application packages to an application platform
US20090210702A1 (en) * 2008-01-29 2009-08-20 Palm, Inc. Secure application signing
US20100262956A1 (en) * 2009-04-10 2010-10-14 Yoshihiro Okada Software development support apparatus, function extension method and storage medium for storing function extension program
US20110154302A1 (en) * 2009-12-21 2011-06-23 Soeren Balko Adding services to application platform via extension
US20120185821A1 (en) * 2010-09-17 2012-07-19 Oracle International Corporation Pattern-based construction and extension of enterprise applications in a cloud computing environment
CN101968740A (zh) * 2010-09-28 2011-02-09 中国工商银行股份有限公司 一种基于java class编译的业务数据动态调整服务器及系统
CN102170439A (zh) * 2011-04-20 2011-08-31 深圳创维-Rgb电子有限公司 一种应用服务扩展系统
CN102843334A (zh) * 2011-06-20 2012-12-26 华为技术有限公司 在线应用的交互方法、服务器、客户端设备和系统
US20130191823A1 (en) * 2011-07-25 2013-07-25 Jason A. Davidson Dynamic feature enhancement in client server applications and high volume server deployment with dynamic app store integration
US20140337148A1 (en) * 2011-10-04 2014-11-13 Nokia Corporation Method and apparatus for providing an application marketplace
US20130185362A1 (en) * 2012-01-17 2013-07-18 Microsoft Corporation Installation and Management of Client Extensions
US20150135160A1 (en) * 2012-05-01 2015-05-14 Simon Gauvin System and method for providing an application development and distribution social platform
EP2685376A1 (en) * 2012-07-09 2014-01-15 Accenture Global Services Limited COBOL reference architecture
CN103034928A (zh) * 2012-12-11 2013-04-10 清华大学 自律分散的即插即用数据平台及管理方法和应用
WO2014178901A1 (en) * 2013-04-29 2014-11-06 Microsoft Corporation Preventing sync interruptions
US20150058831A1 (en) * 2013-08-22 2015-02-26 Peter Warren Web application development platform with relationship modeling
CN103631579A (zh) * 2013-10-28 2014-03-12 华中师范大学 一种插件式的教学软件平台
CN104580342A (zh) * 2014-08-01 2015-04-29 南京坦道信息科技有限公司 一种可扩展和完全自定义的统一接口服务平台

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11520989B1 (en) * 2018-05-17 2022-12-06 Workday, Inc. Natural language processing with keywords
CN109086033A (zh) * 2018-07-06 2018-12-25 航天星图科技(北京)有限公司 一种遥感数据处理的流程调度方法
CN109086033B (zh) * 2018-07-06 2021-08-03 中科星图股份有限公司 一种遥感数据处理的流程调度方法
CN111767033A (zh) * 2020-05-21 2020-10-13 江苏中科重德智能科技有限公司 用于机械臂程序开发的编程系统及功能扩展方法
CN111767033B (zh) * 2020-05-21 2023-08-25 江苏中科重德智能科技有限公司 用于机械臂程序开发的编程系统及功能扩展方法

Also Published As

Publication number Publication date
US20210247974A1 (en) 2021-08-12
US20240211238A1 (en) 2024-06-27
US20190369982A1 (en) 2019-12-05
US20160350101A1 (en) 2016-12-01
EP3304288B1 (en) 2023-07-12
CN112527353A (zh) 2021-03-19
CN112527353B (zh) 2024-09-13
CN107430517B (zh) 2020-12-18
EP3304288A4 (en) 2018-12-26
EP3304288A1 (en) 2018-04-11
US10990377B2 (en) 2021-04-27
US11861346B2 (en) 2024-01-02
WO2016191629A1 (en) 2016-12-01
US10324704B2 (en) 2019-06-18

Similar Documents

Publication Publication Date Title
CN107430517A (zh) 用于增强对话系统的插件的在线市场
CN107615274A (zh) 经由插件市场增强虚拟助理和对话系统的功能性
Khan et al. Build better chatbots
CN101292282B (zh) 支持自然语言人机交互的移动系统和方法
CN105009070B (zh) 计算机应用促进
US20190394511A1 (en) Systems and methods for generating and presenting content-based summaries and recommendations
CN107113339A (zh) 增强的推送消息传递
CN104580348B (zh) 访问基于位置的内容
US10474439B2 (en) Systems and methods for building conversational understanding systems
CN107545018A (zh) 在基于反馈的系统效能确定中的时延降低
US12106084B2 (en) Debugging applications for delivery via an application delivery server
CN116560970A (zh) 用于基于数字助理的应用的沉浸式基于web的模拟器
EP3729259B1 (en) Assessing applications for delivery via an application delivery server
US20240346096A1 (en) Personal helper bot system with example applications in genealogy and music playlist curation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant