CN110610240B - 基于人工智能的虚拟自动化辅助 - Google Patents

基于人工智能的虚拟自动化辅助 Download PDF

Info

Publication number
CN110610240B
CN110610240B CN201910510626.XA CN201910510626A CN110610240B CN 110610240 B CN110610240 B CN 110610240B CN 201910510626 A CN201910510626 A CN 201910510626A CN 110610240 B CN110610240 B CN 110610240B
Authority
CN
China
Prior art keywords
task
pipeline
assistance system
models
model
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
Application number
CN201910510626.XA
Other languages
English (en)
Other versions
CN110610240A (zh
Inventor
S·斯瓦米
K·维斯瓦纳坦
N·桑帕特
P·格哈泰吉
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.)
Accenture Global Solutions Ltd
Original Assignee
Accenture Global Solutions Ltd
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 Accenture Global Solutions Ltd filed Critical Accenture Global Solutions Ltd
Publication of CN110610240A publication Critical patent/CN110610240A/zh
Application granted granted Critical
Publication of CN110610240B publication Critical patent/CN110610240B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/453Help systems
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks

Abstract

本公开的实施例涉及基于人工智能的虚拟自动化辅助。一种基于人工智能(AI)的虚拟自动化辅助系统,其提供与将被自动执行的任务的组成过程有关的服务。虚拟自动化辅助系统包括使得能够生成该服务的流水线工作室。访问与服务有关的历史数据以进行训练和验证各种ML模型。对ML模型进行评分,并将选定的ML模型注册为虚拟自动化辅助系统上的服务。如此注册的服务被表示为流水线工作室内的过程块,其中布置与任务的组成过程有关的过程块以便形成流水线。如此构建的流水线通过经由形成流水线的服务来接收和处理与任务有关的请求,使得能够自动执行任务。

Description

基于人工智能的虚拟自动化辅助
技术领域
本公开的实施例涉及人工智能领域,并且具体地涉及基于人工智能的虚拟自动化辅助。
背景技术
现代组织架构的环境严重依赖于用于执行其任务的计算和通信系统。组织的劳动力可能主要与其计算系统进行交互,以实施其各种职责。越来越多地使用计算系统来执行各种复杂任务产生了人工智能(AI)技术,其中开发了能够做出独立决策的智能机器。各种原因,诸如能够处理大量数据的计算资源的开发、可用于处理的数据的爆炸式增长(大数据)、对特定任务或问题的关注以及能够接收反馈并对其改进的机器的开发是人工智能技术在我们日常生活中崛起的几个原因。
与AI相关联的研究非常技术性和专业化。开发具有AI的机器所涉及的一些任务可以包括对计算机进行编程以获取诸如知识、推理、问题解决、感知、计划以及操纵和移动对象的能力的特点。机器学习(ML)和自然语言处理(NLP)是AI的重要组成部分。ML涉及各种ML算法及其性能的数学分析。教育机器诸如推理、解决问题和做出决策的人类的技能可能是一项艰巨而乏味的任务,需要训练有素的劳动力。
发明内容
根据一些实施例,一种基于人工智能(AI)的虚拟自动化辅助系统,包括:至少一个处理器;存储机器可读指令的非瞬态处理器可读介质,机器可读指令使至少一个处理器:接收关于将被自动执行的任务的信息,信息包括任务中所包括的一个或多个组成过程;确定信息是否包括一个或多个机器学习(ML)模型的规范,一个或多个机器学习(ML)模型将被训练以用于组成过程的自动执行;在机器学习(ML)模型中的至少一个机器学习模型被指定用于自动执行的情况下,对于一个或多个组成过程中的每个模型特定的组成过程:将对应于指定的至少一个ML模型的经训练的ML模型注册为自动化辅助系统上的相应的服务,以用于模型特定的组成过程的自动执行;在信息未指定机器学习(ML)模型中的至少一个机器学习模型以用于自动执行的情况下,对于一个或多个组成过程中的每个剩余组成过程:将来自一个或多个ML模型的所选择的经训练的模型注册为自动化辅助系统上的相应的服务,以用于剩余组成过程的自动执行;经由交互式图形用户界面(GUI)提供对与组成过程相对应的相应的服务的访问;经由交互式GUI,支持表示任务的流水线的构建,流水线包括表示组成过程中的每个组成过程的服务,组成过程按照支持任务的自动执行的组成过程的执行顺序来布置;接收与任务相关的输入;以及基于输入,自动执行任务。
根据一些实施例,一种用于使用机器学习(ML)模型自动执行任务的处理器可执行方法,包括:访问与包括一个或多个组成过程的任务相关的历史数据;在历史数据上训练ML模型中的一个或多个ML模型,以用于组成过程的自动执行;利用相应的通用资源定位符(URL)将经训练的模型作为web服务发布;经由URL提供对服务的访问,服务被表示为在交互式图形用户界面(GUI)上的相应的过程块;接收构建表示任务的流水线的用户输入,用户输入引起在交互式GUI的交互式工作空间上对过程块的选择和布置,布置包括将每个过程块的输入连接到在前的过程块的输出,以及将过程块的输出连接到后续块的输入;接收与任务相关的用户输入以用于任务的自动执行;从任务相关的用户输入中提取与任务相关的信息,所提取的信息包括与任务相关联的所有者和域;从与所有者和域相关联的多个流水线中标识用于任务的自动执行的流水线,流水线包括分别对应于组成过程的服务;提供所提取的信息以用于流水线的任务的自动执行;以及将任务的自动执行的输出传送给用户。
根据一些实施例,一种包括机器可读指令的非瞬态计算机可读存储介质,机器可读指令使处理器:接收关于将被自动执行的任务的信息,信息包括任务中所包括的一个或多个组成过程;确定信息是否包括一个或多个机器学习(ML)模型的规范,一个或多个机器学习(ML)模型将被训练以用于组成过程的自动执行;在机器学习(ML)模型中的至少一个机器学习模型被指定用于自动执行的情况下,对于一个或多个组成过程中的每个模型特定的组成过程:将对应于至少一个ML模型的经训练的ML模型注册为相应的服务,相应的服务支持模型特定的组成过程的自动执行;在信息未指定机器学习(ML)模型中的至少一个机器学习模型以用于自动执行的情况下,对于一个或多个组成过程中的每个剩余组成过程:将来自一个或多个ML模型的所选择的经训练的模型注册为相应的服务,以用于剩余组成过程的自动执行;经由交互式图形用户界面(GUI)提供对与组成过程相对应的相应的服务的访问;经由交互式GUI,接收与表示任务的流水线相关的信息,流水线包括表示组成过程中的每个组成过程的服务,组成过程按照支持任务的自动执行的组成过程的执行顺序来布置;接收与任务相关的输入;以及基于输入,自动执行任务。
附图说明
通过以下附图中所示的示例来说明本公开的特征。在下面的图中,相同的附图标记指示相同的元件,其中:
图1是示出根据本文公开的示例的基于AI的虚拟自动化辅助系统的框图。
图2示出了根据本文公开的示例的流水线工作室的框图。
图3是根据本文公开的示例的任务处理器的框图。
图4是详细描述根据本文公开的示例的在基于AI的虚拟自动化辅助系统上提供服务的方法的流程图。
图5是详细描述根据本文描述的示例的构建流水线的方法的流程图。
图6是详细描述根据本文公开的示例的使用流水线自动执行任务的方法的流程图。
图7A示出了根据本文公开的一些示例的新服务用户界面(UI)。
图7B示出了根据本文描述的示例的显示由各种经训练的ML模型获得的得分的用户界面。
图8示出了根据本文公开的示例的使得能够在基于AI的虚拟自动化辅助系统上生成新流水线的新流水线UI。
图9示出了根据本文公开的示例的与可以被用来生成服务和流水线的流水线工作室相关联的交互式GUI的示例。
图10示出了根据本文公开的示例的使得能够映射过程块的输入和输出的映射UI。
图11A和图11B描绘了根据本文公开的示例的用例场景,其中经由电子邮件通道接收任务请求。
图12示出了根据本文公开的示例的接收任务请求的基于聊天的UI。
图13示出了根据本文公开的示例所生成的报告。
图14图示了根据本文公开的示例的可以被用来实现基于AI的虚拟自动化辅助系统的计算机系统。
具体实施方式
出于简化和说明的目的,通过参考其示例来描述本公开。在以下描述中,阐述了许多具体细节以便提供对本公开的透彻理解。然而,明显的是,可以在不限于这些具体细节的情况下实践本公开。在其他实例中,没有详细描述一些方法和结构,以免不必要地模糊本公开。贯穿本公开,术语“一”和“一个”旨在表示特定元素中的至少一个。如本文所使用的,术语“包括(include)”表示包括但不限于,术语“包括(including)”表示包括但不限于。术语“基于”意味着至少部分地基于。
本文公开的基于AI的虚拟自动化辅助系统提供了智能软件框架,以支持用于软件工程的AI引导的自动化议程,从而帮助自动化和增强各种服务和操作。在示例中,虚拟自动化辅助系统支持知识工作(诸如应用交付和管理、测试、面向文档的过程等)的自动化。该框架使得能够提供诸如但不限于自动提取文本输入、自然语言处理的服务(NLP)、选择机器学习(ML)的功能、流水线(使得能够以流水线方式协调执行NLP和ML功能)的创建、维护和执行、知识本体的创建和集成,以及信息或实体提取的服务。
基于AI的虚拟自动化辅助系统包括支持知识工作自动化的平台。当要自动执行任务时,将分析任务以标识各种组成过程。组成过程可以包括形成要执行以便完成任务的多个过程中的一个的过程或功能。来自组成过程的输出可以被直接呈现给用户,或者组成过程的输出可以被馈送到另一过程的输入以用于执行任务的下游功能。虚拟自动化辅助系统提供服务的创建和/或注册,该服务使得能够自动执行组成过程。因此,当任务被认为是一系列组成过程时,虚拟自动化辅助系统提供流水线,该流水线使得能够按顺序地执行与组成过程相对应的各种服务,从而使得能够自动执行任务。因此,任务的自动执行提供了从接收任务请求到完成与任务请求相关联的意图或任务的最少人工参与或甚至没有人工参与。
虚拟自动化辅助系统包括流水线工作室,其使得能够创建和/或注册服务,该服务使得能够由不同计算系统自动执行任务。流水线工作室包括交互式GUI,交互式GUI除了使得能够构建新服务之外,还提供对各种现有服务的访问。经由虚拟自动化辅助系统可访问的服务可以包括在虚拟自动化辅助系统上开发的那些服务。附加地,虚拟自动化辅助系统还提供即插即用架构,其中可以在虚拟自动化辅助系统上注册和访问第三方服务,从而加速自动任务执行,而不是要求用户在虚拟自动化辅助系统上重新创建服务。
在虚拟自动化辅助系统上可访问的各种服务在交互式GUI上基于用户认证被表示为用户可选择的过程块,使得特定任务的所有者或客户端可以访问特定服务并且可以不访问虚拟自动化辅助系统上的其他任务所有者的服务和/或流水线。智能ML工具提供了为来自不同域的用例构建机器学习功能的能力。在训练数据集限定了历史数据及其预期结果的情况下,可以使来自不同域的客户端登上虚拟自动化辅助系统以将其功能性训练到机器中。如果在虚拟自动化辅助系统上注册了与流水线的组成过程有关的服务,则用户可以继续构建用于自动执行任务的流水线。如果需要重新创建一个或多个服务,则将与要创建的服务有关的历史数据提供给虚拟自动化辅助系统。历史数据可以包括在服务或组成过程的之前执行(例如,手动)期间生成的数据日志。因此,历史数据可以包括被提供给组成过程的一个或多个输入以及由组成过程提供的一个或多个输出。在示例中,可以明确地标记组成过程的输入和输出以用于监督学习。历史数据可以被用来训练一个或多个ML模型。实时地,diva工具可以被用来基于针对给定客户端功能性的历史机器学习数据来预测结果。在示例中,用户可以指定用于训练的ML模型。智能ML使用若干机器学习技术来自动构建和训练学习算法,该学习算法可以识别来自文本数据的相关信息,包括例如任务请求。
在用户没有明确指定ML模型的情况下,虚拟自动化辅助系统可以继续在历史数据上训练多个ML模型。可以对如此训练的多个ML模型进行验证和评分。在示例中,可以向用户呈现多个ML模型及其相应的得分,并且可以将用户选择的模型注册到虚拟自动化辅助系统作为服务。在示例中,虚拟自动化辅助系统可以被配置成自动选择最高得分ML模型或提供最准确预测的ML模型以用于注册为服务。
与在虚拟自动化辅助系统上注册的任务的组成过程相对应的ML模型或服务被表示为相应的过程块。过程块可以是用户界面的元素,其经由提供服务的可视表示以及操纵服务的输入和输出的能力来使得用户能够操纵服务。用户可以从交互式GUI的块选择区域访问表示服务的过程块。因此,用户选择表示对应于任务的组成过程的服务的各种过程块并将其放在交互式工作空间上。过程块按照组成过程的执行顺序串联地布置,并且系列内的过程块的输入被连接到系列中的在前的过程块的输出。备选地,可以将过程块的输出连接到系列中的后续过程块的输入。因此形成串联连接的过程块的流水线并且该流水线表示该任务。交互式GUI还包括诸如播放/执行按钮的控件,以便在用户激活控件时,执行流水线并且在测试阶段期间自动执行任务。
当接收到任务请求时,可以预处理任务请求以提取诸如与任务相关的实体和实体属性值的信息。在示例中,可以基于经由其接收任务请求的通道来选择用以执行任务的流水线。例如,指定的流水线可以被配置成自动处理在特定电子邮件收件箱或特定聊天窗口中接收的输入或任务请求。实体和实体属性值作为输入被提供给流水线,流水线自动继续执行任务。可以经由在虚拟自动化辅助系统内为用户配置的一个或多个通信通道向用户提供来自任务的自动执行的结果。
如本文所述的虚拟自动化辅助系统提供了改进的服务自动化系统,其中在对应的历史数据可用的情况下,可以在自组织(ad hoc)的基础上创建服务。构建和优化ML算法通常需要详细了解基础数学和代码,以及微调算法的参数以优化供在特定过程中使用的算法的广泛实践。虚拟自动化辅助系统不需要生成和注册服务的用户具有各种ML模型的知识,诸如参数值或配置细节等。当用户将历史数据上传到虚拟自动化辅助系统时,多个ML模型被训练,并且经训练的ML模型的所选择的ML模型被注册为服务。对过程块的简单的拖放使得能够生成使包括许多组成过程的复杂任务自动化的流水线。因此,加速了自动化过程的开发,这又使得能够对其他外部系统进行开发。公开了多个示例,其中在宾馆预订系统或发票处理系统中采用虚拟自动化辅助系统使得这些系统能够在很少或没有人工干预的情况下处理任务请求。
图1是示出根据本文公开的示例的基于AI的虚拟自动化辅助系统100的框图。虚拟自动化辅助系统100包括流水线工作室102,流水线工作室102被配置成基于用户界面的应用,使得能够生成和访问在虚拟自动化辅助系统100上发布的各种服务,以用于构建一个或多个流水线1061、1062...106n(其中n是自然数)。流水线1061...106n中的每个被配置成为任务域内的任务所有者自动执行对应的任务。在示例中,虚拟自动化辅助系统100可以为各种域内的多个任务所有者或客户端托管任务,使得每个域可以具有多个任务所有者。此外,每个任务所有者可以与安全环境内的一组流水线相关联,使得只有授权用户才能访问任务所有者的流水线以用于编辑或使用目的。因此,可以理解,可以为不同的任务所有者在其相应的安全环境中针对相同的任务创建不同的流水线。出于简化的目的,假设流水线1061…106n属于单个任务所有者并且在安全环境中被托管在虚拟自动化辅助系统100上。虚拟自动化辅助系统100可以为不同的任务所有者托管多个安全环境。
待由虚拟自动化辅助系统100执行的任务可以进一步由组成过程构成。例如,在票证分配平台中,任务可以包括将客户电子邮件自动分配给特定组或客户代表以处理该问题。将客户代表分配给电子邮件的任务包括但不限于至少四个组成过程,诸如,使用NLP技术预处理客户电子邮件以标识任务所有者、实体、属性值和意图,对问题或意图进行分类,标识处理问题的组或与意图相关的组,以及将客户电子邮件分配/发送到分类的组。相应地,每个流水线1061...106n可以由多个过程块构成,其中过程块中的一个或多个过程块与组成过程有关。此外,每个过程块表示被发布到虚拟自动化辅助系统100的相应服务。虚拟自动化辅助系统100内的任务所有者可访问这些服务,以用于在其相应的安全环境中构建流水线。相应地,流水线1061包括过程块10611、10612...1061a,而流水线1062包括过程块10621、10622...1062b,类似地,106n由过程块106n1、106n2...106nx构构建,其中a、b和x也是自然数,彼此可以相等或者不相等。由过程块表示的服务包括经过训练以执行某些过程的所选择的ML模型。当任务被虚拟自动化辅助系统100标识以用于自动执行时,任务被分解为多个组成过程。可以选择虚拟自动化辅助系统100上可用的各种服务中的一个或多个,以使得能够自动执行每个组成过程。因此,虽然为了简单起见保持了组成过程和过程块/服务之间的一一对应关系,但是可以理解,这不是必需的并且可以顺序使用多于一个服务或多于一个过程块以用于执行单个组成过程。
在示例中,虚拟自动化辅助系统100中可用的服务可以包括虚拟自动化辅助系统100本地的那些服务,以便由虚拟自动化辅助系统100创建服务和使服务可用。附加地,虚拟自动化辅助系统100还可以使第三方服务可用以用于构建流水线1061...106n。例如,第三方服务可以包括基于ML的自动任务执行服务,其被创建并且可在如因特网的公共资源上免费地或收费地获得。示例可以包括但不限于基于云的服务,诸如微软AZURE、AWS、IBM WATSON等可用的服务。表示第三方服务的过程块在构建流水线1061...106n时可供选择,如本文进一步详述的。
为了在虚拟自动化辅助系统100上创建和使与组成过程相关联的服务可用,提供与服务相关联的历史数据112或使流水线工作室102可访问历史数据112。历史数据112包括在组成过程的之前运行期间收集的日志。之前的运行可以包括需要用户参与的组成过程的手动执行。历史数据112包括被输入到组成过程的实体、实体属性值和其他参数值以及在完成时由组成过程输出的值。历史数据112包括可以被存储在远程位置的大数据。历史数据的各部分可以被存储在非瞬态处理器可读存储介质中,该非瞬态处理器可读存储介质在执行虚拟自动化辅助系统100的机器的本地,诸如是数据存储装置120。例如,可以在自动运行期间收集数据,或者根据流水线1061...106n的各种任务的自动执行可以初始地在本地被存储并在合适的时间被上传到远程大数据存储装置。在任一种情况下,历史数据112都可以由虚拟自动化辅助系统100访问作为训练数据和测试数据中的一个或多个。历史数据112可以被接收作为各种格式(诸如电子表格、逗号分隔值(csv)文件、关系数据库文件等)的结构化数据。如果要访问非结构化的数据,则可以在流水线工作室102访问之前将非结构化数据转换为结构化数据。
流水线工作室102训练一个或多个ML模型152-1...152-n以用于执行如本文详述的组成过程。经训练的ML模型被发布到虚拟自动化辅助系统100,并且可用作由与虚拟自动化辅助系统100相关联的GUI中的一个GUI上的用户可选择的过程块表示的服务。使得用户能够出于各种目的进行交互的不同的GUI由虚拟自动化辅助系统100提出。GUI中的一个与流水线工作室102相关联并且包括交互式GUI 142,交互式GUI 142还包括至少一个块选择区域1422,其允许选择过程块10611...等来构建流水线1061...106n。交互式GUI 142还包括被耦合到块选择区域1422的交互式工作空间1424,其中用于构建给定流水线(诸如,流水线1061)的所选择的过程块由用户按照与将在任务的自动执行期间被执行的任务的组成过程的顺序相对应的顺序的次序来布置。在示例中,形成交互式GUI 142的部分的各种用户界面使得能够访问知识本体,以便帮助用户创建和注册服务。
当完成对一个或多个流水线1061...106n的构建时,可以通过虚拟自动化辅助系统100接收任务请求130来开始自动执行构建流水线所针对的任务。任务请求130可以由被包括在任务处理器104中的请求接收器1042经由各种模态(包括但不限于电子邮件、聊天应用、小消息服务(SMS)、语音邮件等)接收。如果任务请求130作为语音或视频输入被接收,则可以采用语音到文本应用来生成文本输入以供虚拟自动化辅助系统100处理。来自任务请求130的文本内容可以包括任务所有者、域、实体、实体属性值和用户意图中的一个或多个,其可以指示用户期望执行的任务和用户通过发出任务请求130期望从该任务获得的输出中的一个或多个。请求预处理器1044处理请求以提取其中的信息,信息包括实体、实体属性值、(多个)用户意图、任务所有者等。基于所提取的信息,流水线选择器1046选择流水线1061...106n中的至少一个以用于执行在任务请求130中指定的任务。来自自动执行的任务的任务输出150可以采取多种形式。任务输出150可以包括文本输出,诸如对任务请求130中提出的问题的响应。任务输出150可以包括对其他外部计算机系统160(诸如但不限于,解决计算机系统中的技术故障的票务平台、宾馆或旅行预订系统、账单查询)的改变。在下面讨论的一些示例用例场景中图示了不同类型的任务请求的细节以及任务输出150可以采取的各种形式。
虚拟自动化辅助系统100还包括性能监视器108,其监视跨不同域的各种流水线的性能。性能监视器108还包括报告生成器182,其生成传达虚拟自动化辅助系统100的性能统计的报告1084。例如,虚拟自动化辅助系统100可以经由对提出任务请求的用户的显式提问或隐式地经由各种因素确定由虚拟自动化辅助系统100提供的效率改进。这些因素可以包括但不限于:以完全自动的方式成功处理的任务的数目、被标记以进行人工干预的任务的数目、引起错误的任务的数目等。可以采用各种过滤器(诸如域、任务所有者、各种模态或平台(诸如所使用的电子邮件、聊天组等))的应用,以用于获得虚拟自动化辅助系统100的特定性能信息。可以采用诸如微软Azure、SCIKIT的平台和诸如Python、深度学习和基于web的脚本的技术来构建虚拟自动化辅助系统100的各种元素。
图2示出了根据本文公开的示例的流水线工作室102的框图。流水线工作室102包括模型训练器202、模型评分器204、模型选择器206和服务生成器208。如上所述,各种组成过程由过程块10611、10612...1061a和来自其他流水线的其他类似过程块表示的一个或多个服务执行。当用户最初选择用于自动执行的任务时,由用户标识任务内的各种组成过程,并且确定对应于各种组成过程的服务或者适于组成过程的功能的特定模型是否被发布或在虚拟自动化辅助系统100上可用。相应地,某些服务可以被称为模型特定的服务,用户可以为该服务指定特定的模型。用户可以从虚拟自动化辅助系统100上可访问的许多ML模型1521...152n中进行选择。ML模型1521...152n可以包括但不限于朴素贝叶斯模型、随机森林模型、KNN模型等。用户选择的ML模型可以由模型选择器206接收并且由模型训练器202在历史数据112上进行训练。历史数据112可以包括相应的数据子集2121...212c,其与要生成的每个服务有关。如前所述,数据子集2121...212c是在对应的组成过程的在前执行期间生成的。在数据子集21211...2121c中的一个上训练的用户选择的ML模型由服务生成器208在虚拟自动化辅助系统100上发布,以用于构建流水线1061。在示例中,服务生成器208可以将模型放置在对应于经训练的模型的表中,并且使通用资源定位符(URL)可用,通用资源定位符(URL)使得能够访问用于构建流水线的训练模型。
对于剩余的没有用户选择的ML模型的服务中的每个,模型训练器202在对应于该组成过程的数据集2121...212c中的一个上训练ML模型152-1...152-n中的每个。因此,由模型训练器202生成在对应的数据集上训练的多个ML模型。使用模型评分器204对多个训练模型中的每个进行评分。为了对ML模型进行评分,历史数据112的一部分可以对训练阶段隐藏或保留以用作测试数据。可以将经训练的ML模型中的每个产生的结果或预测与历史数据112中的结果进行比较,以确定由经训练的ML模型中的每个产生的预测的准确性。得分使得能够确定来自经训练的ML模型的预测是否准确以及是否存在任何错误。基于得分,模型选择器206可以被配置成自动选择最高得分的ML模型以用于在虚拟自动化辅助系统100上作为服务发布。在示例中,可以经由GUI向用户显示模型得分,然后,用户将选择经训练和评分的ML模型中的一个作为虚拟自动化辅助系统100上的服务。
当与组成过程相关联的服务在虚拟自动化辅助系统100上变得可用时,它由交互式GUI 142的块选择区域1422内的用户可选的过程块(诸如过程块10611)表示。类似地,组成过程或服务中的每个可以由块选择区域1422内的相应的过程块表示。用户可以按对应的组成过程的执行顺序将过程块布置在交互式工作空间1424上。第一过程块的(多个)输出被连接到第二过程块的一个或多个输入,而第二过程块的(多个)输出被连接到第三过程块的一个或多个输入,依此类推。因此,对应于特定域内的特定任务所有者并且表示要被自动执行的任务的流水线1061被构建并存储在虚拟自动化辅助系统100内。可以类似地生成其他流水线,但是可以注意到,虽然一些过程块对应于在虚拟自动化辅助系统100上生成的服务,但是其他过程块可以表示来自经由虚拟自动化辅助系统100可访问的第三方提供者的服务。
图3是根据本文公开的示例的任务处理器104的框图。在构建了用于自动执行任务的流水线之后,虚拟自动化辅助系统100就开始接收由流水线自动处理的任务请求,并且在很少或没有人工干预的情况下产生输出。本文详述了说明自动任务执行的用例。在请求接收器1042接收到任务请求130时,任务请求130由请求预处理器1044处理。请求预处理器1044还包括解析器302,以用于解析任务请求130或与其相关联的文本并生成令牌。另外,请求预处理器还可以包括检测各种语言的语言检测器304。在示例中,语言检测器304可以包括ML算法以读取不同的文本输入并标识所使用的语言。在示例中,诸如微软LUIS的第三方服务可以被用于语言检测器304。相应地,可以以多种语言接收任务请求130。请求预处理器1044还可以包括文本处理器306,以用于执行基于语言的功能,诸如翻译、拼写检查、词性(POS)标记等。文本处理器306的输出可以由实体提取器308访问。实体提取器308可以包括采用命名实体识别(NER)技术的经训练的ML模型(未示出)。因此,在从文本处理器306接收到文本流之后,实体提取器308可以从文本流中确定映射到合适的实体(诸如但不限于人、钱、地点、日期、时间、特定短语或单词)的项目或令牌。实体还可以包括由请求预处理器1044作为任务信息310输出的任务所有者、域和任务特定数据(诸如特定名称、地点、日期等)。通过说明而非限制,任务信息310可以作为Java脚本对象表示法(JSON)或csv格式的实体列表被输出。
任务信息310由流水线选择器1046采用以用于标识意图并使用该意图来选择用于自动执行任务的合适的流水线。意图标识符312将任务信息310馈送到AI模型(诸如但不限于支持向量机(SVM)或条件随机字段(CRF))以用于意图标识。在示例中,可以生成经评分的意图列表,并且将具有最高得分的意图标识为对应于任务请求130的意图。所标识的意图可以由流水线匹配器314用来选择流水线1061...106n中的一个以用于自动执行任务。如前所述,允许用户之间进行信息交换的电子邮件、聊天、即时消息(IM)或其他在线协作工具中的一个或多个可以被配置成接收任务请求130。在示例中,诸如电子邮件收件箱或者聊天窗口的通道可以专门用于流水线,以便在该通道上接收的任务请求被自动定向到该特定流水线。
图4是详细描述根据本文公开的示例的在虚拟自动化辅助系统100上提供服务的方法的流程图400。当虚拟自动化辅助系统100配备有服务时,在虚拟自动化辅助系统100上训练和注册一个或多个ML算法,使得与服务相关联的过程被自动化并且可以在很少或没有人工干预的情况下被执行。诸如由虚拟自动化辅助系统100提出的服务配置GUI(其细节将在本文中进一步讨论)的一个或多个GUI使得用户能够提供关于服务和/或与其相关联的组成过程的细节。方法开始于402,其中接收生成服务的请求。在示例中,生成服务的请求可以与要在虚拟自动化辅助系统100上生成流水线的任务的组成过程相关联,其中流水线将与特定任务所有者和/或域相关联。在402处,任务所有者、域、专用通道(通过其接收消息)的细节被包括在请求中。在404处,虚拟自动化辅助系统100访问与要生成的服务相关的历史数据112。在示例中,服务配置屏幕使用户能够以例如csv格式上传历史数据112,其中用户可以进一步指定与特征有关的列以及与目标或从组成过程或服务被预期的输出有关的(多个)列。历史数据112可以包括输入参数值和在之前手动执行服务期间产生的输出结果。用户还可以指定要用于相应的列的学习预处理实用程序。从任务的之前历史开始,使用编码器和向量化器被认为是预处理实用程序。
在406处,确定服务是否对应于模型特定的组成过程,其中由用户指定ML模型。如果在406处确定用户指定了模型,则方法移动到420,其中选择指定的模型。在示例中,可以在注册的算法表中指定可访问以供虚拟自动化辅助系统100使用的ML模型或算法,该注册的算法表可以被存储在例如数据存储装置120上。在示例中,用户可以选择经由下拉框选择特定算法并且所选择的算法的可以被录入到注册的预处理算法表中。在422处,在历史数据112上训练所选择的模型或算法。训练可以包括各种技术,诸如但不限于监督学习、无监督学习和强化学习。分类类型算法(诸如但不限于支持向量机(SVM)、随机森林、朴素贝叶斯、K-最近邻(KNN)、降维算法、感知器、梯度增强、Ada提升、集成方法等)可以采用监督学习技术。诸如聚类算法类型的算法可以使用无监督学习技术,而诸如决策树的算法可以使用强化学习技术。模型文件可以被保存在经训练的模型的表中,具有事务ID作为名称。每当模型训练器202接收到训练请求时,模型的表中可以有唯一的条目。在示例中,所有训练配置可以被保存为JSON格式的元数据,并且可以在训练事务表中创建新条目,该训练事务表包含唯一事务Id、用户ID、输入csv数据集、JSON配置、训练模式、状态等。在416处,在虚拟自动化辅助系统100上将所选择的经训练的ML模型注册为服务。
如果在406处确定与要生成的服务相关联的组成过程不对应于模型特定的组成过程,或者如果确定在402处接收的用户请求中未指定模型,则在408处,基于例如在注册的算法表内指定的算法的多个模型可以在历史数据112上进行训练。因此,在408处,在历史数据112上训练多个ML模型。可以在步骤408处采用如本文详述的各种训练技术和不同的ML模型。在410处,可以使用例如测试数据来验证经训练的ML模型。在412处,为经训练的模型中的每个获得模型得分。例如,可以基于比较(例如,由各种ML模型根据测试数据生成的输出或预测与已经在测试数据内的输出进行相似度比较)来估计模型得分。在414处,选择经训练的模型中的一个以用于在虚拟自动化辅助系统100上注册为服务。在示例中,模型选择器206可以被配置成自动选择其得分指示预测和测试数据内的输出之间最接近匹配的模型。在示例中,可以向用户显示各种模型及其相应的模型得分,并且在414处接收用户的所选择的模型以用于在虚拟自动化辅助系统100上注册为服务。在416处,在虚拟自动化辅助系统100上将在414处选择的模型注册为服务。当由用户选择时,虚拟自动化辅助系统100提供另外的用户界面来注册模型。无论是自动选择还是用户选择,在414处选择的模型都从经训练的模型的表移动到注册的模型的表,由此现在可以采用注册的模型以用于生成在任务的自动执行中所使用的预测或推荐。在416处还捕获各种模型细节,包括可以被用作针对所选择的模型的唯一模型id的名称的事务id。
图5是详细描述根据示例构建流水线的方法的流程图。方法开始于502,其中向用户提供交互式GUI 142以用于构建使得能够自动执行任务的流水线。用户分析任务并确定是否可以经由在虚拟自动化辅助系统100上注册的服务来自动执行构成任务的组成过程。由于在虚拟自动化辅助系统100上注册的服务由相应的过程块表示,因此用户可以搜索特定的过程块,或浏览虚拟自动化辅助系统100上的服务列表,以标识用于自动执行该组成过程的服务是否在虚拟自动化辅助系统100上注册。在504处,对应于组成过程的过程块由用户标识,并且接收将过程块从块选择区域1422拖放到交互式工作空间1424的用户输入,并且在506处,根据用户输入更新交互式GUI 142。在508处,经由用户对在交互式工作空间1424上的过程块的布置,接收与组成过程的执行顺序相关的另外的用户输入。更具体地,经由连接连续的过程块来设置执行顺序,使得过程块的系列中的特定过程块的(多个)输出被映射到该系列中的后续过程块的(多个)输入,而该过程块的输入被映射到在前的过程块的(多个)输出。在510处相应地映射过程块的输入和输出。当然,可以理解,过程块不仅可以以一对一映射布置,而且可以以多对一映射、多对多映射和一对多映射布置。在根据需要布置过程块之后,用户就可以在测试或实验阶段期间激活交互式GUI 142上的播放/执行控件,以便确定流水线是否按预期产生输出。相应地,在512处,接收对交互式GUI 142上的播放/执行控件的用户激活,并自动执行由流水线表示的任务。在验证流水线的工作时,可以在514处将流水线发布到虚拟自动化辅助系统100以供任务所有者在自动执行任务中使用。在示例中,流水线可以特定于特定域内的任务所有者或客户端,使得只有授权用户才有权编辑或运行流水线。
图6是详细描述根据本文公开的示例的使用流水线自动执行任务的方法的流程图600。方法开始于602,其中接收用于自动执行任务的任务请求130。形成流水线的经训练的模型现在可以被用以预测来自诸如电子邮件界面或聊天界面的界面,或来自诸如企业资源计划(ERP)系统等的外部应用的针对给定输入的输出。虚拟自动化辅助系统100提供预测作为服务,并且可以利用经训练的模型的id和输入数据调用服务,以使该预测由所选择的流水线输出。在604处,任务请求130经由例如形成任务的组成过程中的一个的文本预处理服务进行预处理。预处理服务的输出包括作为自由文本或JSON或csv格式的文本输出。预处理服务可以包括但不限于特殊字符清理(即,去除诸如#、?、\\等特殊字符),去除数字、日期、电子邮件ID、时间戳、免责声明、停止词等。另外,还可以在604处执行诸如POS确定和令牌化的语言处理任务。在606处,例如经由调用在虚拟自动化辅助系统100上注册的实体提取服务来提取任务请求130中的实体。因此,在步骤604处获得的文本流由实体提取服务分析,以确定文本中映射到合适的实体的项目,诸如但不限于来自解析的文本或令牌的人、钱、地点、日期、时间、特定短语或关键词。在608处,可以调用意图预测服务以确定任务请求130中的意图。在示例中,可以采用诸如微软的语言理解(LUIS)和/或CRF映射的第三方服务来进行意图预测。在示例中,可以利用对应的得分产生具有可能的意图的列表,并且可以在608处自动或手动确定意图作为对应于任务请求130的意图。基于该意图,在610处选择流水线并且在612处,并且采用所选择的流水线以用于自动执行任务。在示例中,自动执行任务可以涉及利用在任务请求130中接收的输入数据产生预测。
图7A示出了根据一些示例的新服务用户界面(UI)700,其使得能够在虚拟自动化辅助系统100上创建新服务。检查外部选项702指示该服务是从外部第三方提供者获得的。例如,当使用如LUIS的服务时,可以选择外部选项702。下一个选项是模型选项704,当预先确定用于生成服务的ML模型时,点击该模型选项704。当选择模型选项704时,将要求用户录入模型的细节。使用服务细节区域706中的各种UI元素录入服务的各种属性,诸如但不限于服务名称、输入和输出数据格式、可以被用于访问服务的服务URL、服务类型、客户端或任务所有者ID等。诸如外部服务的一些服务可能需要用户认证,这需要用户提供用户名和密码细节等。
图7B示出了根据本文描述的示例的用户界面750,其显示了在虚拟自动化辅助系统100上生成服务期间由各种经训练的ML模型或算法获得的得分。各种ML模型在测试数据上进行训练,使用上传按钮752上传测试数据。在被训练的诸如朴素贝叶斯、随机森林、KNN和其他模型的不同的ML模型中,朴素贝叶斯模型具有0.745的最高得分,其中1分是满分。因此,选择朴素贝叶斯模型以用于生成服务。
图8示出了根据本文公开的示例的使得能够在虚拟自动化辅助系统100上生成新流水线的新流水线UI 800。可以经由列出针对任务所有者的现有流水线的界面802访问新流水线UI 800。创建新流水线对话框804包括用以接收针对流水线的唯一id 806(可以被用来通过各种通道访问流水线)、流水线名称808、客户端名称810、通道类型812(指定向流水线提供输入或任务请求的通道的类型)的UI元素。在录入新流水线的详细信息之后,用户可以点击保存和继续按钮814以便生成新流水线。
图9示出了根据本文公开的示例的与可以被用来生成服务和流水线的流水线工作室102相关联的交互式GUI 142的示例。流水线工作室102提供交互式、可视的工作空间以容易地构建、测试和迭代预测分析模型。用户可以将由过程块902、904等表示的数据集和分析模块拖放到诸如交互式工作空间1424的交互式画布上,将它们连接在一起以形成在流水线工作室102中运行的实验。为了迭代模型设计,可以编辑实验,并且如果需要,可以保存副本,以便再次运行。当流水线准备就绪时,可以将训练实验转换为预测实验,然后在虚拟自动化辅助系统100上作为web服务发布,使得预测模型可以由虚拟自动化辅助系统100的其他用户访问。
交互式GUI 142包括块选择区域1422和交互式工作空间1424。块选择区域1422示出或显示了用户可选择的过程块902、904、906和908的一些示例,其表示在虚拟自动化辅助系统100上的各种服务。过程块中的每个包括指示过程块的功能的标题9002、指示过程块的类型的图标9004,以及分别用于从由过程块表示的组成过程接收数据并向其输出数据的输入端口9006和输出端口9008。使各种类型的过程块在虚拟自动化辅助系统100上可用,诸如但不限于表示使一个或多个组成过程自动化的服务的过程块、实施特定操作的操作过程块等。
过程块902、904、906和908的不同组合可以被用来构建各种流水线。另外,诸如合并运算器924的操作块也可以被包括在块选择区域1422中,其使得能够对来自不同块的各种输出实施诸如“合并”操作的某些操作。可以在流水线工作室102的编程内将合并操作定义为例如逻辑合并或数学运算中的一个或多个。如图9中所示,来自块选择区域1422的过程块被用户拖放到交互式工作空间1424上,以便生成流水线。通过说明而非限制,图示了生成流水线以从电子邮件中提取信息并做出使得能够创建票证的预测。流水线900包括用以从电子邮件中提取信息的过程块912、用以对问题进行分类的过程块914、用以利用处理问题的组对问题进行分类的过程块916、用以提供预测和处理类似问题的过程块918和过程块922。过程块以有序的方式连接,其中经由连接器942连接过程块的输入和输出。
使用合并块924来组合来自过程块914-922的各种输出,并且将来自合并块924的输出提供给创建票证块926的输入,创建票证块926生成与电子邮件或任务请求有关的票证。交互式GUI 142还包括控制面板928,控制面板928包括播放按钮932、前进按钮934、后退按钮936和保存按钮938。当然,可以在控制面板928中包括更多或更少的按钮。播放按钮932使得能够在测试或实验阶段期间自动执行由流水线900表示的任务。保存按钮938使得能够通过自动生成票证来保存流水线900以处理将来的请求。
可以理解,交互式GUI 142的视觉特征和交互式GUI 142的元素在本文中仅通过说明来描述,并且不是限制性的,并且在根据本文公开的示例的交互式GUI 142内可以包括更多或更少数目的元素。
在各种示例中,虚拟自动化辅助系统100可以被用作用于ML认知应用开发和运行时的工具,以使得能够更容易地实现认知用例并且提供认知ML服务的共同设置。图10示出了根据本文公开的示例的使得能够映射过程块的(多个)输入和(多个)输出的映射UI1000。在示例中,可以例如经由点击连接器942或经由点击过程块的输入和输出来访问映射UI 1000。参考图9中所示的块,诸如电子邮件提取块912的源块1002的输出被映射到诸如预测块918的目标块1004的输入。电子邮件提取块912的输出可以包括从电子邮件中提取的数据,诸如但不限于‘来自’字符串、‘到’字符串、‘日期’字符串、‘抄送’字符串、‘主题’字符串、‘主体’字符串和‘主题_体’字符串1006。主题_主体字符串1006被连接到预测块918的预测文本输入1008。映射的总结1010示出了被映射到目标块的输入的源块的输出字段的细节。
图11A示出了根据本文公开的示例的接收电子邮件请求1100的用例场景。电子邮件请求1100与在新德里预订6月29日和6月30日的房间,预算为$200.00有关。
图11B示出了用户界面1150,其示出了从电子邮件请求1100中提取的信息。客户端名称1152、输入源名称1154、流水线名称1156和域名1158被示出。输入数据1162包括电子邮件请求1100的主体,而输出数据1164包括从电子邮件请求1100自动提取的各种属性的名称-值的对。用户可以激活运行按钮1166以使用在测试或实验阶段期间由流水线名称1156指定的流水线来自动执行预订房间的任务。根据示例,自动处理由流水线名称1156标识的用于对该流水线的宾馆预订的后续电子邮件请求,并且根据电子邮件中的规范生成宾馆预订请求并预订房间。在示例中,输出数据1164可以被传送到诸如宾馆预订应用的外部系统,以在指定预算内预订指定日期的房间。在房间不可用等情况下的进一步的错误处理例程或异常处理可以通过使用虚拟自动化辅助系统100上的合适的服务或通过外部宾馆预订系统来处理。在示例中,流水线可以处理所有所需的任务,从而减少对外部系统的需求。
图12示出了根据本文公开的示例的接收任务请求1202的基于聊天的UI 1200。任务请求1202涉及关于被包括在任务请求1202中的两个发票号的查询。当由对应的流水线处理时,例如从外部票据处理系统提取发票号并获得它们的状态。提供从票据处理系统获得的状态作为对请求者的响应1204。
图13示出了根据本文公开的示例的由性能监视器108中所包括的报告生成器182生成的报告1300。报告1300涉及电子邮件通道在处理通过与票证相关联的流水线经由电子邮件接收的请求方面的效率。该报告传达了虚拟自动化辅助系统100总共接收了61封电子邮件,其中58封电子邮件由AI预测和分配,或者由虚拟自动化辅助系统100上的对应的流水线自动执行。相应地,创建了总共58个‘现在服务’的票证。总体置信度得分为82%,并且没有任何电子邮件被分配成用于人为干预,这意味着流水线能够自动处理所有请求而无需用户输入。根据本文公开的示例,可以为流水线中的每个生成和察看类似的报告。
图14图示了可以被用来实现虚拟自动化辅助系统100的计算机系统1400。更具体地,可以被用来生成或访问来自虚拟自动化辅助系统100的数据的计算机器(诸如台式机、膝上型电脑、智能电话、平板电脑和可穿戴设备)可以具有计算机系统1400的结构。计算机系统1400可以包括未示出的附加组件,并且可以去除和/或修改所描述的一些组件。在另一示例中,计算机系统1400可以位于外部云平台(诸如亚马逊网络服务),或内部企业云计算集群,或组织计算资源等上。
计算机系统1400包括(多个)处理器1402(诸如中央处理单元、ASIC或其他类型的处理电路)、输入/输出设备1412(诸如显示器、鼠标键盘等)、网络接口1404(诸如局域网(LAN)、无线802.11x LAN、3G或4G移动WAN或WiMax WAN),以及计算机可读介质1406。这些组件中的每个可以可操作地被耦合到总线1408。计算机可读介质1406可以是参与向(多个)处理器1402提供指令以供执行的任何合适的介质。例如,计算机可读介质1406可以是非瞬态或非易失性介质(诸如磁盘或固态非易失性存储器)或易失性介质(诸如RAM)。被存储在计算机可读介质1406上的指令或模块可以包括由(多个)处理器1402执行以执行虚拟自动化辅助系统100的方法和功能的机器可读指令1464。
虚拟自动化辅助系统100可以被实现成被存储在非瞬态计算机可读介质上并由一个或多个处理器1402执行的软件。例如,计算机可读介质1406可以存储操作系统1462(诸如MAC OS、MS WINDOWS、UNIX或LINUX)以及用于虚拟自动化辅助系统100的代码1464。操作系统1462可以是多用户、多进程、多任务、多线程、实时等的。例如,在运行时期间,操作系统1462运行,并且用于虚拟自动化辅助系统100的代码由(多个)处理器1402执行。
计算机系统1400可以包括数据存储装置1410,其可以包括非易失性数据存储装置。数据存储装置1410存储由虚拟自动化辅助系统100使用的任何数据。数据存储装置1410可以被用来存储所生成的各种模型、模型得分、各种流水线的输入和输出、报告等。
网络接口1404例如经由LAN将计算机系统1400连接到内部系统。而且,网络接口1404可以将计算机系统1400连接到因特网。例如,计算机系统1400可以经由网络接口1404连接到web浏览器和其他外部应用和系统。
本文描述和图示的是示例及其一些变型。本文使用的术语、描述和附图仅通过说明来阐述,并不意在限制。在本主题内容的精神和范围内可以有许多变型,本主题内容旨在由以下权利要求及其等同物限定。

Claims (20)

1.一种基于人工智能AI的虚拟自动化辅助系统,包括:
至少一个处理器;
存储机器可读指令的非瞬态处理器可读介质,所述机器可读指令使所述至少一个处理器:
接收关于将被自动执行的任务的信息,所述信息包括所述任务中所包括的一个或多个组成过程;
确定所述信息是否包括一个或多个机器学习ML模型的规范,所述一个或多个机器学习ML模型将被训练以用于所述组成过程的自动执行;
在所述机器学习ML模型中的至少一个机器学习模型被指定用于所述自动执行的情况下,对于所述一个或多个组成过程中的每个模型特定的组成过程:
将对应于指定的所述至少一个ML模型的经训练的ML模型注册为所述自动化辅助系统上的相应的服务,以用于所述模型特定的组成过程的所述自动执行;
在所述信息未指定所述机器学习ML模型中的至少一个机器学习模型以用于所述自动执行的情况下,对于所述一个或多个组成过程中的每个剩余组成过程:
将来自所述一个或多个ML模型的所选择的经训练的模型注册为所述自动化辅助系统上的相应的服务,以用于所述剩余组成过程的所述自动执行;
经由交互式图形用户界面GUI提供对与所述组成过程相对应的所述相应的服务的访问;
经由所述交互式GUI,支持表示所述任务的流水线的构建,所述流水线包括表示所述组成过程中的每个组成过程的所述服务,所述组成过程按照支持所述任务的所述自动执行的所述组成过程的执行顺序来布置;
接收与所述任务相关的输入;以及
基于所述输入,自动执行所述任务。
2.根据权利要求1所述的虚拟自动化辅助系统,其中注册经训练的ML模型的所述指令还包括使所述处理器执行以下操作的指令:
访问与所述任务相关的历史数据,所述历史数据包括作为所述任务的输入而被提供的参数值和在所述任务的所述自动执行时被获得的输出值。
3.根据权利要求2所述的虚拟自动化辅助系统,其中所述非瞬态处理器可读介质还包括使所述处理器执行以下操作的指令:
在所述历史数据上训练所述一个或多个ML模型中的每个ML模型,以用于所述剩余组成过程中的每个剩余组成过程的自动执行;以及
对在所述历史数据上被训练的所述ML模型中的每个ML模型进行评分,以用于所述剩余组成过程的所述自动执行。
4.根据权利要求3所述的虚拟自动化辅助系统,其中用于将所述所选择的经训练的模型注册为相应的服务的指令还包括使所述处理器执行以下操作的指令:
显示在所述历史数据上被训练的所述ML模型中的每个ML模型的得分;以及
接收用户输入,所述用户输入选择所述ML模型中的一个ML模型作为所述所选择的经训练的模型。
5.根据权利要求3所述的虚拟自动化辅助系统,其中用于将所述所选择的经训练的模型注册为相应的服务的指令还包括使所述处理器执行以下操作的指令:
从在所述历史数据上被训练的所述ML模型中自动选择最高得分模型,以用作所述所选择的经训练的模型。
6.根据权利要求1所述的虚拟自动化辅助系统,其中用于将所述所选择的经训练的模型注册为相应的服务的指令还包括使所述处理器执行以下操作的指令:
将所述所选择的经训练的模型从经训练的模型的表移动到注册的模型的表;以及
经由相应的通用资源定位符URL提供对所述自动化辅助系统上的所述相应的服务的访问。
7.根据权利要求1所述的虚拟自动化辅助系统,其中所述一个或多个组成过程包括至少一个用户可选择的预处理技术。
8.根据权利要求1所述的虚拟自动化辅助系统,其中用于经由所述交互式GUI提供对所述相应的服务的访问的所述指令还包括使所述处理器执行以下操作的指令:
支持分别对应于所述交互式GUI上的所述服务中的每个服务的用户可选择的过程块的显示。
9.根据权利要求8所述的虚拟自动化辅助系统,其中支持所述流水线的构建的所述指令还包括使所述处理器执行以下操作的指令:
接收与所述流水线的结构相关的用户输入,所述结构包括按照所述组成过程的执行顺序的对所述用户可选择的过程块的布置,所述用户可选择的过程块与所述服务相对应。
10.根据权利要求9所述的虚拟自动化辅助系统,其中用于支持所述流水线的所述构建的所述指令还包括使所述处理器执行以下操作的指令:
接收另外的用户输入,所述另外的用户输入在所述用户可选择的过程块的所述布置中,将在前的用户可选择的过程块的输出连接到后续的用户可选择的过程块的对应输入。
11.根据权利要求1所述的虚拟自动化辅助系统,其中用于接收与所述任务相关的所述输入的所述指令还包括使所述处理器执行以下操作的指令:
经由电子邮件、聊天、小消息服务和信使服务中的一个接收与所述任务相关的所述输入。
12.根据权利要求1所述的虚拟自动化辅助系统,其中所述一个或多个ML模型包括条件随机场CRF、朴素贝叶斯模型、随机森林模型和K最近邻KNN模型。
13.根据权利要求1所述的虚拟自动化辅助系统,其中所述输入包括支持从多个流水线中选择所述流水线的信息,所述多个流水线中的每个流水线被配置成用于相应的任务的自动执行。
14.根据权利要求1所述的虚拟自动化辅助系统,其中所述任务包括票证生成和分配,并且所述组成过程包括:从所述用户输入提取信息,基于所提取的所述信息对所述用户输入进行分类,以及分配资源以处理在所述用户输入中被指定的一个或多个问题。
15.一种用于使用机器学习ML模型自动执行任务的处理器可执行方法,包括:
访问与包括一个或多个组成过程的任务相关的历史数据;
在所述历史数据上训练所述ML模型中的一个或多个ML模型,以用于所述组成过程的自动执行;
利用相应的通用资源定位符URL将经训练的所述模型作为web服务发布;
经由所述URL提供对所述服务的访问,所述服务被表示为在交互式图形用户界面GUI上的相应的过程块;
接收构建表示所述任务的流水线的用户输入,所述用户输入引起在所述交互式GUI的交互式工作空间上对所述过程块的选择和布置,所述布置包括将每个过程块的输入连接到在前的过程块的输出,以及将所述过程块的所述输出连接到后续块的输入;
接收与任务相关的用户输入以用于所述任务的自动执行;
从所述任务相关的用户输入中提取与所述任务相关的信息,所提取的所述信息包括与所述任务相关联的所有者和域;
从与所述所有者和所述域相关联的多个流水线中标识用于所述任务的所述自动执行的所述流水线,所述流水线包括分别对应于所述组成过程的所述服务;
提供所提取的所述信息以用于所述流水线的所述任务的所述自动执行;以及
将所述任务的所述自动执行的输出传送给用户。
16.根据权利要求15所述的方法,其中访问所述历史数据还包括:
访问所述历史数据,所述历史数据包括作为所述任务的输入被提供的之前的参数值和从之前的任务执行获得的输出值。
17.根据权利要求15所述的方法,其中接收构建所述流水线的用户输入还包括:
经由拖放操作接收所述用户输入,所述拖放操作从所述交互式GUI的块选择区域拖动所述过程块并将所述过程块放到所述交互式工作空间上。
18.根据权利要求15所述的方法,其中接收任务相关的输入还包括:
经由电子邮件、聊天消息和小消息服务SMS消息中的一个接收所述任务相关的输入中的文本内容,其中所述文本内容为非英语语言,并且所述一个或多个过程中的至少一个过程包括所述非英语语言到英语的自动翻译。
19.一种包括机器可读指令的非瞬态计算机可读存储介质,所述机器可读指令使处理器:
接收关于将被自动执行的任务的信息,所述信息包括所述任务中所包括的一个或多个组成过程;
确定所述信息是否包括一个或多个机器学习ML模型的规范,所述一个或多个机器学习ML模型将被训练以用于所述组成过程的自动执行;
在所述机器学习ML模型中的至少一个机器学习模型被指定用于所述自动执行的情况下,对于所述一个或多个组成过程中的每个模型特定的组成过程:
将对应于所述至少一个ML模型的经训练的ML模型注册为相应的服务,所述相应的服务支持所述模型特定的组成过程的所述自动执行;
在所述信息未指定所述机器学习ML模型中的至少一个机器学习模型以用于所述自动执行的情况下,对于所述一个或多个组成过程中的每个剩余组成过程:
将来自所述一个或多个ML模型的所选择的经训练的模型注册为相应的服务,以用于所述剩余组成过程的所述自动执行;
经由交互式图形用户界面GUI提供对与所述组成过程相对应的所述相应的服务的访问;
经由所述交互式GUI,接收与表示所述任务的流水线相关的信息,所述流水线包括表示所述组成过程中的每个组成过程的所述服务,所述组成过程按照支持所述任务的所述自动执行的所述组成过程的执行顺序来布置;
接收与所述任务相关的输入;以及
基于所述输入,自动执行所述任务。
20.根据权利要求19所述的非瞬态计算机可读存储介质,其中用以接收与所述流水线相关的信息的所述指令还包括:
经由所述交互式GUI的拖放操作进行接收,所述拖放操作从所述交互式GUI的块选择区域拖动表示所述服务的过程块并将所述过程块放到交互式工作空间区域上。
CN201910510626.XA 2018-06-14 2019-06-13 基于人工智能的虚拟自动化辅助 Active CN110610240B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/008,761 US10725827B2 (en) 2018-06-14 2018-06-14 Artificial intelligence based virtual automated assistance
US16/008,761 2018-06-14

Publications (2)

Publication Number Publication Date
CN110610240A CN110610240A (zh) 2019-12-24
CN110610240B true CN110610240B (zh) 2023-03-31

Family

ID=68839280

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910510626.XA Active CN110610240B (zh) 2018-06-14 2019-06-13 基于人工智能的虚拟自动化辅助

Country Status (2)

Country Link
US (1) US10725827B2 (zh)
CN (1) CN110610240B (zh)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10459892B2 (en) 2014-04-23 2019-10-29 Qumulo, Inc. Filesystem hierarchical aggregate metrics
US10095729B2 (en) 2016-12-09 2018-10-09 Qumulo, Inc. Managing storage quotas in a shared storage system
US11360936B2 (en) 2018-06-08 2022-06-14 Qumulo, Inc. Managing per object snapshot coverage in filesystems
US10534758B1 (en) 2018-12-20 2020-01-14 Qumulo, Inc. File system cache tiers
BR112021010468A2 (pt) * 2018-12-31 2021-08-24 Intel Corporation Sistemas de segurança que empregam inteligência artificial
US11461672B2 (en) * 2019-02-08 2022-10-04 International Business Machines Corporation Plug-and-ingest framework for question answering systems
US11734602B2 (en) * 2019-10-21 2023-08-22 International Business Machines Corporation Methods and systems for automated feature generation utilizing formula semantification
CN112070416B (zh) * 2019-12-31 2024-04-16 北京来也网络科技有限公司 基于ai的rpa流程的生成方法、装置、设备及介质
CN112070487B (zh) * 2019-12-31 2024-04-12 北京来也网络科技有限公司 基于ai的rpa流程的生成方法、装置、设备及介质
US10860372B1 (en) * 2020-01-24 2020-12-08 Qumulo, Inc. Managing throughput fairness and quality of service in file systems
US10795796B1 (en) 2020-01-24 2020-10-06 Qumulo, Inc. Predictive performance analysis for file systems
US11151001B2 (en) 2020-01-28 2021-10-19 Qumulo, Inc. Recovery checkpoints for distributed file systems
US11734493B2 (en) 2020-02-28 2023-08-22 Torch Research Llc Enhanced data orchestration with pre-trained machine learning models
CN111695443B (zh) * 2020-05-21 2023-01-24 平安科技(深圳)有限公司 智能交通人工智能开放平台、方法、介质及电子设备
US11334833B2 (en) 2020-05-22 2022-05-17 At&T Intellectual Property I, L.P. Determining propensities of entities with regard to behaviors
US11461223B2 (en) 2020-06-09 2022-10-04 Methodics, Inc. Efficient computing hardware and software component design testing through test fragmentation and isolated execution within a discrete computing environment
US11669439B2 (en) * 2020-06-09 2023-06-06 Methodics, Inc. Computing hardware and software design testing auditability, including for critical control systems, functional safety, and autonomous vehicle component certification
US11688111B2 (en) 2020-07-29 2023-06-27 International Business Machines Corporation Visualization of a model selection process in an automated model selection system
US11620582B2 (en) 2020-07-29 2023-04-04 International Business Machines Corporation Automated machine learning pipeline generation
US20220066800A1 (en) * 2020-08-28 2022-03-03 Jpmorgan Chase Bank, N.A. System and method for providing a virtual productivity assistant
US11693837B2 (en) * 2020-09-18 2023-07-04 Databricks, Inc. Model ML registry and model serving
US11775481B2 (en) 2020-09-30 2023-10-03 Qumulo, Inc. User interfaces for managing distributed file systems
EP3982224A1 (en) * 2020-10-07 2022-04-13 ABB Schweiz AG Data extraction in industrial automation systems
US11348035B2 (en) * 2020-10-27 2022-05-31 Paypal, Inc. Shared prediction engine for machine learning model deployment
US20220188660A1 (en) * 2020-12-10 2022-06-16 Coupang Corp. Systems and methods for processing data for storing in a feature store and for use in machine learning
US11157458B1 (en) 2021-01-28 2021-10-26 Qumulo, Inc. Replicating files in distributed file systems using object-based data storage
US11461241B2 (en) 2021-03-03 2022-10-04 Qumulo, Inc. Storage tier management for file systems
US11132126B1 (en) 2021-03-16 2021-09-28 Qumulo, Inc. Backup services for distributed file systems in cloud computing environments
US11567660B2 (en) 2021-03-16 2023-01-31 Qumulo, Inc. Managing cloud storage for distributed file systems
US20220308737A1 (en) * 2021-03-23 2022-09-29 Rockwell Automation Technologies, Inc. Defining an action on an external application based on a machine learning model prediction from within a data pipeline
US11669255B2 (en) 2021-06-30 2023-06-06 Qumulo, Inc. Distributed resource caching by reallocation of storage caching using tokens and agents with non-depleted cache allocations
US11838567B2 (en) 2021-07-23 2023-12-05 Torch Research, Llc Automated dynamic data extraction, distillation, and enhancement
US11294604B1 (en) 2021-10-22 2022-04-05 Qumulo, Inc. Serverless disk drives based on cloud storage
US11354273B1 (en) 2021-11-18 2022-06-07 Qumulo, Inc. Managing usable storage space in distributed file systems
WO2023087234A1 (en) * 2021-11-19 2023-05-25 Intel Corporation Artificial intelligence (ai) -assisted context-aware pipeline creation
US11599508B1 (en) 2022-01-31 2023-03-07 Qumulo, Inc. Integrating distributed file systems with object stores
US11842285B2 (en) 2022-03-28 2023-12-12 Torch Research, Llc Graph database implemented knowledge mesh
US11722150B1 (en) 2022-09-28 2023-08-08 Qumulo, Inc. Error resistant write-ahead log
US11729269B1 (en) 2022-10-26 2023-08-15 Qumulo, Inc. Bandwidth management in distributed file systems
US11934660B1 (en) 2023-11-07 2024-03-19 Qumulo, Inc. Tiered data storage with ephemeral and persistent tiers
US11921677B1 (en) 2023-11-07 2024-03-05 Qumulo, Inc. Sharing namespaces across file system clusters

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IN2014MU00990A (zh) * 2014-03-24 2015-10-02 Tata Consultancy Services Ltd
US20170337518A1 (en) * 2016-05-23 2017-11-23 Facebook, Inc. Systems and methods to identify resumes for job pipelines based on scoring algorithms
US10402740B2 (en) * 2016-07-29 2019-09-03 Sap Se Natural interactive user interface using artificial intelligence and freeform input
US20180130024A1 (en) * 2016-11-08 2018-05-10 Facebook, Inc. Systems and methods to identify resumes based on staged machine learning models
US11615326B2 (en) * 2017-03-05 2023-03-28 Cyberint Technologies Ltd. Digital MDR (managed detection and response) analysis
US20190362222A1 (en) * 2018-05-22 2019-11-28 Adobe Inc. Generating new machine learning models based on combinations of historical feature-extraction rules and historical machine-learning models

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种基于人工智能的GUI测试用例自动生成方法;赵霞等;《中国科技信息》;20080415(第08期);全文 *

Also Published As

Publication number Publication date
US10725827B2 (en) 2020-07-28
US20190384640A1 (en) 2019-12-19
CN110610240A (zh) 2019-12-24

Similar Documents

Publication Publication Date Title
CN110610240B (zh) 基于人工智能的虚拟自动化辅助
US10839404B2 (en) Intelligent, interactive, and self-learning robotic process automation system
US10361975B2 (en) Messaging bot selection in multi-bot chat sessions
US11188297B2 (en) Automatic spoken dialogue script discovery
US20200097847A1 (en) Hyperparameter tuning using visual analytics in a data science platform
US11238409B2 (en) Techniques for extraction and valuation of proficiencies for gap detection and remediation
US8356046B2 (en) Context-based user interface, search, and navigation
CN113728341A (zh) 对机器人系统的性能的洞察
US11093242B2 (en) Automatically mapping data while designing process flows
WO2021150591A1 (en) System, apparatus and methods for providing an intent suggestion to a user in a text-based conversational experience with user feedback
US11295251B2 (en) Intelligent opportunity recommendation
US20220335223A1 (en) Automated generation of chatbot
CN108292383B (zh) 与通信相关联的任务的自动提取
US20200226479A1 (en) Usability data analysis platform
US11082561B2 (en) System and method for providing contextual assistance for contact center applications
US20180129735A1 (en) Generation of support data records using natural language processing
US20190065259A1 (en) Service request based application feature activation
US20220303301A1 (en) Reducing project failure probability through generation, evaluation, and/or dependency structuring of a critical event object
CN116490879A (zh) 用于神经网络中过度预测的方法和系统
JP2023055215A (ja) ロボティックプロセスオートメーションのためのセマンティック人工知能を使用したソースおよびターゲット間の自動データ転送
US20150363191A1 (en) Configuration-based processing of requests by conditional execution of software code to render regions in a display
JP2023538923A (ja) テキスト分類についての説明を与えるための技術
EP3834079A1 (en) Multi-question multi-answer configuration
US11797770B2 (en) Self-improving document classification and splitting for document processing in robotic process automation
US20220180285A1 (en) Multi-Computer Processing System with Machine Learning Engine for Optimized Forecasting

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