CN109983460B - 用于开发对话驱动式应用程序的服务 - Google Patents
用于开发对话驱动式应用程序的服务 Download PDFInfo
- Publication number
- CN109983460B CN109983460B CN201780072369.5A CN201780072369A CN109983460B CN 109983460 B CN109983460 B CN 109983460B CN 201780072369 A CN201780072369 A CN 201780072369A CN 109983460 B CN109983460 B CN 109983460B
- Authority
- CN
- China
- Prior art keywords
- application
- natural language
- parameter
- dialog
- end 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.)
- Active
Links
- 230000003993 interaction Effects 0.000 claims abstract description 85
- 238000000034 method Methods 0.000 claims description 29
- 230000004044 response Effects 0.000 claims description 13
- 238000012549 training Methods 0.000 claims description 6
- 230000001419 dependent effect Effects 0.000 claims description 2
- 238000007726 management method Methods 0.000 description 57
- 235000013550 pizza Nutrition 0.000 description 42
- 238000011161 development Methods 0.000 description 15
- 238000010801 machine learning Methods 0.000 description 15
- 238000003058 natural language processing Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 11
- 238000004458 analytical method Methods 0.000 description 8
- 210000003491 skin Anatomy 0.000 description 7
- 235000013305 food Nutrition 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000010354 integration Effects 0.000 description 6
- 235000012054 meals Nutrition 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000036555 skin type Effects 0.000 description 5
- 235000013361 beverage Nutrition 0.000 description 4
- 235000013409 condiments Nutrition 0.000 description 4
- 235000021185 dessert Nutrition 0.000 description 4
- 230000003190 augmentative effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 241000209140 Triticum Species 0.000 description 2
- 235000021307 Triticum Nutrition 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 235000011850 desserts Nutrition 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 235000011194 food seasoning agent Nutrition 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000001755 vocal effect Effects 0.000 description 2
- 235000001674 Agaricus brunnescens Nutrition 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 235000013351 cheese Nutrition 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 235000021183 entrée Nutrition 0.000 description 1
- 210000002615 epidermis Anatomy 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000005802 health problem Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
- G06F40/35—Discourse or dialogue representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/226—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics
- G10L2015/228—Procedures used during a speech recognition process, e.g. man-machine dialogue using non-speech characteristics of application context
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- General Health & Medical Sciences (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
- Machine Translation (AREA)
- Telephonic Communication Services (AREA)
Abstract
使用对应于多个应用程序的相应自然语言实例输入,训练自然语言理解模型。进行关于是否将使用自然语言交互来获得第一应用程序的第一参数的值的确定。使用所述自然语言理解模型,产生所述第一应用程序的至少一部分。
Description
背景技术
近年来,例如智能电话、可佩戴装置和消费者可获得的各种其它“物联网”(IoT)装置的含传感器的小占据面积装置的数量急剧增加。此等装置中的许多者包括能够检测有声命令的传感器;在一些情况下,用于检测例如姿势、触摸压力等级、凝视方向改变等的其它模态的信号的传感器也可并入于这些装置中。小占据面积装置常被设计成与可用以执行计算密集型任务的数据中心处的服务器集群通信。
附图说明
图1说明根据至少一些实施例的可实施用于对话驱动式应用程序的开发和部署的网络可访问服务的实例系统环境。
图2说明根据至少一些实施例的用于使用对话语言订餐的多步骤对话的实例步骤。
图3说明根据至少一些实施例的可用以起始对话驱动式应用程序的开发的实例图形用户接口。
图4说明根据至少一些实施例的可用以确定与对话驱动式应用程序相关联的意图的参数值的实例图形用户接口。
图5说明根据至少一些实施例的排列可针对对话驱动式应用程序确定参数值的值的次序的拖放操作的使用的实例。
图6说明根据至少一些实施例的可由对话驱动式应用程序的开发者在建立时间指定的实例语音相关设定和文字相关设定。
图7说明根据至少一些实施例的可实施应用管理服务的实例提供商网络。
图8说明根据至少一些实施例的可在对话驱动式应用程序中表示的实体的实例。
图9说明根据至少一些实施例的针对对话驱动式应用程序的意图链接的实例。
图10说明根据至少一些实施例的对话驱动式应用程序的条件参数值范围的实例。
图11说明根据至少一些实施例的使用自然语言理解资源扩大与对话驱动式应用程序相关联的词典的实例。
图12说明根据至少一些实施例可使用应用程序管理服务开发和部署的对话驱动式应用程序的实例域。
图13为说明根据至少一些实施例的可在网络可访问服务处执行以用于开发对话驱动式应用程序的操作的方面的流程图。
图14为说明根据至少一些实施例的可被执行以履行对应于对话驱动式应用程序的意图的客户请求任务的操作的方面的流程图。
图15是说明可以在至少一些实施例中使用的实例计算装置的框图。
尽管本文通过实例的方式针对若干实施例和说明性附图描述了实施例,但是所属领域的技术人员将认识到,实施例不限于所描述的实施例或图式。应当理解,图式和对其的详细描述并非打算将实施例限制于所公开的特定形式,而是相反,意图是涵盖属于由所附权利要求定义的精神和范围的所有修改、等同物和替代物。本文中所使用的标题仅用于组织目的,并且不意在用以限制描述或权利要求书的范围。如贯穿本申请所使用,词语“可以”以准许性意义(即,意味着具有……可能)而非强制性意义(即,意味着必须)来使用。类似地,词语“包含(include、including和includes)”意味着包含但不限于。当在权利要求中使用时,术语“或”用作包含性的而不是排他性的或。举例来说,短语“x、y或z中的至少一个”意指x、y和z中的任何一个,以及它们的任何组合。
具体实施方式
描述用于简化对话驱动式应用程序的开发和部署的方法和设备的各种实施例。在一个实施例中,术语“对话驱动式应用程序”可指为了完成特定任务或功能可从由应用程序的终端用户提供的自然语言语音和/或文字输入的分析获得一个或多个参数的相应值的应用程序。根据一些实施例,可针对此类应用程序的管理实施网络可访问服务。在一个实施例中,所述服务可利用一个或多个自然语言理解(NLU)组件(包含例如多种模型)管理待用以获得参数值的自然语言对话的方面。在一个实施例中,可随着时间的过去使用与一个或多个问题域的众多应用程序相关联的自然语言输入实例的集合训练NLU模型。在一个实施例中,在此服务处实施的编程接口(例如,基于网络的控制台的图形用户接口)可由应用程序开发者用以指定正开发的新对话驱动式应用程序的各种方面,而不提供待用于管理终端用户与应用程序的多步骤交互的流程的源代码。在一个实施例中,所述服务可利用NLU组件产生管理多步骤交互的应用程序的部分。在一个实施例中,在运行时,在已完成与开发者关于多步骤对话的交互和已产生并部署程序的可执行版本后,可使用NLU组件(其可利用各种自动化的语音辨识算法和/或自然语言处理算法)捕捉和解译与个别终端用户的对话;开发者可不需要指定关于待使用的特定算法的细节,或甚至可不需要意识到使用的算法。
在一个实施例中,应用程序管理服务可被设计成启用用于多种问题域(例如,用于订餐的应用程序、旅行有关的应用程序、娱乐有关的应用程序等)和待开发和部署的多种终端用户装置类型(例如,语音指导式个人助手、智能电话、可佩戴装置等)的对话驱动式应用程序,而不需要应用程序开发者担心平台具体细节。在一个实施例中,所述服务可使客户能够按最小的编程精力整合现有应用程序(其可使用多种不同资源执行)与基于对话的前端能力。在此实施例中,应用程序开发者可使用服务的接口指示识别与待使用应用程序执行的各种任务相关联的参数值需要的对话的高阶步骤,和在各种实施例中待调用以在已使用对话识别任务的参数值后执行或履行任务的程序、服务或资源。在一个实施例中,可使用许多不同类型的资源的任何所要的组合来履行包含其它网络可访问服务的各种资源的任务,如以下进一步详细地描述。在一个实施例中,使用来自一些应用程序的使用记录改进其它应用程序,例如,使用交叉应用程序或交叉域词典增强技术。
根据一个实施例,可使用对应于多个应用程序的相应自然语言输入实例(例如,可预期在对话中使用的各种字串)来训练自然语言理解模型。在此实施例中,可进行第一应用程序的第一参数的值是否将使用自然语言交互来获得的确定,且若将使用此自然语言交互,那么可使用自然语言模型产生第一应用程序的至少一部分。在另一实施例中,网络可访问应用程序管理服务的一个或多个计算装置可例如基于经由例如图形控制台的编程接口从应用程序开发者接收的输入确定与对应于给定问题域的特定对话驱动式应用程序相关联的一个或多个意图。所述意图中的每一个可对应于将代表应用程序的终端用户起始的特定任务(例如,订购披萨或餐食的某一其它部分)。此外,在至少一些实施例中,所述服务可基于由应用程序开发者提供的输入确定待用以设定意图的一个或多个参数的相应值的多步骤自然语言对话的一个或多个基线字串,其中所述多步骤对话包含应用程序与终端用户之间的交互。在一些实施例中,所述服务可产生并存储对话驱动式应用程序的可执行表示。在一个实施例中,所述可执行表示可利用包含由开发者提供的一个或多个基线字串的词典。在至少一些实施例中,所述服务还可确定给定应用程序的问题域,例如,基于指示域的明确开发者输入或基于使用服务的NLU组件分析由开发者指示的字串,且可由所述服务维持相应具体域或专用词典。在各种实施例中,可例如使用可在NLU组件处实施的一个或多个机器学习算法增强词典。如下进一步详细描述,在一个实施例中,随着时间的过去,可使用与终端用户(和/或其它语料库)的实际交互的日志记录将新字串(其可被称作“习得的”字串)添加到词典。在一个实施例中,可按需要将应用程序的可执行表示部署到各种执行平台。在一些实施例中,可将应用程序的前端或面向终端用户的组件部署到各种类型小占据面积装置或组件,例如,到语音驱动式家用辅助装置、虚拟现实或扩增现实装置、智能电器、智能电话、可佩戴装置等。
在至少一些实施例中,预期使用的终端用户装置的类型的指示以及待用以履行经由应用程序请求的任务的服务和/或资源也可由应用程序开发者使用应用程序管理服务的编程接口提供。在一个实施例中,众多网络可访问服务可用于执行与对话驱动式应用程序相关联的后端任务,且可至少部分基于从应用程序开发者或拥有者接收的输入识别待用于给定应用程序的任务或意图的特定服务。在此类实施例中,取决于终端用户装置类型和/或履行资源,适当挂钩(例如,实现对于各种任务需要的信息在可执行表示与装置/资源之间的传达的代码)可由所述服务添加到应用程序的可执行表示。在一个实施例中,提供商网络的一个或多个网络可访问服务(例如,不同于应用程序管理服务自身的服务)可用以实施对话驱动式应用程序的后端任务。在一些实施例中,由例如公司或公共部门组织的实体进行的网络设置以提供可经由因特网和/或到一组分散式客户端的其它网络访问的一个或多个网络可访问服务(例如,各种类型的基于云的计算或存储服务,以及可用以开发对话驱动式应用程序的应用程序管理服务)可被称为提供商网络。提供商网络有时可被称作“公共云”环境。在一些实施例中,提供商网络的资源跨多个数据中心分布,多个数据中心又可在众多地理地区间分布(例如,每一区域对应于一个或多个城市、州或国家)。在一些实施例中,给定对话驱动式应用程序可由终端用户经由语音交互和/或文字消息交互来调用。在一个实施例中,给定对话驱动式应用程序的相应可执行版本可针对待支持的不同终端用户装置类型产生。在另一实施例中,单个可执行表示可用于多个终端用户装置类型。
根据至少一些实施例,可使用各种个性化技术来增强与对话驱动式应用程序相关联的用户体验(例如,通过使用终端用户个人资料信息减少在对话中必须明确提供值的参数的数目)。举例来说,在一个实施例中,可针对基于个人资料的个性化对应用程序的个别终端用户提供决定参加的选择——例如,当且仅当终端用户同意时,可维护指示用户的参数偏好和/或用户与应用程序的交互的历史的个人资料。应注意,在至少一个实施例中,虽然应用程序管理服务可提供实施个性化所必要的工具,但其可留给应用程序开发者或拥有者决定是否将使用个性化,且如果是,那么精确地,其将在任一给定应用程序的情境中使用之方式。在一个实例情境中,如果在一个实施例中终端用户未能在特定自然语言交互会话期间提供与后端任务相关联的特定参数的值,或对应用程序指示将使用用户的“通常”设定,那么所述服务可使用个人资料信息来设定值。在一些实施例中,关于个性化是否将用于参数值选择的指示可由应用程序开发者经由应用程序管理服务的编程接口提供。
在一些实施例中,给定对话驱动式应用程序可包括若干意图,每个意图与对应的任务相关联。举例来说,用于订餐的应用程序可包括用于订购开胃食品、饮料、主菜和甜点的相应意图。在一个实施例中,应用程序管理服务可提供使应用程序开发者能够逻辑连结或“链接”意图的编程接口,且可将上下文信息按需要自一个意图传递到下一个意图。在至少一个实施例中,给定参数的可能值的范围可受到由终端用户为另一参数指定的值约束或取决于由终端用户为另一参数指定的值。举例来说,如果基于终端用户的输入将意图I1的参数p1设定至X,那么I1的参数p2可仅采用值K或L,但如果将p1设定至Y,那么可只准许p2具有值M或N。在一个实施例中,应用程序管理服务可以允许应用程序开发者使用服务的编程接口指定参数之间的逻辑相依性或关系。在各种实施例中,所述服务可实施针对不同种类的实体的版本管理,针对对话驱动式应用程序存储所述实体的信息——例如,意图、意图参数、用于任务履行的程序/资源等等。
实例系统环境
图1说明根据至少一些实施例的可实施用于对话驱动式应用程序的开发和部署的网络可访问服务的实例系统环境。如所展示,在一个实施例中,系统100可包括对话驱动式应用程序管理服务102的各种资源,包含主要(但未必排他性)用于开发应用程序的一组建立时间组件120和主要(但未必排他性)用于在应用程序已经开发后执行应用程序的部分或所有的一组运行时间组件。(应注意,在描绘的实施例中,可在终端用户客户端装置164处运行应用程序的一些前端元件,例如,智能电话、基于语音的辅助装置等)。建立时间组件120可包括(例如)负责使应用程序开发者能够指定确定用于履行各种应用程序意图的参数值所需的交互的步骤的多步骤对话设置协调器122、负责将用于调用用于实施意图的资源的适当挂钩插入到对话驱动式应用程序内的履行集成协调器123和用于存储对话驱动式应用程序和相关联的元数据的各种版本的伪影存储库124。运行时间组件150可包括(例如)可运行对话驱动式应用程序的至少一些部分的应用程序执行平台156的各种集合体,以及可存储终端用户与应用程序的交互的记录的日志记录存储库154。
在一个实施例中,应用程序开发者可利用来自开发者客户端装置160(例如,膝上型计算机、台式计算机等)的开发相关编程接口125(例如,各种类型的图形用户接口,包含基于网络的接口、应用程序编程接口(API)、命令行工具等)。在各种实施例中,使用编程接口125,关于应用程序域的信息、给定对话驱动式应用程序内的意图、待用以执行对应于意图的任务的资源/服务以及用于对话步骤以识别用于各种意图的参数值的字串可由应用程序开发者指定。在至少一些实施例中,此信息可由应用程序开发者或设计员对应用程序管理服务102指示,而不必提供任何源代码。在一些实施例中,开发者可提供待在待用于识别意图参数值的对话的各个阶段期间使用的字串的一个或多个基线实例,且可将此等基线字串添加到词典数据库136中的适当词典。在一个实施例中,存储在数据库136中的每一词典138可包括处于给定语言(语言的组合)下的一组单词或短语,所述单词或短语将在与应用程序终端用户的交互中用以识别执行与应用程序相关联的任务所需的参数值和/或其它信息。在一些实施例中,可识别或索引存储在数据库中的词典,例如,基于正解决的问题域和对应的应用程序识别符,例如,词典138A可与域D1的应用程序A1相关联,词典138B可与域D1的应用程序A2相关联,词典138P可与域Dk的应用程序Am相关联等。在一个实施例中,关于词典应用于的域的信息可为有帮助的,例如,其中可使用NLU或机器学习技术将成功地用于一个应用程序的字串添加到类似域或同一域的另一应用程序的词典。
在一些实施例中,可使用与众多应用程序相关联的字串或词典来训练服务的NLU资源134(例如,一个或多个模型)。在一个实施例中,NLU模型可用以产生和/或增强对话驱动式应用程序的各种部分,例如,以管理可需要用来识别应用程序的各种参数的值的多步骤交互的流程。随着时间的过去,在一个实施例中,随着使用应用程序管理服务102产生和部署越来越多的对话驱动式应用程序,NLU模型可变得更复杂,使得可改善现有词典和应用程序(例如,通过将习得的字串添加到词典)。
基于由应用程序开发者使用接口125提供的信息(包含用于与不同应用程序意图的各种参数相关联的潜在多步骤对话的规范),在所描绘实施例中,可产生或存储对应的应用程序的可执行表示,例如,至少临时在伪影存储库124中。在一个实施例中,应用程序管理服务102可包括履行集成协调器123以使关于待用以执行经由终端用户对话指示的任务的各种后端资源和服务的信息能够并入于可执行表示中和/或相关联的元数据中。在一个实施例中,举例来说,集成协调器可将适当通信模块、格式化模块、数据结构变换代码、插件模块等插入到应用程序的可执行版本内,而不需要应用程序开发者供应源代码用于集成。在描绘的实施例中,从伪影存储库,可将给定可执行应用程序的部分或所有部署到选定执行平台156,例如,响应于来自应用程序开发者或拥有者的部署请求。在一些实施例中,应用程序拥有者或开发者可指定使用特定执行平台的各种特性;在其它实施例中,应用程序管理服务可选择使用特定执行平台。在不同实施例中,执行平台156可包括(例如)各种虚拟和/或实体计算机服务器;在至少一些实施例中,可如下所论述使用提供商网络的一个或多个其它服务的资源。在各种实施例中,在选择执行平台用于给定对话驱动式应用程序时,可考虑许多因素,例如,预期的工作负荷等级、平台与打算的终端用户和/或待用以履行应用程序的意图的资源的实体接近性、关于由应用程序拥有者/开发者指示的预算的偏好和约束等等。
在各种实施例中,可单独或组合使用众多资源来执行或履行待使用对话驱动式应用程序达成的任务。举例来说,涉及订餐的对话驱动式应用程序可最终调用由餐馆开发的次序产生程序,涉及进行旅行安排的对话驱动式应用程序可调用用于询问飞机航班可用性的程序,等等。在一些实施例中,次序产生程序和/或询问程序可自身使用其它执行平台(例如,在应用程序管理服务外部的平台,例如,外部任务履行资源162)来执行。以下提供可在已针对各种对话驱动式应用程序确定意图参数后使用的资源种类的实例。在一些实施例中,在对话驱动式应用程序的开发、部署和使用的各个阶段,应用程序管理服务(图1中未展示)的一个或多个资源验证组件可负责确保意欲用于意图任务履行的资源的可用性和/或响应性。举例来说,在一些实施例中,如果与特定任务履行程序相关联的网络地址或统一资源识别符(URI)由应用程序开发者指示,那么所述资源验证组件可负责检查(和/或周期性地再检查)网络地址或URI是在发挥功能中。
在描绘的实施例中,在已针对客户启用对给定对话驱动式应用程序的访问后,使用运行时间编程接口155,可使用多种终端用户客户端装置164与应用程序交互。在各种实施例中,所述交互可基于语音、基于文字消息、基于语音与文字的组合,或可使用其它信号模态。在一些实施例中,客户端装置164可具备对话驱动式应用程序的轻型前端组件。举例来说,在一个实施例中,在待用于一个或多个对话驱动式应用程序的基于语音的辅助装置的情况下,能够检测至少一些语音信号的软件和/或硬件可并入于客户端装置164中或安装在客户端装置164上。在另一实例中,如果终端用户将要使用智能电话与对话驱动式应用程序交互,那么在一个实施例中,可将被配置成检验由电话的麦克风检测的信号的前端电话应用程序安装在电话上。除了基于语音的辅助装置和智能电话外,在不同实施例中可使用多种其它终端用户装置,例如,扩增现实或虚拟现实耳机、可佩戴装置、智能电器、例如可遥控相机的安全装置等。
在一个实施例中,可在应用程序管理服务102处利用许多自然语言理解资源134。在描绘的实施例中,资源134可包含(例如)用于自动化话语辨识(ASR)算法和模型、自然语言处理(NLP)算法和模型、丛集和其它分类模型等等的计算和/或存储资源。在各种实施例中,对话驱动式应用程序的开发者可不需要是在自然语言理解或机器学习方面的专家,且可甚至不需要指示用于其应用程序的算法类型,不管在建置时间还是在运行时间。在一个实施例中,服务的组件可按需要调用资源134的适当集合,例如,可在运行时间调用ASR算法以将终端用户的话语转换成一连串令牌,且NLP算法可用以发现由ASR算法识别的令牌与在多步骤对话交互期间预期且在词典138中指示的发声种类之间的匹配/类似性评分。
在描绘的实施例中,指示与终端用户的交互的日志记录可存储在存储库154中。在一些实施中,NLU资源134可基于终端用户的所观察行为,利用日志记录识别或“学习”可有用于或适合于各种应用程序的对话的额外字串,且可将此类习得的字串添加到与应用程序相关联的词典138。在一些实施例中,可自动执行此类词典增强,例如,不由应用程序开发者揭示。在其它实施例中,可在将习得的字串添加到词典前获得来自应用程序开发者的批准。在各种实施例中,应用程序开发者可能能够经由编程接口访问存储在存储库154中的日志记录,且使用所述日志记录改进/修改与其应用程序相关联的词典138。在一些实施例中,不同于应用程序自己的终端用户交互日志记录的数据集可用以学习额外字串:例如,可使用同一问题域或其它域中的其它应用程序的词典,可使用自然语言交互的其它语料库等等。在一个实施例中,可在部署应用程序前执行对应用程序的词典的一些增强,例如,可使用NLU模型产生处理多步骤自然语言交互的流程的应用程序的部分。举例来说,在一个实施例中,应用程序管理服务可具有用于对话步骤的富余度准则,根据所述准则,可能必须针对给定对话步骤指定足够相互不同的至少最小数目个字串、短语或句子。在此实施例中,如果开发者未基于所述准则提供充分富余词典,或如果开发者向所述服务请求词典的增强,那么机器学习工具可被部署以在部署前识别用于应用程序的额外字串。
在至少一个实施例中,应用程序管理服务102可提供使应用程序开发者能够至少在某些条件下存储和使用个性化信息以增强与对话驱动式应用程序的终端用户体验的资源。举例来说,在一个实施例中,“选择加入”权限可从终端用户获得以存储和使用用于对话驱动式应用程序的基于个人资料的个性化数据,例如,在终端用户首先利用应用程序或寄存器使用应用程序时或在某一稍后时间。在描绘的实施例中,如果终端用户同意,那么例如通常由终端用户针对各种意图参数设定的值、终端用户与应用程序的交互的历史等的信息可存储在个性化数据库132中。举例来说,在一个实施例中,此个性化信息可用以设定各种所需意图参数的默认值,或设定用于终端用户未能在给定交互期间指示偏好的参数的值,等等。在至少一些实施例中,应用程序开发者可在建置时间对服务102指示关于个性化的各种应用程序级偏好,例如,是否将根本使用个性化,和如何/是否在运行时间对终端用户通知正代表他们使用个人资料数据等。在各种实施例中,此个性化相关设定可存储为应用程序元数据的部分。
在各种实施例中,使用应用程序管理服务102,可随着时间的过去开发、部署和改进用于不同应用程序域的多种对话驱动式应用程序,而不需要应用程序设计员是在编程对话流、自动化话语辨识或自然语言处理方面的专家。在一个实施例中,可以多租户方式使用所述服务的资源。在一些实施例中,可用以受益于其它开发者的体验的知识库可从服务102获得。
实例多步骤对话
图2说明根据至少一些实施例的用于使用对话语言订餐的多步骤对话的实例步骤。在描绘的实施例中,客户C1与已使用类似于图1的服务102的服务开发和部署的应用程序口头交互。客户的口头叙述的实例展示于图2的左部分中,标注为“终端用户(客户C1)输入210”。对应于终端用户输入的应用程序的回应的实例展示在标签“应用程序侧对话响应250”下。随着交互继续进行,在描绘的实施例中,应用程序实际上用意图参数值填充数据结构,展示在图2的最右部分中标签“意图状态280”下。
在所描绘的实例中,客户用命令“食物应用程序,我想要订一份披萨”211调用应用程序。介绍性术语“食物应用程序”可被视为“唤醒字”或“唤醒短语”——用于区分与订餐应用程序的交互与可由用于应用程序的音频传感器或麦克风检测到的其它会话的信号。ASR/NLP资源可由应用程序的运行时间组件用以识别由客户讲的话,和确定将订购一份披萨。在描绘的实施例中,对话响应“一定。您想要多大的披萨?”214可产生为应用程序的对话流的部分,且通过正使用的终端用户装置的扬声器组件提供给客户。此外,所述应用程序可具现化叫作“订购披萨”的意图,在意图状态281中存储客户(C1)的身份的指示,和尚未针对所述意图确定参数值(如由“参数值=空”指示)的指示。与“订购披萨”意图相关联的应用程序的开发者可已通过应用程序管理服务的编程接口指示,在与所述意图相关联的参数当中,其值应确定的第一个是“大小”;结果,短语“您想要多大的披萨”可包含在响应214中。
在描绘的实施例中,客户C1可以叙述“中等——约14英寸”217来响应。注意,叙述217的“约14英寸”部分可为非典型的,且可并非由应用程序预期的对话的部分(例如,如果所述应用程序设计有预期在对话中使用的三个披萨大小指示符“大”、“中等”和“小”)。然而,由所述应用程序使用的NLP算法可能够基于分析叙述217确定(a)客户需要“中等”披萨,和(b)客户相信中等披萨直径为约14英寸。在描绘的实施例中,假定中等披萨的直径事实上假设为大致14英寸,则意图的大小参数可填充有值“中等”,如在状态282中所指示。在各种实施例中,应注意,对话驱动式应用程序可被设计成适当响应由终端用户作出的不明确或不正确的叙述。举例来说,考虑针对披萨大小的预期选择集合“大”、“中等”和“小”分别对应于直径18英寸、14英寸和10英寸的情境。在一些实施例中,如果客户通过说出“中等—约20英寸”、“中等—约10英寸”或甚至“中等—约16英寸”来响应关于所要的披萨大小的问题,那么在一个实施例中,所述应用程序可用大致等效于以下的澄清的后续响应来响应——“对不起,我不太理解。我们的中等披萨直径大致为14英寸,我们的大披萨为约18英寸,并且我们的小披萨为约10英寸。您喜欢多大的?”。在一些实施例中,也可处置至少一些不明确/不正确的终端用户叙述的管理,而不需要应用程序开发者提供源代码,例如,对应于澄清后续响应的字串可由开发者提供,且待产生澄清后续响应的条件可由开发者经由应用程序管理服务的编程接口指示。
在描绘的实施例中,应用程序开发者可已在建立时间指示在已确定披萨大小的值后,值待从终端用户获得的接下来的两个参数是表皮类型和佐料。因此,所述应用程序可产生响应220,包含“收到,中等披萨。您想要什么类型的表皮?”。客户可用单个字回答“薄”223来响应,这将使表皮参数值如在意图状态283中所指示来设定。在已确定表皮选择后,所述应用程序可请求客户指定佐料,例如,使用对话响应226:“好的,是薄表皮。您想要什么佐料?”。客户可以一列佐料229来响应,使佐料参数值能够如在状态283中所展示而设定。
在描绘的实施例中,在已确定所有所需参数的值后,所述应用程序可指示不需要更多输入,例如,通过使叙述“收到。您想要奶酪和蘑菇。我有我需要的信息”231产生。(所述实例假定不需要支付信息,例如,客户C1已向所述应用程序注册的信用卡可被默认地使用)。履行程序(“orderPizza(params)”)可由对话驱动式应用程序调用以起始对应于其参数已被填充的意图的任务,如由箭头280指示。在一些实施例中,在成功地调用履行程序后,可为客户产生确认任务起始(类似于图2的叙述210K)的最终叙述。
如由在所描绘的实例中的应用程序产生的响应(例如,“一定”、“好的”、“收到”、“是薄表皮”等)指示,在一些实施例中,对话的音调可相当非正式。在一些实施例中,多个角色可用于应用程序响应,每一个对应于例如关于语言的正式性不同音调的、使用的语音的性别、其语音正模拟为应用程序的语音的个人的大致年龄等的组合。在各种实施例中,角色(或在运行时选择一个所来自的角色集)可由应用程序开发者经由应用程序管理服务的编程接口在建立时间指示。此外,在至少一些实施例中,客户的叙述的确认将被提供的程度的指示也可由应用程序开发者以编程方式指示。在描绘的实施例中,每当应用程序响应客户的参数值规范时,提供值的确认。在一个实施例中,取决于应用程序开发者的偏好,可不针对识别的每一参数值提供此类确认;取而代之,例如,可一次确认一对参数值,或可紧接在调用履行程序前确认所有参数值。
用于对话驱动式应用程序的简化开发的接口
图3说明根据至少一些实施例的可用以起始对话驱动式应用程序的开发的实例图形用户接口。如所展示,在一个实施例中,基于网络的建立时间接口301可包括消息区302和关于应用程序的各种方面的许多字段键入元素。消息区302对应用程序开发者提供一般指南,例如,指示关于开发对话驱动式应用程序的指导可经由可用链路中的一个访问,且下拉菜单可用于所述字段中的一些。
在描绘的实施例中,应用程序开发者可使用元素304提供应用程序名称。在一些实施例中,开发者可明确指示用于应用程序(例如,对于展示之实例应用程序,“订食物”)的问题域,作为组织相关应用程序的方式,其可为有帮助的。在其它实施例中,应用程序管理系统可推断或推导应用程序定址到的问题域,例如,使用自然语言理解算法。在一些实施例中,所述域信息可用以增强与给定应用程序相关联的词典,例如,通过使用机器学习模型分析在所述域内的类似应用程序的词典和将习得的字串和/或额外措辞选择添加到给定应用程序的词典。关于将调用应用程序所来自的终端用户装置的类型的信息可在字段306中提供,如所展示,例如,智能电话和语音控制式辅助装置可位列用于“OrderMeal”应用程序的目标化终端用户装置当中。在一些实施例中,关于目标装置类型的信息可用以产生应用程序的一个或多个可执行版本,例如,可针对电话产生一个版本且可针对语音控制式助手产生另一版本,其中用于与适当类型的装置(例如,与驻存在装置上的前端应用程序组件)通信的代码并入于可执行版本中。
在描绘的实施例中,“AddNewIntent”按钮308可由应用程序开发者用以初始化用于应用程序的新意图目标。可使用元素310提供意图的名称(例如,“订购披萨”)。在所描绘的实例中,可经由元件313指示针对意图的个性化设定。如所展示,终端用户可能够选择加入个性化,并且如果终端用户确实这样做,那么其个人资料信息可用以设定在终端用户与应用程序的交互期间使得未填充或未覆写的参数值。可经由接口301的元素314、315和317提供三个起始字串(即,如果由终端用户讲出或包含在文字消息中,那么将使应用程序对话开始的字串)的相应实例。举例来说,话语序列“我想要一份披萨”、“我想要订一份披萨”或“能给我送一份披萨吗”中的任一个可用以启动应用程序。在语音(而非文字消息)由终端用户用以与应用程序交互的实施例中,可在运行时间使用ASR与NLP资源的组合以检测由个人说出的具体话语,并且然后指派指示发声匹配由应用程序开发者在建立时间指示的字串中的一个或多个的程度的评分。如果匹配评分超过阈值,那么应用程序可开始与意图相关联的对话。在一个实施例中,应用程序开发者可使用接口元素319指定待用于识别与给定意图相关联的各种参数的值多步骤或单步骤对话,如在图4的上下文中论述。
图4说明根据至少一些实施例的可用以确定与对话驱动式应用程序相关联的意图的参数值的实例图形用户接口。举例来说,在一个实施例中,作为应用程序开发者点击类似于图3的“添加意图参数对话”元素319的元素的结果,到达这接口。在基于网络的建立时间接口401内,待确定参数值的意图的名称可展示在元素410中。在描绘的实施例中,应用程序开发者可将两个种类的参数添加到所述意图:所需参数,必须获得其相应值以便履行与意图相关联的任务;和任选参数,未必需要提供其值。为了添加新的所需参数,可使用元素408。可使用元素413和414键入可用以引出参数的值的各种询问字串的实例。在描绘的实施例中,可经由元素415指示用于参数的可接受值,且可经由元素417指示默认值。
在描绘的实施例中,元素418可用以添加对任选参数的询问。在所描绘的实例中,可经由元素420指示任选参数的名称,可经由例如422的元素指示待用以请求参数的值的询问字串,且可经由元素425指示参数的可接受值。在一个实施例中,应用程序开发者可按需要添加许多新参数和对应询问与可接受值。
在一些实施例中,应用程序开发者可使用应用程序管理服务的接口明确或隐含地提供关于待确定参数值的次序的输入,而不必提供实施排序的源代码。举例来说,在一个实施例中,在应用程序建立时间指定参数和相关联的询问的顺序可对应于在运行时间确定参数值的顺序。在另一实施例中,应用程序开发者可重新排列待获得参数值的顺序,例如,通过拖放表示不同参数的图标(如下在图5的上下文中论述),或通过添加指示待确定参数值的顺序的箭头。
在已指定开发者希望与意图包含在一起的所有参数后,在一个实施例中,开发者还可提供关于待用以执行对应于所述意图的任务的一个或多个资源和/或服务的信息。举例来说,在图4中所描绘的实例情境中,元素427可用以初始化用于任务履行资源的描述词。在一些实施例中,用于意图履行任务的资源中的至少一些可与网络可访问服务相关联。在所描绘的实例中,可经由元素428提供服务的名称,且可经由元素429指示待使用的资源的识别符(例如,URI)(以及待传递到资源的参数集合)。在一些实施例中,针对在一个实施例中的给定意图可组合使用若干不同资源(其可以是不同服务的部分),例如,可在一个服务处运行第一程序以起始所述任务,且可将来自那个第一程序的结果提供到在另一服务处运行的第二程序以完成所述任务。正如获得参数值的顺序可在不提供源代码的情况下指示一样,在一些实施例中,待利用多个资源的顺序可由应用程序开发者指示,而不使用在各种实施例中的源代码。
图5说明根据至少一些实施例的排列可针对对话驱动式应用程序确定参数值的值的次序的拖放操作的使用的实例。在描绘的实施例中,与正使用基于网络的建立时间接口501开发的特定对话驱动式应用程序相关联的意图510(具有名称“IntentName”)可具有参数A、B、C、D、E、F和G,其值待经由自然语言交互从终端用户获得。应用程序开发者可使用接口501排列和重新排列待确定参数值的顺序,和提供关于待用以获得所述值的多步骤对话的各种其它细节(例如包含在放弃对应的对话步骤或全部对话前,将作出多少尝试来获得给定参数的值)。
如由接口501的图形元素512展示,开发者可指示在描绘的实施例中将首先确定参数A的值,且可作出三次尝试(潜在地使用稍微不同的询问串)来获得参数A的值。在获得A的值后,可获得一群参数B、C和D的值,如由元素514和箭头513指示。关于B、C和D的询问可按随机次序发出,并且在描绘的实施例中,可作出两次尝试来获得所述值中的每一个。接下来,可获得参数E和F的值,如由元素516和箭头515指示。在80%的时间,可在请求F的值前请求E的值;在其余20%的时间,可在E的值前请求F的值。
在描绘的实施例中,应用程序开发者可使用拖放动作550在元素514与516之间插入元素518,以指示在运行时,应在参数B、C和D的值后且在参数E和F的值前确定参数G的值。在元素518已定位于元素514与516之间后,指示排序的新箭头可替换箭头515——一个新箭头从元素514引到元素518,且另一个从元素518引到516。
应注意,在各种实施例中,可使用与在图3、图4和图5中展示的实例不同类型的编程接口和接口控制元素来实现对话驱动式应用程序的开发,而不需要由开发者提供源代码。
语音和文字相关设定
图6说明根据至少一些实施例的可由对话驱动式应用程序的开发者在建立时间指定的实例语音相关设定和文字相关设定。如较早先所提到,在一些实施例中,给定对话驱动式应用程序可能能够响应语音以及文字消息输入两者。在各种实施例中,应用程序开发者可经由应用程序管理服务的编程接口指示打算应用程序的交互的类型。在一些实施例中,可针对语音和文字交互产生应用程序的稍微不同版本,例如,版本间具有共同业务逻辑和不同的通信相关元素,而在其它实施例中,可针对两个交互类型开发应用程序的单个版本。
在描绘的实施例中,对话驱动式应用程序602可支持基于语音和基于文字的两种交互。由应用程序开发者指示的语音模式交互设定610可尤其包含一个或多个应用程序扬声器角色612、待由应用程序支持以用于终端用户交互的音频捕捉和产生装置类型614和是否支持动态装置切换616。应用程序扬声器角色612可包括以下设定:对待由应用程序的“语音”模拟的性别和年龄(即,应用程序是否将显得具有男人的语音、女人的语音、儿童的语音)、待由应用程序在与终端用户交互期间使用的非正式性的等级、当说出应用程序的字词时将使用的任何特定口音等等。音频装置类型612可指示待用于与终端用户的对话的话语传感器和话语产生器的种类,其可影响针对所述应用程序选择的ASR/NLP算法。动态切换设定614可管控在与应用程序的交互会话的中间期间个人是否可在装置之间切换,例如,如果准许在一组注册的装置之间的动态切换,那么可使用智能电话开始订购披萨的交互会话,且使用基于语音的辅助装置完成所述交互会话。动态切换可为有用的,例如,当终端用户在与给定应用程序交互时从建筑物或房子的一个房间移动到另一个房间时,或从车辆移动到建筑物时。
在描绘的实施例中,基于文字发送的交互模式设定650可包含(例如)用于应用程序的文字发送角色652,以及可用于发送/接收短消息或文字的支持的服务、输入接口或应用程序的列表654。在各种实施例中,基于文字发送的交互还可被称作基于“聊天”的交互。举例来说,文字发送角色652可管控由应用程序使用的文字发送语言的非正式性的程度,例如,是否和有多频繁地将使用情绪符、表情符或其它图形符号。在一些实施例中,支持的文字发送应用程序/服务的列表654可包含(例如)提供用于(通常)短文字消息的输入接口的各种社交媒体应用程序。
在至少一个实施例中,待用于与个别终端用户的语音或文字发送交互的特定角色可由终端用户选择,例如,作为对话驱动式应用程序的设定的部分。在一些实施例中,随着时间的过去,用于给定终端用户的角色的各种参数可由应用程序管理服务调适或修改,例如,基于终端用户的自己的语言非正式性等级的分析和/或其它因素。在一个实施例中,不同角色可具有不同地区性口音或本地话语/文字使用特殊风格,且可基于终端用户的地理位置或其它因素的确定为终端用户选择特定角色。
提供商网络服务的使用
图7说明根据至少一些实施例的可实施应用管理服务的实例提供商网络。如所展示,在一个实施例中,除了应用程序管理服务710之外,提供商网络702还可包括动态布建计算服务720、虚拟计算服务730、存储或数据库服务740和机器学习服务750。在描绘的实施例中,应用程序管理服务710可利用其它服务中的一个或多个,例如,以执行与对话驱动式应用程序的各种意图或任务相关联的履行任务。
在一个实施例中,动态布建计算服务720可使客户端能够寄存用于执行的可执行程序,而不预分配用于客户端的执行平台(且因此,可有时被称作“无服务器”计算服务)。程序开发者可在服务720处提交程序,且指示待引起程序的执行的一个或多个触发条件。替代预先保留或布建用于客户端的计算资源,服务720可在不论何时触发程序的执行时从执行平台的集区724简单地选择用于注册的程序726的计算资源。客户端可能甚至意识不到用以执行程序的虚拟或实体机器的种类,且可仅仅被提供执行的结果。因而,动态布建计算服务的客户端可不必关心识别待用于其程序的平台的数目或计算容量,且在至少一些实施例中,可只被装入当执行其程序时实际执行的计算量(例如,按相对细粒度的秒增量或甚至计算的秒分率测量)。在一个实施例中,由此服务720提供的计算资源可用于实施用于一些种类的对话驱动式应用程序的意图的任务履行程序,尤其如果应用程序的工作负荷倾向于动态地改变。在描绘的实施例中,动态布建服务720还可使许多适配器728可为注册的程序访问,从而使注册的程序能够利用在服务720外部的资源。结果,针对在服务720处的执行注册的程序可能够访问(例如)在提供商网络的其它服务处和/或提供商网络外的资源。
与动态布建服务720大不相同,在描绘的实施例中,虚拟计算服务730可按稍微更静态方式将计算资源(例如,虚拟机)预分配到其客户端,例如,在指定时间间隔内,且使客户端能够在分配的虚拟机上运行程序。在至少一些实施例中,可调用在此类虚拟机上运行的程序以用于实施对话驱动式应用程序的履行任务。在一个实施例中,一些此类程序可实施网络服务接口,从而使给定程序能够通过将命令传输到与程序相关联的基于HTTP(超文本传送协议)的地址来利用(例如,以履行任务意图)。在一个实施例中,分散式应用程序(例如,用于进行与旅行相关的预订或用于管理与由企业生产的各种产品相关联的客户支持任务的工作流的应用程序)原先可在虚拟计算服务处实施,而不包含用于对话驱动式交互的必要挂钩或通信模块。在虚拟计算服务处支持的各种基础设施管理能力(例如,自动化缩放和负载平衡)可用于分散式应用程序。分散式应用程序的拥有者可能希望将对话驱动式交互组件添加到此应用程序。在一个实施例中,应用程序管理服务710可使对话相关组件能够被产生,且与预先存在的应用程序集成,而无需对编程工作对进行大量的额外投入。在一些实施例中,在虚拟计算服务720和/或动态布建计算服务710处运行的意图任务履行程序可相互调用(或调用在其它服务处的其它程序),即,给定任务履行程序可不限于利用提供商网络的给定服务的资源。
在各种实施例中,一个或多个存储和/或数据库服务740也可用于对话驱动式应用程序。举例来说,用于任务履行的数据集可存储于这类服务处,可存储用于对话驱动式应用程序的终端用户的个人资料信息,等等。在至少一个实施例中,对话驱动式应用程序的可执行表示可包括调用存储或数据库服务的编程接口。
在一个实施例中,提供商网络可包含机器学习服务750,其可由各种其它服务和/或直接由外部客户端利用。在描绘的实施例中,机器学习服务750可提供自然语言理解(NLU)能力,所述能力又可取决于自动化语音辨识(ASR)与自然语言处理(NLP)组件的组合。在此类实施例中,可从机器学习服务访问广泛多种算法754和模型756,包含(例如)各种分类和回归算法、基于人工神经网络的算法(包含“深度学习”神经网络算法)等等。此外,捕获对机器学习任务的先前体验的记录且因此可用以为各种算法和模型选择合适参数和超参数的知识库758也可实施于机器学习服务750处。在一些实施例中,机器学习服务的ASR组件可包括许多有限状态换能器(FST)、相关联的一般或用户特定语言模型和/或声学模型。举例来说,ASR组件可基于在与对话驱动式应用程序相关联的终端用户装置处接收的信号检测话语,将话语信号变换成文字,且将文字作为输入提供到自然语言处理组件。举例来说,在一个实施例中,自然语言处理组件可实施用于指定实体辨识、意图分类和结果排名(例如,使指示发声针对用于设定意图参数的对话的各种阶段匹配预期字串的程度的评分与终端用户发声相关联)的算法。如下文进一步详细论述,在一些实施例中,机器学习服务750还可用以使与对话驱动式应用程序相关联的词典的扩大或增强自动化,例如,基于日志记录分析、交叉应用词典分析和/或其它语言使用语料库的分析。
在一个实施例中,对于使用服务710开发的对话驱动式应用程序的一些意图,可在提供商网络外的资源处实施履行任务,例如,在位于应用程序拥有者网络770内的执行或存储资源772处或在位于第三方网络760(例如,由第三方应用程序供应商或服务供应商拥有或管理的网络,第三方应用程序供应商或服务供应商不同于开发/拥有对话驱动式应用程序的实体且不同于提供商网络运营商)中的执行或存储资源762处。在各种实施例中,在提供商网络内部或外部的其它资源或服务可用于对话驱动式应用程序。如较早先所提到,在一个实施例中,应用程序管理服务710可简化利用各种类型的资源所需的集成,例如,通过将适当通信模块、格式化模块、数据结构变换代码、插件模块等到对话驱动式应用程序内,而不需要应用程序开发者供应用于集成的源代码。
用于对话驱动式应用程序的编程实体
图8说明根据至少一些实施例的可在对话驱动式应用程序中表示的实体的实例。所述实体中的个体可通过分配相应存储器目标来表示,在各种实施例中,所述存储器目标可存储于与应用程序管理服务相关联的永久性存储装置中。如所展示,具有识别码(ID)802的给定应用程序开发者/拥有者可使用所述服务创建任何所要的数目个截然不同的应用程序804(记法1:N和开发者/拥有者ID802与应用程序804之间的箭头的方向应用程序此1:N关系)。
在一个实施例中,给定应用程序804可具有与其相关联的多个意图806。在描绘的实施例中,每一意图可具有对应于意图语法模型810的一个或多个触发字串808(例如,特定语言中包括一个或多个字的句子或短语)。举例来说,语法模型可包括关于串的个别字的预期排序、可使用的语音的部分的变体等等的信息。在一个实施例中,每一意图806可对应于一个或多个任务832,一旦获得或设定意图的所有所需参数值,那么将履行所述一个或多个任务。在描绘的实施例中,给定任务可又需要使用一个或多个履行资源834。
如较早先所论述,在一些实施例中,给定意图806可具有一个或多个参数808。在描绘的实施例中,每一参数可具有相关联的数据类型842和参数语法模型844(类似于意图语法模型810,但适用于待用以确定给定参数的值的语言)。在描绘的实施例中,一个或多个询问808可由用于所述对话的应用程序开发者指示以用以获得对应参数值。
在至少一些实施例中,应用程序管理服务可实施相应应用程序编程接口(API),其可用以创建、删除、读取、写入或修改在图8中展示的实体中的个体。举例来说,在一个实施例中,关于意图,可实施API createIntent()、deleteIntent()、getIntent()、setIntent()和updateIntent(),对于意图参数,可实施API createIntentParameter()、deleteIntent()、getIntent()、setIntent()和updateIntent(),等等。在使类似于图3中展示的图形用户接口的图形用户接口可为开发者所有的实施例中,图形接口控制元素(例如,“添加新意图”控制件308)的使用可导致调用对应的API(例如,在“添加新意图”的情况下,createIntent())。在一些实施例中,程序员可使用API创造用于其对话驱动式应用程序的实体,例如,作为使用图形用户接口的补充或替代。
在一些实施例中,可创建图8中展示的不同实体中的至少一些的许多版本。举例来说,在包含用于订一份披萨的意图的对话驱动式应用程序的情况下,一些披萨佐料或表皮类型在不同地理地区或国家可更流行,而与订购披萨相关联的许多业务逻辑可独立于地理。因此,可针对不同区域创建与订购披萨相关联的意图的不同版本。在一个实施例中,应用程序管理服务的版本管理管理器877可跟踪各种实体的不同版本之间的相依性,且确保使用实体版本的一致组合产生对话驱动式应用程序的可执行版本。在各种实施例中,可在对话驱动式应用程序中表示不同于图8中展示的实体的实体。
意图链接
在一些实施例中,给定应用程序可包括多个意图,其中针对一个意图的对话和业务逻辑由另一意图的对话或业务逻辑触发由链接到另一意图的对话或业务逻辑。在一个实施例中,应用程序开发服务可有助于产生此类应用程序,例如,通过使开发者能够指示待在所述意图之间传递的上下文信息的类型。图9说明根据至少一些实施例的针对对话驱动式应用程序的意图链接的实例。
如所展示,在描绘的实施例中,特定实例应用程序902(“订餐”)可具有至少三个构成的链接意图906A、906B和906C。意图906A可对应于订一份披萨的任务,例如,作为餐食的主食。意图906B可对应于为餐食订购饮料,且意图906C可对应于订购甜点。在一些实施例中,应用程序开发者可指示待使用图形编程接口链接所述意图的次序,例如,是否将在用于订购甜点的参数前或后确定用于订购饮料的参数。举例来说,可将对应于意图的相应图标的位置相对于彼此重新排列,而不提供对应的源代码。
在一些实施例中,开发者可指示将对应于每一意图的准则908(例如,准则908A、908B和908C)链接到应用程序开发服务的相应集合,从而指定待在起始针对所述链中的下一个意图的对话前验证的条件(如果存在)。举例来说,可使用此类条件,以避免不兼容意图的某些组合,以避免相同意图对话的多次重复,等等。举例来说,如果终端用户已直接或间接指示其不大可能订购甜点,那么可不起始甜点订购对话。链接起始询问910(例如,910A、910B或910C)的相应集合可由开发者指定,例如,在所描绘的情境中,起始针对意图906B的对话的询问“您是否想要跟您的披萨一起订购一些饮料?”。在一些实施例中,开发者还可指示应从一个意图传递到链中的下一个意图的上下文信息912(例如,912A、912B或912C)。举例来说,上下文信息可包含从终端用户获得或使用基于个人资料的个性化设定的一个或多个参数值,以及例如(在订餐的情况下)送货地址、电话号码等的其它元数据。在一个实施例中,应用程序管理服务可产生在运行时将上下文信息从一个意图对话传送到下一个意图对话所需要的代码,并且将上下文传送代码并入到所述应用程序的可执行版本内。在各种实施例中,关于链接的意图,应用程序管理服务在应用程序的可执行表示内可包含以下逻辑或指令:确定在已完成确定用于链中的一个意图的参数的特定交互的步骤后,将自动起始确定所述链中的下一个意图的一个或多个参数的值的另一交互。
参数间逻辑关系
在一些情境中,与对话驱动式应用程序的给定意图相关联的各种参数可相关,例如,为一个参数指派的特定值可约束或限制可指派到另一参数的可能值。在各种实施例中,开发者可能够对应用程序管理服务指示此类逻辑关系,例如,不提供对应的源代码。图10说明根据至少一些实施例的对话驱动式应用程序的条件参数值范围的实例。
在所描绘的情境中,披萨大小参数(与订一份披萨的意图相关联)可采用三个值中的一个:大1004A、中等1004B和小1004C,这是基于与终端用户的基于口头或文字的交互来选择的。取决于由终端用户选择的大小,披萨制作者可使用到披萨的表皮的种类可不同。因此,披萨订购意图的表皮类型参数可受到大小参数约束。在描绘的实施例中,对话驱动式应用程序的开发者可能够使用应用程序开发服务的编程接口指示所述约束。
如果大小被设定成大,那么以下四个表皮类型可由终端用户选择——标准尺寸1006A、加厚1006B、全麦1006C或薄1006D。如果选择了中等大小,那么可选择标准尺寸、全麦或薄表皮,并且如果期望小的披萨,那么在所描绘的实例中,用于表皮类型的可用选项可包含标准尺寸、薄和无麦1006E。在一些实施例中,参数之间的关系可由应用程序开发者通过用指示准许值的图标或字填充图形用户接口的相应区域来指示。如果随着时间的过去,披萨供应商希望扩大对一个或多个参数的选择的集合,或指示参数间约束的不同集合,那么在一个实施例中,应用程序开发者可易于使用应用程序管理服务的接口重新排列准许值,且使产生和部署应用程序的新的可执行版本。
在各种实施例中,应用程序管理服务可鉴于已提供的信息自动产生指示给定参数的允许值的字串。举例来说,如果终端用户已指示待送货的披萨的大小是小的,那么系统可自动指示(例如,在确认选定披萨大小的对话的步骤中)对于小披萨可接受的准许表皮参数值的集合。在一个实施例中,在存在大型参数值范围相依性链的情境中,可产生众多不同句子或字串,用于由服务列举参数的准许值,从而将应用程序开发者从必须产生句子中解放出来。
增强词典
图11说明根据至少一些实施例的使用自然语言理解资源扩大与对话驱动式应用程序相关联的词典的实例。在描绘的实施例中,用于域D1的对话驱动式应用程序A1的词典1110包括一开始由应用程序开发者提供的一组基线字串1112,用于在用于参数值确定的对话的一个或多个步骤中使用。在描绘的实施例中,在部署应用程序供执行后,终端用户交互1150的日志记录可由应用程序管理服务存储。在与终端用户的给定交互会话期间,由终端用户使用的单词或短语可不始终匹配基线字串。如较早先所提到,在一个实施例中,例如算法和模型1130的自然语言理解(NLU)资源可在应用程序运行时间用来确定指示给定短语或句子匹配预期短语或句子的程度的评分,并且如果对特定短语或句子的评分高于阈值,那么可以执行对应的参数确定步骤。在一个实施例中,交互的日志记录1150可稍后由NLU资源1130分析,以识别可适合于对话的各种步骤的额外字串(其可因此被称作“习得的”字串)。在一些实施例中,由算法识别的习得的字串1114中的至少一些可插入到词典1110内,由此潜在地简化在未来交互期间匹配终端用户发声或文字的任务。
除了检验日志记录1150(在一些情况下,其可关于相关应用程序,且可能未必限于与同一应用程序A1相关联的交互的记录)之外,在一些实施例中,NLU算法亦可利用可被视为与应用程序域相关的其它自然语言交互语料库1160。举例来说,在一个实施例中,关于与订购食物有关的应用程序,可检验餐馆评论的记录,或可分析社交媒体交互、新闻评论等的记录。在一个实施例中,可分析有关应用程序(例如,用于类似问题域或同一问题域的应用程序)的词典1155以识别用于包含在词典1110中的额外习得的字串。在各种实施例中,习得的字串的插入的时序可关于对话驱动式应用程序的部署或执行的时序变化。举例来说,在对NLU模型提供其它词典1155或语料库1160作为用于训练的输入的一个实施例中,可甚至在应用程序A1的第一次部署前将习得的字串插入到词典1110内。在一些实施例中,在添加了新习得的字串后,可重新部署应用程序A1以用于在一个或多个执行平台处执行以使增强的词典能够被使用。在一个实施例中,NLU资源1130可首先用以产生对话驱动式应用程序的第一版本的部分(例如,涉及管理自然语言交互的流程以获得参数值的部分),且然后随着自然语言交互的更多实例变得可用,用以增强对话驱动式应用程序。在一个实施例中,随着时间的过去,随着使用应用程序管理服务产生越来越多的应用程序,且使用应用程序的实例自然语言交互训练和再训练NLU模型,对于各种问题域的应用,服务处置对话的能力可改进。在一个实施例中,可不必分类为自然语言理解算法或模型的机器学习算法或模型可用以开发和/或增强应用程序。
在至少一些实施例中,应用程序开发者1120可能够使用由应用程序管理服务实施的各种类型的编程接口1125(例如,基于网络的控制台、应用程序编程接口、命令线工具等)访问实际终端用户交互的日志记录。如果需要,应用程序开发者可基于日志记录的检验添加新字串或改变应用程序对话的字串。
实例应用程序域
图12说明根据至少一些实施例可使用应用程序管理服务开发和部署的对话驱动式应用程序的实例域。如所展示,在一个实施例中,域1210可尤其包含食物相关应用程序1212(例如,订购食物、订购杂货、进行餐馆预订)、旅行相关应用程序1214(例如,订出租车、预订宾馆房间、购买机票/火车票/公共汽车票)、交互式游戏应用程序1216、客户服务/支持应用程序1218、保健相关应用程序1220(例如,用于执行潜在非紧急健康问题的初始级别诊断的应用程序)和/或娱乐相关应用程序1222(例如,用于播放音乐、电视展示、电影等的应用程序)。
在一些实施例中,其要求可经由非正式对话交互指示的众多类型的任务可被视为用于经由本文中论述的种类的对话驱动式应用程序履行的候选。在一些情况下,对话驱动式交互可构成较大应用程序工作流的初步部分,其中工作流的后部分有时是使用其它方式(潜在地,包含与被训练以执行正请求的任务的个人的交互)完成。举例来说,在一个实施例中,用于特定产品P的客户支持应用程序的多步骤对话可导致正由终端用户经历的问题的范围的缩小。一旦端部用户的问题的细节已在这情境中识别,那么可将控制传递给在遇到问题的领域中熟练的客户支持代表。
用于开发和部署对话驱动式应用程序的方法
图13为说明根据至少一些实施例的可在网络可访问服务处执行以用于开发对话驱动式应用程序的操作的方面的流程图。如在元素1301中所展示,在一个实施例中,可在所述服务处训练一个或多个自然语言理解模型,例如,使用与使用所述服务开发的各种应用程序相关联的自然语言输入的相应实例。此类实例输入可由那些应用程序的开发者提供,和/或在一个实施例中,可使用与所述应用程序交互的终端用户的记录来收集。
在描绘的实施例中,可进行关于与正使用所述服务开发的给定应用程序的一个或多个任务相关联的参数值是否将使用自然语言交互获得的确定(元素1304)。在一些实施例中,可使用由应用程序设计员或开发者提供的输入识别与应用程序相关联的一个或多个意图(元素1307)。所述意图中之个体可对应于将代表应用程序的终端用户实现的相应任务,例如,订一份披萨、订购甜品等。为了履行对应于给定意图的任务,在一个实施例中,可能必须确定意图的一个或多个参数的值,例如,在用于订一份披萨的意图的情况下,披萨的大小、表皮类型等可表示参数。
在描绘的实施例中,履行与所述意图中的每一个相关联的任务所需的参数集合可基于来自应用程序设计员或开发者的额外输入来识别(元素1310)。在一些实施例中,可识别两个种类的参数——所需参数,必须获得其值以便履行给定意图;和任选参数,其值并非必要,但如果由终端用户提供,可以使用。在一些实施例中,意图参数还可被称作“槽孔”。
在一个实施例中,服务可例如基于从开发者接收的输入确定待在多步骤对话中用于获得意图参数值中使用的各种字串(元素1313)。在至少一些实施例中,可不需要来自应用程序开发者或设计员的源代码,不管对于指定对话流,还是指定用以捕捉和解译来自终端用户的话语或文字信号的算法或技术、意图、意图参数等。举例来说,取而代之,图形接口元件可用以提供各种实体和实例字串的名称。在一个实施例中,服务的NLU模型可使用提供的信息产生对话驱动式应用程序的代码(例如,管控与终端用户的交互的反复流程)的部分(元素1316)。
在一个实施例中,可产生并存储包括对包括待用于多步骤对话的字串的词典的引用的对话驱动式应用程序的可执行表示,以及用于在获得必要参数值后待用以履行意图的程序/函数的调用代码(元素1319)。在一些实施例中,在程序的初始部署或执行前,自然语言模型可任选地用以增强/扩大词典(元素1322)。举例来说,可将从分析用于类似应用程序的词典或分析其它语料库习得的字串添加到基线字串。
在一个实施例中,可针对对话驱动式应用程序识别一组执行平台,且所述应用程序可部署于所述执行平台处且使之可为终端用户访问(元素1325)。针对多步骤对话产生的原始或基线词典可随着时间的过去得以进一步增强,例如,使用终端用户交互的日志记录用于进一步训练被设计成识别可适合于交互的新字串的NLU模型。
图14为说明根据至少一些实施例的可被执行以履行对应于对话驱动式应用程序的意图的客户请求任务的操作的方面的流程图。在一个实施例中,如在元素1401中所展示,可在提供商网络的应用程序开发服务处进行关于是否将使用自然语言交互获得应用程序的一个或多个参数(例如,与应用程序的一个或多个意图相关联的参数)的值的确定。在描绘的实施例中,应用程序开发服务可以允许在已在运行时间获得对应的参数值后,使用在提供商网络外的各种其它服务和/或资源执行应用程序任务。
使用经由编程接口获得的输入,在描绘的实施例中,可识别待用于开发中的对话驱动式应用程序的一个或多个资源(元素1404)。在各种实施例中,所述资源可与提供商网络的各种网络可访问服务(例如,在运行时间针对注册的程序选择执行平台的动态布建计算服务,或将客体虚拟机预分配到客户端的虚拟计算服务)相关联,或可为例如客户拥有的网络或第三方网络的外部网络的部分。在一些实施例中,给定应用程序的给定意图可利用来自若干不同服务的资源。在一个实施例中,经由编程接口接收的输入可指示正使用的特定服务、资源识别符(例如,URI)、待传输到资源以执行任务的参数和/或调用机构(例如,待发出的API呼叫的签名)的指示。在一个实施例中,履行单个意图的任务可涉及使用多个程序或API,例如,可能必须经由第一API从第一程序获得结果,且取决于结果的值,可使用第二API调用第二程序。在一个实施例中,应用程序开发者或设计员可不必提供源代码来指示待用以履行所述任务的服务、资源或调用机构。取而代之,在此实施例中,服务和资源的识别符可由应用程序开发者提供到应用程序管理服务,例如,使用图形用户接口、命令行工具等。在待将多个程序或函数调用用于单个意图的实施例中,可在未提供源代码的情况下指示调用的程序之间的顺序或逻辑关系。在至少一些实施例中,应用程序开发者可在开发任何给定对话驱动式应用程序前将程序、函数或资源向应用程序管理服务注册,且如果需要,可利用来自多个对话驱动式应用程序的程序、函数或资源。
在描绘的实施例中,也可将预期用于与对话驱动式应用程序的交互的终端用户装置类型的指示提供到应用程序管理服务(元素1407)。在一个实施例中,可指定广泛多种装置类型的任何组合,例如,各种类型的智能电话和相关联电话操作系统、平板电脑或手持型装置、膝上型计算机或桌上型计算机、可佩戴装置(例如,智能手表或眼镜)、虚拟现实接口装置、扩增现实接口装置等。在一个实施例中,此装置类型信息可由应用程序管理服务用以识别适当通信模块将包含于应用程序的可执行表示中。在一些实施例中,可使用终端用户装置类型的默认集合,或可从应用程序域或应用程序名称推断终端用户装置类型;因而,在至少一些实施例中,可不必提供终端用户装置类型的明确指示。在一个实施例中,可直到运行时间才实施装置类型与应用程序之间的绑定,即,所述程序可独立于待在运行时间使用的终端用户装置设计、建立和/或测试。
在一个实施例中,可自动产生和存储应用程序的各种部分(元素1410)。所述部分可包含待用以确定意图参数值的用于对话的代码、用于一旦已确定参数值就将用于执行或履行任务的不同资源/服务的调用信息,以及用于与待在一些实施例中使用的预期终端用户装置交互的模块。
在一些实施例中,应用程序管理服务可检查待用于意图任务的履行资源的可用性和/或状态(元素1413)。举例来说,在一个实施例中,在部署给定对话驱动式应用程序且使其可用于终端用户前,所述服务可利用由应用程序开发者提供的资源调用信息来确保当代表终端用户调用资源时,返回有意义的结果。在一些实施例中,也可在部署后的各种时间点(例如,以安排的时间间隔)执行此类状态检查。
在描绘的实施例中,可在选定执行平台起动对话驱动式应用程序(元素1416)。在一个实施例中,使用的特定应用程序平台可由服务基于例如资源的可用性、应用程序拥有者偏好等的各种因素来选择。在一些实施例中,提供商网络的虚拟计算服务和/或其它计算服务可用于运行程序的对话部分。在各种实施例中,可将程序的前端对话起始组件(例如,检测唤醒字或信号以开始应用程序对话的程序)部署到由应用程序开发者/设计员指示的终端用户装置。在一些实施例中,可经由(例如)自动化或终端用户安排的应用程序更新来将此类前端组件传输到装置。
在一个实施例中,可使用多步骤对话和/或基于终端用户的存储的个人资料信息来获得用于应用程序的意图或任务的参数的值(元素1419)。在一个实施例中,在可将个人资料信息用于给定终端用户前,终端用户可能必须授予在应用程序管理服务处存储个人资料信息可接受的权限。在描绘的实施例中,可利用来自各种服务和/或外部网络的适当资源以在确定参数值后履行所述意图。
在描绘的实施例中,可收集与应用程序的终端用户交互的日志记录(元素1422)。在一个实施例中,此类日志记录可作为输入提供到NLU或其它机器学习算法以增强或扩大与应用程序相关联的词典,例如,通过将习得的字串引入到词典内。在至少一些实施例中,可在部署应用程序前识别习得的字串,例如,基于分析同一问题域的相关应用程序的词典,或基于分析语言使用的各种语料库。
应注意,在各种实施例中,图13或图14中展示的操作中的一些可按与在图中展示的次序不同的次序实施,或可并行而非依序地执行。另外,在一个或多个实施中,可不需要在图13和/或图14中展示的操作中的一些。
说明性计算机系统
在至少一些实施例中,实施以上针对开发和部署对话驱动式应用程序(包含产生用于多步骤对话以及意图任务的履行的代码)描述的技术中的一个或多个的服务器可包含通用计算机系统,其包含或被配置成访问一个或多个计算机可访问媒体。图15说明这种通用计算装置9000。在所说明的实施例中,计算装置9000包含经由输入/输出(I/O)接口9030联接到系统存储器9020(其可以包括非易失性和易失性存储器模块)的一个或多个处理器9010。计算装置9000进一步包含联接到I/O接口9030的网络接口9040。
在各种实施例中,计算装置9000可以是包含一个处理器9010的单处理器系统,或者包含若干处理器9010(例如,两个、四个、八个或另一合适数目)的多处理器系统。处理器9010可以是能够执行指令的任何合适的处理器。例如,在各种实施例中,处理器9010可以是实施多种指令集架构(ISA)中的任何一种的通用或嵌入式处理器,例如,x86、PowerPC、SPARC或MIPS ISA或任何其它合适的ISA。在多处理器系统中,处理器9010中的每一个可以共同但不是必须地实施相同的ISA。在一些实施中,可以使用图形处理单元(GPU)来代替常规的处理器或作为常规处理器的补充。
系统存储器9020可以被配置成存储可由一个或多个处理器9010访问的指令和数据。在至少一些实施例中,系统存储器9020可以包括易失性和非易失性部分;在其它实施例中,可以仅使用易失性存储器。在各种实施例中,系统存储器9020的易失性部分可以使用任何合适的存储器技术来实施,例如,静态随机存取存储器(SRAM)、同步动态RAM或任何其它类型的存储器。对于系统存储器的非易失性部分(例如,其可以包括一个或多个NVDIMM),在一些实施例中,可以使用基于闪存的存储器装置,包含NAND闪存装置。在至少一些实施例中,系统存储器的非挥发性部分可包含电源,例如,超级电容器或其它电力存储装置(例如,电池)。在各种实施例中,基于忆阻器的电阻随机存取存储器(ReRAM)、三维NAND技术、铁电RAM、磁阻RAM(MRAM)或任何各种类型的相变存储器(PCM)可以至少用于系统存储器的非易失性部分。在所说明的实施例中,实施例如以上描述的那些方法、技术和数据的一个或多个所期望函数的程序指令和数据被展示为存储在系统存储器9020中,作为代码9025和数据9026。
在一个实施例中,I/O接口9030可被配置成协调处理器9010、系统存储器9020、网络接口9040或其它外周接口(例如,各种类型的持久性和/或易失性存储装置)之间的I/O流量。在一些实施例中,I/O接口9030可执行任何必要协定、时序或其它数据变换以将来自一个组件(例如,系统存储器9020)的数据信号转换成适合于由另一组件(例如,处理器9010)使用的格式。在一些实施例中,I/O接口9030可包含对通过各种类型的外围总线(例如,低接脚计数(LPC)总线、外围组件互连(PCI)汇流排标准的变体或通用串行总线(USB)标准)附接装置的支持。在一些实施例中,I/O接口9030的功能可以分成两个或更多个单独的组件,例如,北桥和南桥。而且,在一些实施例中,I/O接口9030的一些或全部功能性(例如,到系统存储器9020的接口)可以直接并入到处理器9010内。
网络接口9040可以被配置成允许数据在计算装置9000和附接到一个或多个网络9050的其它装置9060之间交换,例如,如图1到图14中所说明的其它计算机系统或装置。在各种实施例中,网络接口9040可以支持经由任何合适的有线或无线通用数据网络的通信,例如,以太网网络的类型。另外,网络接口9040可以支持经由例如模拟语音网络或数字光纤通信网络的电信/电话网络,经由例如光纤通道的存储区域网络SAN或经由任一其它合适类型的网络和/或协议的通信。
在一些实施例中,系统存储器9020可以是计算机可访问媒体的一个实施例,所述计算机可访问媒体被配置成存储如上文针对图1到图14所描述的程序指令和数据,以用于实施对应方法和设备的实施例。然而,在其它实施例中,可以在不同类型的计算机可访问媒体上接收、发送或存储程序指令和/或数据。在一个实施例中,计算机可访问媒体可包含非暂时性存储媒体或存储器媒体,例如,磁性或光学媒体,例如,经由I/O接口9030联接到计算装置9000的磁碟或DVD/CD。非暂时性计算机可访问存储媒体还可以包含任何易失性或非易失性媒体,例如,RAM(例如,SDRAM、DDR SDRAM、RDRAM、SRAM等)、ROM等,其可以包含在计算装置9000的一些实施例中作为系统存储器9020或另一类型的存储器。另外,计算机可访问媒体可以包含传输媒体或经由例如网络和/或无线链路的通信媒体传送的例如电信号、电磁信号或数字信号的信号,例如,可以经由网络接口9040实施。如图15中所说明的计算装置的多个计算装置中的部分或全部可用以在各种实施例中实施所描述的功能性;例如,在多种不同装置和服务器上运行的软件部件可以合作来提供功能性。在一些实施例中,除了使用通用计算机系统实施之外或代替使用通用计算机系统实施,还可以使用存储装置、网络装置或专用计算机系统来实施所描述的功能性的部分。如本文所使用的术语“计算装置”指至少所有这些类型的装置,并且不限于这些类型的装置。
结论
各种实施例可以进一步包含在计算机可访问媒体上接收、发送或存储根据前述描述实施的指令和/或数据。在一些实施例中,计算机可访问媒体可以包含例如磁性或光学媒体的存储媒体或存储器媒体,例如,磁盘或DVD/CD-ROM、易失性或非易失性媒体,例如,RAM(例如,SDRAM、DDR、RDRAM、SRAM等)、ROM等,以及传输媒体或经由例如网络和/或无线链路的通信媒体传送的例如电信号、电磁信号或数字信号的信号。
如图中所说明和本文描述的各种方法表示方法的示例性实施例。所述方法可以用软件、硬件或其组合来实施。可以改变方法的顺序,并且可以添加、重新排序、组合、省略、修改等各种元素。
可以进行各种修改和改变,这对于受益于本公开的所属领域的技术人员来说将是明显的。希望包含所有此类修改和改变,并且因此,以上描述应按说明性而不是限制性意义来看待。
Claims (20)
1.一种系统,包括:
一个或多个处理器;以及
存储器,其存储程序指令,所述程序指令如果被执行,那么使所述一个或多个处理器执行包括以下步骤的方法:
使用对应于多个应用程序的至少相应自然语言输入实例,训练自然语言理解模型;
确定是否将使用自然语言交互来获得第一应用程序的第一参数的值;以及
基于确定将使用自然语言交互来获得第一应用程序的第一参数的所述值,使用所述自然语言理解模型产生所述第一应用程序的与获得第一参数的所述值相关联的至少一部分代码。
2.根据权利要求1所述的系统,其中所述方法包括:
存储以下指示:响应于确定终端用户已批准使用关于所述第一应用程序的基于个人资料的个性化,将至少部分基于所述终端用户的个人资料记录选择所述第一参数的值。
3.根据权利要求1所述的系统,其中所述自然语言交互包括以下一个或多个:(a)基于话语的交互,或(b)基于文字的交互。
4.根据权利要求1所述的系统,其中所述方法包括:
识别提供商网络的一个或多个网络可访问服务的相应资源,其中所述相应资源将用以实施所述第一应用程序;以及
存储所述相应资源的指示。
5.根据权利要求1所述的系统,其中所述方法包括:
在用于训练所述自然语言理解模型的数据集内包含与至少一个应用程序的终端用户交互的一个或多个记录。
6.一种方法,包括:
使用对应于多个应用程序的相应自然语言输入实例,训练自然语言理解模型;
确定是否将使用自然语言交互来获得第一应用程序的第一参数的值;以及
基于确定将使用自然语言交互来获得第一应用程序的第一参数的所述值,使用所述自然语言理解模型产生所述第一应用程序的与获得第一参数的所述值相关联的至少一部分代码。
7.根据权利要求6所述的方法,进一步包括:
确定终端用户已批准使用关于所述第一应用程序的基于个人资料的个性化;以及
至少部分基于所述终端用户的个人资料记录选择所述第一参数的值。
8.根据权利要求6所述的方法,进一步包括:
经由提供商网络的网络可访问服务的图形接口接收所述相应自然语言输入实例中的至少一个自然语言输入实例。
9.根据权利要求6所述的方法,进一步包括:
接收提供商网络的一个或多个网络可访问服务的相应资源的指示,其中
所述相应资源将用以实施所述第一应用程序;以及
存储所述相应资源的所述指示。
10.根据权利要求6所述的方法,其中所述第一应用程序包括多个任务,且其中所述第一参数与第一任务相关联,所述方法进一步包括:
存储以下指示:至少部分基于已完成第一自然语言交互的至少一部分的确定,将起始确定第二任务的一个或多个参数的值的第二自然语言交互。
11.根据权利要求6所述的方法,进一步包括:
存储所述第一应用程序的第二参数的准许值范围至少部分地取决于所述第一参数的值的指示;以及
产生自然语言字串以向所述第一应用程序的终端用户指示准许值的所述范围。
12.根据权利要求6所述的方法,其中所述自然语言交互包括以下一个或多个:(a)基于话语的交互,或(b)基于文字的交互。
13.根据权利要求6所述的方法,进一步包括:
存储指示与所述第一应用程序的相应终端用户的相应交互的一个或多个日志记录。
14.根据权利要求13所述的方法,进一步包括:
响应于经由编程接口接收的询问,提供所述一个或多个日志记录的指示。
15.根据权利要求13所述的方法,进一步包括执行:
将所述一个或多个日志记录添加到用于训练所述自然语言理解模型的数据集。
16.一种非暂时性计算机可访问存储媒体,存储程序指令,所述程序指令当在一个或多个处理器上执行时使所述一个或多个处理器:
使用对应于多个应用程序的相应自然语言输入实例,训练自然语言理解模型;
确定是否将使用自然语言交互来获得第一应用程序的第一参数的值;以及
基于确定将使用自然语言交互来获得第一应用程序的第一参数的所述值,使用所述自然语言理解模型产生所述第一应用程序的与获得第一参数的所述值相关联的至少一部分代码。
17.根据权利要求16所述的非暂时性计算机可访问存储媒体,其中所述指令当在所述一个或多个处理器上执行时使所述一个或多个处理器:
存储以下指示:在确定终端用户已批准使用关于所述第一应用程序的基于个人资料的个性化后,将至少部分基于所述终端用户的个人资料记录选择所述第一参数的值。
18.根据权利要求16所述的非暂时性计算机可访问存储媒体,其中所述指令当在所述一个或多个处理器上执行时使所述一个或多个处理器:
使用提供商网络的网络可访问服务的编程接口确定所述相应自然语言输入实例中的第一自然语言输入实例。
19.根据权利要求16所述的非暂时性计算机可访问存储媒体,其中所述指令当在所述一个或多个处理器上执行时使所述一个或多个处理器:
存储提供商网络的一个或多个网络可访问服务的相应资源将用以实施所述第一应用程序的指示。
20.根据权利要求16所述的非暂时性计算机可访问存储媒体,其中所述自然语言交互包括以下一个或多个:(a)基于话语的交互,或(b)基于文字的交互。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410190347.0A CN118069799A (zh) | 2016-11-23 | 2017-11-22 | 用于开发对话驱动式应用程序的服务 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/360,814 US10331791B2 (en) | 2016-11-23 | 2016-11-23 | Service for developing dialog-driven applications |
US15/360,814 | 2016-11-23 | ||
PCT/US2017/063066 WO2018098318A1 (en) | 2016-11-23 | 2017-11-22 | Service for developing dialog-driven applications |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410190347.0A Division CN118069799A (zh) | 2016-11-23 | 2017-11-22 | 用于开发对话驱动式应用程序的服务 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109983460A CN109983460A (zh) | 2019-07-05 |
CN109983460B true CN109983460B (zh) | 2024-03-12 |
Family
ID=60703084
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780072369.5A Active CN109983460B (zh) | 2016-11-23 | 2017-11-22 | 用于开发对话驱动式应用程序的服务 |
CN202410190347.0A Pending CN118069799A (zh) | 2016-11-23 | 2017-11-22 | 用于开发对话驱动式应用程序的服务 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410190347.0A Pending CN118069799A (zh) | 2016-11-23 | 2017-11-22 | 用于开发对话驱动式应用程序的服务 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10331791B2 (zh) |
EP (2) | EP3545427B1 (zh) |
CN (2) | CN109983460B (zh) |
WO (1) | WO2018098318A1 (zh) |
Families Citing this family (102)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
US8676904B2 (en) | 2008-10-02 | 2014-03-18 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US10706373B2 (en) | 2011-06-03 | 2020-07-07 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US10417037B2 (en) | 2012-05-15 | 2019-09-17 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
KR102516577B1 (ko) | 2013-02-07 | 2023-04-03 | 애플 인크. | 디지털 어시스턴트를 위한 음성 트리거 |
US10652394B2 (en) | 2013-03-14 | 2020-05-12 | Apple Inc. | System and method for processing voicemail |
US10748529B1 (en) | 2013-03-15 | 2020-08-18 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
JP6259911B2 (ja) | 2013-06-09 | 2018-01-10 | アップル インコーポレイテッド | デジタルアシスタントの2つ以上のインスタンスにわたる会話持続を可能にするための機器、方法、及びグラフィカルユーザインタフェース |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
CN105453026A (zh) | 2013-08-06 | 2016-03-30 | 苹果公司 | 基于来自远程设备的活动自动激活智能响应 |
CN110797019B (zh) | 2014-05-30 | 2023-08-29 | 苹果公司 | 多命令单一话语输入方法 |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US10460227B2 (en) | 2015-05-15 | 2019-10-29 | Apple Inc. | Virtual assistant in a communication session |
US10200824B2 (en) | 2015-05-27 | 2019-02-05 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device |
US20160378747A1 (en) | 2015-06-29 | 2016-12-29 | Apple Inc. | Virtual assistant for media playback |
US10740384B2 (en) | 2015-09-08 | 2020-08-11 | Apple Inc. | Intelligent automated assistant for media search and playback |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US10331312B2 (en) | 2015-09-08 | 2019-06-25 | Apple Inc. | Intelligent automated assistant in a media environment |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
US10649739B2 (en) * | 2016-12-20 | 2020-05-12 | Microsoft Technology Licensing, Llc | Facilitating application development |
US11204787B2 (en) * | 2017-01-09 | 2021-12-21 | Apple Inc. | Application integration with a digital assistant |
US10909980B2 (en) * | 2017-02-27 | 2021-02-02 | SKAEL, Inc. | Machine-learning digital assistants |
DK180048B1 (en) | 2017-05-11 | 2020-02-04 | Apple Inc. | MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
DK179496B1 (en) | 2017-05-12 | 2019-01-15 | Apple Inc. | USER-SPECIFIC Acoustic Models |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK201770429A1 (en) | 2017-05-12 | 2018-12-14 | Apple Inc. | LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT |
DK201770411A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | MULTI-MODAL INTERFACES |
US20180336275A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Intelligent automated assistant for media exploration |
US20180336892A1 (en) | 2017-05-16 | 2018-11-22 | Apple Inc. | Detecting a trigger of a digital assistant |
US10360909B2 (en) | 2017-07-27 | 2019-07-23 | Intel Corporation | Natural machine conversing method and apparatus |
US10896670B2 (en) | 2017-12-05 | 2021-01-19 | discourse.ai, Inc. | System and method for a computer user interface for exploring conversational flow with selectable details |
US11107006B2 (en) | 2017-12-05 | 2021-08-31 | discourse.ai, Inc. | Visualization, exploration and shaping conversation data for artificial intelligence-based automated interlocutor training |
US11004013B2 (en) * | 2017-12-05 | 2021-05-11 | discourse.ai, Inc. | Training of chatbots from corpus of human-to-human chats |
US10929611B2 (en) * | 2017-12-05 | 2021-02-23 | discourse.ai, Inc. | Computer-based interlocutor understanding using classifying conversation segments |
US10643632B2 (en) * | 2018-01-12 | 2020-05-05 | Wells Fargo Bank, N.A. | Automated voice assistant personality selector |
US10762113B2 (en) * | 2018-01-31 | 2020-09-01 | Cisco Technology, Inc. | Conversational knowledge graph powered virtual assistant for application performance management |
US11568863B1 (en) * | 2018-03-23 | 2023-01-31 | Amazon Technologies, Inc. | Skill shortlister for natural language processing |
US10929601B1 (en) * | 2018-03-23 | 2021-02-23 | Amazon Technologies, Inc. | Question answering for a multi-modal system |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
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 |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
DK201870355A1 (en) | 2018-06-01 | 2019-12-16 | Apple Inc. | VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS |
DK179822B1 (da) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US10956462B1 (en) * | 2018-06-21 | 2021-03-23 | Amazon Technologies, Inc. | System answering of user inputs |
US10748526B2 (en) * | 2018-08-28 | 2020-08-18 | Accenture Global Solutions Limited | Automated data cartridge for conversational AI bots |
US10210861B1 (en) * | 2018-09-28 | 2019-02-19 | Apprente, Inc. | Conversational agent pipeline trained on synthetic data |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
US10657968B1 (en) * | 2018-11-19 | 2020-05-19 | Google Llc | Controlling device output according to a determined condition of a user |
US10573296B1 (en) | 2018-12-10 | 2020-02-25 | Apprente Llc | Reconciliation between simulator and speech recognition output using sequence-to-sequence mapping |
US11392773B1 (en) * | 2019-01-31 | 2022-07-19 | Amazon Technologies, Inc. | Goal-oriented conversational training data generation |
JP2022520763A (ja) * | 2019-02-08 | 2022-04-01 | アイ・ティー スピークス エル・エル・シー | インテリジェント産業アシスタントのためのダイアログテンプレートを開発するための方法、システム、および、コンピュータプログラム製品 |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
DK201970509A1 (en) | 2019-05-06 | 2021-01-15 | Apple Inc | Spoken notifications |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
DK180129B1 (en) | 2019-05-31 | 2020-06-02 | Apple Inc. | USER ACTIVITY SHORTCUT SUGGESTIONS |
DK201970510A1 (en) | 2019-05-31 | 2021-02-11 | Apple Inc | Voice identification in digital assistant systems |
US11227599B2 (en) | 2019-06-01 | 2022-01-18 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
US11227592B1 (en) * | 2019-06-27 | 2022-01-18 | Amazon Technologies, Inc. | Contextual content for voice user interfaces |
WO2021056255A1 (en) | 2019-09-25 | 2021-04-01 | Apple Inc. | Text detection using global geometry estimators |
US11176942B2 (en) * | 2019-11-26 | 2021-11-16 | Vui, Inc. | Multi-modal conversational agent platform |
CN111128153B (zh) * | 2019-12-03 | 2020-10-02 | 北京蓦然认知科技有限公司 | 一种语音交互方法及装置 |
US10841251B1 (en) * | 2020-02-11 | 2020-11-17 | Moveworks, Inc. | Multi-domain chatbot |
CN113362828B (zh) * | 2020-03-04 | 2022-07-05 | 阿波罗智联(北京)科技有限公司 | 用于识别语音的方法和装置 |
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 |
US11755276B2 (en) | 2020-05-12 | 2023-09-12 | Apple Inc. | Reducing description length based on confidence |
US11341339B1 (en) * | 2020-05-14 | 2022-05-24 | Amazon Technologies, Inc. | Confidence calibration for natural-language understanding models that provides optimal interpretability |
US11393456B1 (en) * | 2020-06-26 | 2022-07-19 | Amazon Technologies, Inc. | Spoken language understanding system |
US11501754B2 (en) * | 2020-07-07 | 2022-11-15 | Beijing Didi Infinity Technology And Development Co., Ltd. | Specifying trip destinations from spoken dialogs |
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 |
US11829720B2 (en) | 2020-09-01 | 2023-11-28 | Apple Inc. | Analysis and validation of language models |
US11817091B1 (en) | 2020-09-30 | 2023-11-14 | Amazon Technologies, Inc. | Fault-tolerance techniques for dialog-driven applications |
US11948019B1 (en) | 2020-09-30 | 2024-04-02 | Amazon Technologies, Inc. | Customized configuration of multimodal interactions for dialog-driven applications |
US11252149B1 (en) | 2020-09-30 | 2022-02-15 | Amazon Technologies, Inc. | Resource management techniques for dialog-driven applications |
US20220229999A1 (en) * | 2021-01-19 | 2022-07-21 | Palo Alto Research Center Incorporated | Service platform for generating contextual, style-controlled response suggestions for an incoming message |
US12131394B1 (en) | 2021-03-31 | 2024-10-29 | Amazon Technologies, Inc. | Distributed system for automated restaurant order acquisition |
US11757976B2 (en) * | 2021-04-23 | 2023-09-12 | Vmware, Inc. | Unified application management for heterogeneous application delivery |
US20230008868A1 (en) * | 2021-07-08 | 2023-01-12 | Nippon Telegraph And Telephone Corporation | User authentication device, user authentication method, and user authentication computer program |
US11922144B1 (en) | 2023-03-20 | 2024-03-05 | OpenAI Opco, LLC | Schema-based integration of external APIs with natural language applications |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1552029A (zh) * | 2001-07-02 | 2004-12-01 | Bea系统公司 | 用于异步Web服务的Web服务开发平台 |
US7024348B1 (en) * | 2000-09-28 | 2006-04-04 | Unisys Corporation | Dialogue flow interpreter development tool |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5844971A (en) | 1995-12-18 | 1998-12-01 | Citibank, N.A. | Form creating and ordering system |
US6246981B1 (en) | 1998-11-25 | 2001-06-12 | International Business Machines Corporation | Natural language task-oriented dialog manager and method |
US6415257B1 (en) * | 1999-08-26 | 2002-07-02 | Matsushita Electric Industrial Co., Ltd. | System for identifying and adapting a TV-user profile by means of speech technology |
US6510411B1 (en) | 1999-10-29 | 2003-01-21 | Unisys Corporation | Task oriented dialog model and manager |
US7197460B1 (en) | 2002-04-23 | 2007-03-27 | At&T Corp. | System for handling frequently asked questions in a natural language dialog service |
US8612229B2 (en) * | 2005-12-15 | 2013-12-17 | Nuance Communications, Inc. | Method and system for conveying an example in a natural language understanding application |
US8370127B2 (en) * | 2006-06-16 | 2013-02-05 | Nuance Communications, Inc. | Systems and methods for building asset based natural language call routing application with limited resources |
SG142196A1 (en) * | 2006-11-02 | 2008-05-28 | Crimsonlogic Pte Ltd | System and method for processing language independent natural language statements |
US8457665B2 (en) | 2007-12-20 | 2013-06-04 | Brainstorm Sms Technologies, Llc | Interactive short messaging service |
US8892419B2 (en) * | 2012-04-10 | 2014-11-18 | Artificial Solutions Iberia SL | System and methods for semiautomatic generation and tuning of natural language interaction applications |
US9787497B2 (en) | 2014-03-17 | 2017-10-10 | Electronics And Telecommunications Research Institute | Network apparatus and method using link layer routing |
EP2933070A1 (en) | 2014-04-17 | 2015-10-21 | Aldebaran Robotics | Methods and systems of handling a dialog with a robot |
US9548066B2 (en) * | 2014-08-11 | 2017-01-17 | Amazon Technologies, Inc. | Voice application architecture |
US9508339B2 (en) | 2015-01-30 | 2016-11-29 | Microsoft Technology Licensing, Llc | Updating language understanding classifier models for a digital personal assistant based on crowd-sourcing |
US10032137B2 (en) | 2015-08-31 | 2018-07-24 | Avaya Inc. | Communication systems for multi-source robot control |
US9858927B2 (en) * | 2016-02-12 | 2018-01-02 | Amazon Technologies, Inc | Processing spoken commands to control distributed audio outputs |
-
2016
- 2016-11-23 US US15/360,814 patent/US10331791B2/en active Active
-
2017
- 2017-11-22 CN CN201780072369.5A patent/CN109983460B/zh active Active
- 2017-11-22 CN CN202410190347.0A patent/CN118069799A/zh active Pending
- 2017-11-22 EP EP17817458.7A patent/EP3545427B1/en active Active
- 2017-11-22 EP EP22186734.4A patent/EP4102502A1/en active Pending
- 2017-11-22 WO PCT/US2017/063066 patent/WO2018098318A1/en unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7024348B1 (en) * | 2000-09-28 | 2006-04-04 | Unisys Corporation | Dialogue flow interpreter development tool |
CN1552029A (zh) * | 2001-07-02 | 2004-12-01 | Bea系统公司 | 用于异步Web服务的Web服务开发平台 |
Non-Patent Citations (2)
Title |
---|
Rapid Prototyping of Form-driven Dialogue Systems;Svetlana Stoyanchev等;《Proceedings of the SIGDIAL 2016 Conference》;20160101;第216-219页 * |
svetlana stoyanchev等.Rapid Prototyping of Form-driven Dialogue Systems Using an Open-source Framework.《procedding of the signal 2016 conference》.第216-219页. * |
Also Published As
Publication number | Publication date |
---|---|
EP4102502A1 (en) | 2022-12-14 |
US10331791B2 (en) | 2019-06-25 |
WO2018098318A1 (en) | 2018-05-31 |
CN109983460A (zh) | 2019-07-05 |
CN118069799A (zh) | 2024-05-24 |
US20180143967A1 (en) | 2018-05-24 |
EP3545427A1 (en) | 2019-10-02 |
EP3545427B1 (en) | 2022-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109983460B (zh) | 用于开发对话驱动式应用程序的服务 | |
US20210132986A1 (en) | Back-end task fulfillment for dialog-driven applications | |
CN110770736B (zh) | 将对话驱动式应用程序导出到数字通信平台 | |
KR102313473B1 (ko) | 자동 어시스턴트를 위한 명령 번들 제안 제공 | |
US11397558B2 (en) | Optimizing display engagement in action automation | |
US10498858B2 (en) | System and method for automated on-demand creation of and execution of a customized data integration software application | |
CN109710727B (zh) | 用于自然语言处理的系统和方法 | |
CN111566638B (zh) | 向应用编程接口添加描述性元数据以供智能代理使用 | |
JP2019503526A (ja) | ダイアログ・システムにおけるパラメータ収集および自動ダイアログ生成 | |
JP2018511831A (ja) | 開発者音声アクションシステム | |
WO2015148281A1 (en) | Temporal translation grammar for language translation | |
JP2019164824A (ja) | リソースに対するアクションへのインデックス付け |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |