CN114730306A - 强化学习软件代理的数据增强训练 - Google Patents

强化学习软件代理的数据增强训练 Download PDF

Info

Publication number
CN114730306A
CN114730306A CN202080082641.XA CN202080082641A CN114730306A CN 114730306 A CN114730306 A CN 114730306A CN 202080082641 A CN202080082641 A CN 202080082641A CN 114730306 A CN114730306 A CN 114730306A
Authority
CN
China
Prior art keywords
reinforcement learning
computer
software agent
knowledge base
learning 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.)
Pending
Application number
CN202080082641.XA
Other languages
English (en)
Inventor
T·查克拉波瑞蒂
K·塔拉玛杜普拉
K·法迪尼斯
B·斯里瓦斯塔瓦
M·S·坎贝尔
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN114730306A publication Critical patent/CN114730306A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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
    • 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/02Knowledge representation; Symbolic representation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/041Abduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

提供了用于通过外部数据而增强的强化学习软件代理的技术。可以基于从诸如在线论坛之类的一个或多个知识库获得的信息来训练支持软件代理的强化学习模型。可以在与外部环境具有有限的连接性的环境中测试经训练的强化学习模型,以满足性能标准。可以将强化学习软件代理与经测试和经训练的强化学习模型一起部署在环境内,以自主地执行动作来处理请求。

Description

强化学习软件代理的数据增强训练
背景技术
技术领域
本发明实施例涉及强化学习软件代理,并且尤其涉及基于从一个或多个知识库(knowledge store)获得的信息来训练支持强化学习软件代理的强化学习模型、以及在与外部环境具有有限的连接性的环境中测试经训练的强化学习模型。可以将软件代理与经测试和经训练的强化学习模型一起部署。
相关技术讨论
在各种环境(setting)中部署软件代理或判定代理。软件代理的示例包括会话代理或聊天机器人、在线购物软件代理、垃圾邮件过滤器等。典型的软件代理被部署在动态环境中。可以从它们的当前环境接收输入的软件代理不是被编程为执行一系列任务,而是被配置为自主地行动以便达到期望的目标。
然而,软件代理或判定代理虽然自主操作,但是可能没有做出最佳判定。例如,一些软件代理以看似随机的方式操作,并且没有从过去的判定中学习。其他软件代理可以使用机器学习技术(例如强化学习)作为判定处理的一部分,然而这些软件代理在复杂情况下的性能仍然有限。因此,软件代理在应用上经常局限于简单系统,并且传统的强化学习范式在复杂情况下经常失败。
发明内容
根据本发明的实施例,提供了用于使用数据来配置用于强化学习软件代理的强化学习模型的方法、系统和计算机可读介质。接收对知识库的访问,该知识库包括与软件代理支持的主题有关的数据。来自知识库的信息用于训练强化学习模型,该强化学习模型通知强化学习软件代理。在沙盒测试环境中测试经训练的强化学习模型,所述测试环境与外部环境具有有限的连接性。将强化学习软件代理与经测试和经训练的强化学习模型一起部署在环境内,以自主地执行动作来处理请求。该方法允许改进复杂环境中的强化学习软件代理的性能,以及改进用于部署在复杂环境中的强化学习软件代理的训练。
在各方面,来自知识库的信息采用半结构化格式,并且包括具有一个或多个对应回答的问题。提供对域模拟器的访问,以由强化学习软件代理在测试环境中执行动作。基于该方法,本技术与采用半结构化格式并且提供域模拟器的任何类型的信息相兼容。
在其他方面,知识库包括由强化学习模型用来对知识库中提供的信息进行排名的特征。该方法允许来自主题专家的知识被自动处理和访问,并且被提供为对复杂环境中的强化学习软件代理的指导。在一些实施例中,强化学习模型根据用户偏好对知识库中的信息进行排名。这些技术可以用于为特定用户定制特定动作。
在各方面,由强化学习软件系统生成查询。将查询与由强化学习模型生成的策略中的状态进行匹配,其中,每个状态具有对应的动作。强化学习软件代理执行从匹配的策略返回的动作。在其他方面,当动作达到目标或解决了查询时,可以通过由强化学习软件代理执行动作来接收奖励。这允许强化学习模型向强化学习软件代理提供经排名的信息以加速训练并且基于排名执行动作以达到期望的目标。该方法可以导致复杂环境中的RL(强化学习)软件代理的性能改进,以在可用动作方面具有高扇出。
在各方面,以固定频率或动态频率来更新由强化学习模型生成的策略,以包括被添加到知识库的问题和回答。这允许强化学习模型获得更新并且在知识库中包含当前或最近的信息。
应当理解,发明内容并不是旨在识别本公开的实施例的关键特征或必要特征,也不是旨在用于限制本公开的范围。通过以下描述,本公开的其他特征将变得易于理解。
附图说明
通常,各个附图中相同的附图标记用来表示相同的部件。
图1A是根据本发明的实施例的强化学习系统的示例计算环境的示意图。
图1B是根据本发明的实施例的用于图1A的计算环境的示例计算设备。
图2是示出根据本发明的实施例的用于在强化学习系统中部署的强化学习软件代理的示例计算命令和操作的流程图。
图3A至图3B是示出根据本发明的实施例的用于在强化学习系统中部署的强化学习软件代理的示例环境的示图。图3A对应于计算环境。图3B对应于旅行(travel)环境。
图4是示出根据本发明的实施例的用于测试强化学习软件代理的沙盒环境的流程图。
图5是根据本发明的实施例的测试环境的输入和输出的示意图。
图6A是示出根据本发明的实施例的由强化学习系统对知识库数据进行排名的流程图。
图6B是示出根据本发明的实施例的利用在沙盒环境中开发的来自图6A的策略信息以部署在强化学习系统中的流程图。
图7A和图7B示出根据本发明的实施例的评估强化学习系统的性能的实例。
图8示出根据本发明的实施例的用于实现强化学习系统的操作的高层次流程图。
具体实施方式
根据从一个或多个知识库获得的信息来训练支持强化学习(RL)软件代理的强化学习(RL)模型。在与外部环境具有有限连接性的环境(setting)中训练和测试支持RL软件代理的RL模型。可以将RL软件代理与经测试和经训练的RL模型一起部署。RL软件代理可以在完成导致达到目标的一系列动作和对应状态变化时接收正(positive)强化。当在未来的时间点达到相同状态时,RL软件代理保留记忆,并且因此通过重复所学习的动作来达到目标。
在图1中示出用于与本发明实施例一起使用的示例环境。具体地,环境包括一个或多个服务器系统10、一个或多个客户端或终端用户系统20、数据库30、知识库35和网络45。服务器系统10和客户端系统20可以彼此远离并且可以通过网络45进行通信。网络可以通过任何数量的任何合适的通信介质(诸如广域网(WAN)、局域网(LAN)、因特网、内联网等)来实现。替选地,服务器系统10和客户端系统20可以是彼此在本地的,并且可以经由任何合适的本地通信介质(诸如局域网(LAN)、硬线、无线链路、内联网等)进行通信。
客户端系统20使得用户能够与各种环境进行交互,从而执行可以生成被提供给服务器系统10的查询的活动。如本文中所描述的,服务器系统10包括RL系统15,该RL系统15包括RL软件代理105、自然语言处理(NLP)引擎110、RL模型115、域模拟器120、性能评估引擎125和查询生成引擎130。
数据库30可以存储用于分析的各种信息,诸如从知识库35获得的信息。例如,RL系统15可以分析位于其本地环境中的知识库,或者可以生成并且存储知识库35的副本作为数据库30中的知识库31。知识库35可以包括半结构化格式(诸如问题回答格式)的任何合适的信息,包括但不限于在线论坛、公共数据库、私有数据库或任何其他合适的储存库。在一些方面中,可以为单个问题提供多个回答。在其他方面,可以生成问题而没有任何对应的回答。
来自知识库35的信息可以由RL系统15处理,并且被存储为经处理的Q/A数据32。例如,经处理的Q/A数据32可以包括由NLP引擎110处理的信息,以从知识库数据31生成兼容于训练RL模型115的数据。在各方面,该信息可以包括将问题映射到每个回答,以及将每个回答映射到与回答相关联的一个或多个特征以确定回答的相关性和质量。
一旦RL模型115已经被训练,经训练的RL模型的输出可以被存储为策略数据34。在各方面,可以以与判定代理兼容的格式(诸如(状态,动作)格式)来提供策略数据34。通过将RL软件代理105的状态与策略数据34的状态进行匹配,策略数据的对应动作可以被识别且被提供给RL软件代理。
数据库30可以存储用于分析的各种信息,诸如从在线论坛或任何其他知识库获得的知识库数据31、经处理的Q/A数据32和策略数据34、或者通过由RL系统在沙盒/测试环境或真实环境中涉及的操作而生成的任何其他数据。
数据库系统30可以由任何常规或其他数据库或存储单元来实现,可以位于服务器系统10和客户端系统20的本地或者远离服务器系统10和客户端系统20,并且可以经由任何合适的通信介质(诸如局域网(LAN)、广域网(WAN)、因特网、硬线、无线链路、内联网等)进行通信。客户端系统可以呈现图形用户界面(例如GUI等)或其他界面(例如命令行提示、菜单屏幕等)以从用户请求与在环境中执行动作有关的信息,并且可以提供报告或其他信息,包括由RL系统提供的动作是否成功达到目标。
服务器系统10和客户端系统20可以由任何常规或其他计算机系统来实现,该任何常规或其他计算机系统优选地配备有显示器或监视器、基座(包括至少一个硬件处理器(例如,微处理器、控制器、中央处理单元(CPU)等)、一个或多个存储器和/或内部或外部网络接口或通信设备(例如,调制解调器、网卡等)、可选的输入设备(例如,键盘、鼠标或其他输入设备)、以及任何商用和定制的软件(例如,服务器/通信软件、RL系统软件、浏览器/接口软件等)。举例来说,服务器/客户端包括至少一个处理器16、22、一个或多个存储器17、24和/或内部或外部网络接口或通信设备18、26(诸如调制解调器或网卡)、以及用户界面19、28等。可选的输入设备可以包括键盘、鼠标或其他输入设备。
替选地,一个或多个客户端系统20可以在独立操作模式下执行RL。例如,客户端系统存储或访问数据(诸如知识库35),并且独立单元包括RL系统15。图形用户界面或其他界面19、28(诸如GUI、命令行提示、菜单屏幕等)从对应用户请求信息,并且系统的状态可以用于生成查询。
RL系统15可以包括一个或多个模块或单元,以执行本文中所述的本发明实施例的各种功能。各种模块(例如,RL软件代理105、自然语言处理(NLP)引擎110、RL模型115、域模拟器120、性能评估引擎125和查询生成引擎130等)可以通过任何数量的软件和/或硬件模块或单元的任何组合来实现,并且可以驻留在服务器的存储器17内以供处理器16执行。下面更详细地描述这些模块。这些组件进行操作以改进RL软件代理105在真实环境中的操作,从而减少RL软件代理为识别和实施一个或多个操作(动作)以达到目标所需的时间。可能存在多个回答,从而导致达到目标的不同的一系列动作。
RL软件代理105可以作为RL系统15的一部分在域中提供判定支持。域模拟器、域模型和知识库可以用于配置这样的系统。在一些方面,知识库包括以与域相对应的问题和回答的格式存储的数据。可以使用强化学习来训练RL软件代理,其中来自知识数据库的数据提供与动作有关的信息。在部署之前,RL软件代理可以在沙盒环境中进行测试,该沙盒环境通常是使用模拟器的非生产环境。
NLP引擎110依靠NLP技术从知识库35提取信息的相关部分,该信息可以采用半结构化文本的形式。NLP引擎110能够识别与问题相对应的论坛部分、对该问题的一个或多个回答以及与每个回答相关联的特征,该特征可以被提供给RL模型115,以便RL模型对特定问题的回答进行排名。特征可以包括作者姓名、作者状态、赞成票(upvote)、反对票(downvote)、响应长度、表示解决方案起作用的由其他用户对响应的评论等、或其任何组合。在一些情况下,“赞成票(upvote)”表示由社区对回答的信心和认可,并且可以表示奖励信号以对RL算法判定做出过程提供动力。
用于爬取知识库的内容的信息检索技术可以用于生成知识库信息的副本并且将该信息存储在数据库30中。替选地,RL系统15可以与知识库进行通信,以获得与主题有关的相关信息(例如,特定问题的一系列回答)。所获得的信息可以由NLP引擎来处理并且作为经处理的Q/A数据32存储在数据库30中。
RL模型115包括用于对与特征集合相关联的数据进行排名的任何合适的算法。例如,可以使用任何合适的算法,包括但不限于FastAP、多元排名(PolyRank)、进化策略(Evolutionary Strategy,ES)排名、组合回归与排名等。可以采用任何合适的方法(例如,逐点(pointwise)方法、成对(pairwise)方法或逐列表(listwise)方法)来确定最佳排名。可以使用任何合适的度量(包括平均精度、平均倒数排名等)来评估排名。
域模拟器120包括用于模拟真实环境的模拟环境。模拟环境可以包括沙盒环境或测试台或以与真实环境类似的方式运行的任何其他环境,但是具有与外部环境的有限连接性,使得在模拟环境中执行的动作不被传播到真实系统。该方法提供了进行全面训练和测试的能力,而没有来自进行不适当动作的潜在不利后果。通常,域模拟器将包括或将具有生成表示域环境的域模型120的能力。
性能评估引擎125可以包括用于确定RL系统中的RL软件代理的性能的组件。例如,在一些方面,性能评估引擎125可以包括表示性能的下限和上限的组件,诸如随机判定代理和/或规划判定代理。随机代理是效率最低的,因为所选择的操作是随机的,而规划代理是效率最高的,因为最佳动作是已知的。RL系统的性能可以针对这些判定代理以及其他判定代理进行基准测试(benchmark)。
查询生成引擎130可以基于状态来生成查询,该状态被用来识别响应于查询的对应动作和策略。
查询匹配引擎135可以将所生成的查询与策略进行匹配,该策略可以采用(状态,动作)对的形式。在其他方面,查询匹配引擎135可以用于将来自知识库的内容与所生成的查询进行匹配,所生成的查询被提供给NPL引擎110和RL模型115以用于生成策略。在整个说明书和附图中描述了这些特征和其他特征。
客户端系统20和服务器系统10可以通过任何合适的计算设备(诸如图1B中所示的用于计算环境100的计算设备212)来实现。该示例不是旨在暗示对本文中描述的本发明的实施例的功能或使用范围的任何限制。无论如何,计算设备212能够实现和/或执行本文中所阐述的任何功能。
在计算设备中,存在可与许多其他通用或专用计算系统环境或配置一起操作的计算机系统。可以适合于与计算机系统一起使用的众所周知的计算系统、环境和/或配置的示例包括但不限于个人计算机系统、服务器计算机系统、瘦客户端、胖客户端、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机系统、大型计算机系统和包括以上系统或设备中的任一个的分布式云计算环境等。
可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块(例如,RL系统15及其对应模块))的一般上下文中描述计算机系统212。一般而言,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。
以通用计算设备的形式示出计算机系统212。计算机系统212的组件可以包括但不限于一个或多个处理器或处理单元155、系统存储器136、以及将包括系统存储器136的各种系统组件耦合至处理器155的总线218。
总线218表示若干种类型的总线结构中的任何一种或多种,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及使用各种总线体系结构中的任一种的处理器或局部总线。作为示例而非限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线以及外围组件互连(PCI)总线。
计算机系统212通常包括各种计算机系统可读介质。这样的介质可以是可由计算机系统212访问的任何可用介质,并且它包括易失性和非易失性介质、可移动和不可移动介质。
系统存储器136可以包括易失性存储器形式的计算机系统可读介质,诸如随机存取存储器(RAM)230和/或高速缓冲存储器232。计算机系统212还可以包括其他可移动/不可移动、易失性/非易失性计算机系统存储介质。仅通过示例的方式,可以提供用于对不可移动的非易失性磁介质(未示出,并且通常被称为“硬盘驱动器”)进行读取和写入的存储系统234。尽管未示出,可以提供用于对可移动的非易失性磁盘(例如,“软盘”)进行读取和写入的磁盘驱动器、以及用于对可移动的非易失性光盘(诸如CD-ROM、DVD-ROM或其他光学介质)进行读取和写入的光盘驱动器。在这样的情况下,每一个可以通过一个或多个数据介质接口连接到总线218。如以下将进一步描绘和描述的,存储器136可以包括至少一个程序产品,该至少一个程序产品具有被配置成执行本发明的实施例的功能的一组(例如,至少一个)程序模块。
可以通过示例而非限制的方式将具有一组(至少一个)程序模块242(例如,RL系统15和对应模块等)的程序/实用程序240以及操作系统、一个或多个应用程序、其他程序模块和程序数据存储在存储器136中。操作系统、一个或多个应用程序、其他程序模块和程序数据中的每一个或它们的一些组合可以包括网络环境的实现方式。程序模块242通常执行如本文中所述的本发明的实施例的功能和/或方法。
计算机系统212还可以与以下各项进行通信:一个或多个外部设备214(诸如键盘、指点设备、显示器224等);使得用户能够与计算机系统212进行交互的一个或多个设备;和/或使得计算机系统212能够与一个或多个其他计算设备进行通信的任何设备(例如,网卡、调制解调器等)。这样的通信可以经由输入/输出(I/O)接口222来进行。此外,计算机系统212可以经由网络适配器225与诸如局域网(LAN)、通用广域网(WAN)和/或公共网络(例如,因特网)之类的一个或多个网络进行通信。如所描绘的,网络适配器225经由总线218与计算机系统212的其他部件进行通信。应当理解,虽然未示出,但是其他硬件和/或软件组件可以与计算机系统212结合使用。示例包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动器阵列、RAID系统、磁带驱动器和数据归档存储系统等。
图2是示出根据本发明的实施例的用于在RL系统中部署的RL软件代理的示例计算命令和操作的流程图。
下面的示例示出了RL软件代理(RL判定代理)和RL模型可以如何支持诸如打开文本文档之类的任务。在操作310处,用户输入利用gedit打开文档的命令。在操作320处,计算环境确定没有找到命令gedit。作为响应,在操作325处,例如由RL软件系统的查询生成引擎130来生成查询。查询被用来例如使用查询匹配引擎135从知识库识别相关内容,其中该内容可以采用策略的形式或采用表示存储在知识库中的信息的半结构化的形式。在一些情况下,可能没有找到查询的完全匹配。在这种情况下,可以基于查询与知识库中的内容的相似度来返回结果。
在该示例中,响应于查询匹配,匹配的或相似的内容可以由NLP引擎110和RL模型115来处理。然而,在其他方面,可以以预定的时间间隔来存储和/或处理知识库信息,以生成存储在数据库30中的经排名的策略(例如,对于该实施例,参见图6A-图6B)。任一种方法适用于本文中提供的实施例。
一旦查询与知识库中的内容(例如,问题回答对)相匹配,NLP引擎110和RL模型115就被配置为基于该内容生成策略并且对论坛中存在的策略的(状态,动作)对进行排名(例如,基于赞成票、作者姓名、作者状态、回复等)。在操作335处,RL系统识别排名最高的(问题,回答)对,其中,该问题对应于状态,并且该回答对应于可由RL软件代理执行的动作。
在操作340处,将与匹配的策略的状态相对应的动作提供回到RL软件代理。在操作345处,计算环境执行该动作,在这种情况下,apt-get安装gedit。在操作350处,生成另一错误,这导致生成另一查询。在这种情况下,系统确定其不具有安装gedit的权限。操作325-340被重复,以向RL软件代理提供对应的动作。
计算环境假设根用户(root)权限,并且在操作360处安装gedit。在操作370处,执行原始命令,从而打开测试文件。在操作380处,由RL软件代理和RL模型对该特定任务的支持结束。
图3A至图3B是示出根据本发明的实施例的用于在特定域中部署的RL软件代理的示例环境的示图。知识数据库(诸如在线论坛)包含可以用来改进RL软件代理的性能的信息。例如,在线论坛可以包含问题和回答支持论坛,其内容可以通过在该域内的各种参数(诸如相关性、日期、赞成票/流行性、作者状态等)来进行排名。该信息可以被RL模型挖掘,以识别问题的最佳回答(或状态的动作)。
图3A对应于计算环境。图3B对应于旅行环境。在每个实例中,用户执行生成特定状态的动作。例如,用户可以执行要求访问特定软件平台的命令,或者可以向利用判定代理进行支持的在线网站提交查询。
根据本技术,从用户的状态导出查询,并且该查询被用来识别与该状态相对应的策略。选择经排名的策略的(状态,动作)对,该经排名的策略的(状态,动作)对是基于已经被RL模型处理的来自知识库的数据而导出的。因此,由RL系统15生成的(状态,动作)对确定适当的动作,从而导致下一状态。因此,问题和回答对应关系表示隐式状态转换,该隐式状态转换暗示在给定状态下的正确动作/策略。
知识库或论坛包含来自已经解决了相同或相似问题的主题专家的(例如,结构化的、非结构化的、半结构化的)信息。论坛提供可以用来引导(bootstrap)RL代理的学习过程的伪跟踪。使用本文中提供的技术来进行引导,该技术可以用来训练认知系统以供在各种域中进行判定支持,例如软件技术支持、旅行网站支持等。
在线论坛可用于协助编程(例如,Java、Python、C++等)以及操作系统(Windows、Linux、Mac)等。该方法可以用于捕获并且使用来自论坛的分组数据或个体数据。
这些技术还可以用于将动作适配于特定用户偏好。在一些情况下,可以使用特征的组合来适配特定于给定用户偏好的动作。
图4提供了用于本技术的实施例的测试或沙盒环境。该体系结构表示代理种类和环境种类的一般实现方式。在一些方面中,可以采用即插即用代理,从而允许评估不同类型的技术(例如,编程、操作系统、旅行、科学文献等)以用于基准测试。
通常,代理620可以包括一种或多种类型的代理。随机代理605可以随机执行动作,直到实现其目标。由于动作被随机地执行,该代理可以被用来建立用于评估学习代理的性能的下限。由于下一状态的数量由于系统的复杂性而增加,随机引擎的性能劣化。
作为基于状态的代理的规划代理615可以被用来基于其当前状态来生成用于达到目标(例如,通过一系列状态变化)的最佳方法或计划。该域可以被手动地编码,或者可以使用诸如执行跟踪之类的计算技术来学习。这种类型的代理执行计划以实现目标并且代表最佳效率。
通过强化学习进行学习的RL代理105可以学习由RL系统排名的策略的(状态,动作)对,该RL系统将(状态,动作)对映射到表示在当前状态下执行该动作的有用性的值。RL代理可以包括数据驱动代理、Q学习代理等。RL模型可以生成策略,该策略基于RL代理105的当前状态来确定RL代理105的下一状态。
代理620可以与域模拟器120一起作为包的一部分来提供,该域模拟器120可以包括测试环境625和模拟器630。模拟器630可以被部署在测试环境625(例如,沙盒)中,以允许在不被部署在真实系统中的情况下进行测试。沙盒环境允许学习和基准测试/性能两者。
模拟器可以用于使用底层的域模型120来模拟域环境。在各方面,该系统可以自动地学习域模型。例如,系统可以基于帮助页面来学习计算环境中的域模型。替选地,可以基于来自论坛的问题来建立环境的模型,例如以识别用户可以执行的动作。模拟器630可以执行动作650,并且将结果存储在例如数据库30中。
在训练期间,可以由RL软件代理105来制定查询。RL软件系统识别由RL模型生成的策略,其中状态与RL软件代理的状态相对应或相类似。一旦执行了当前状态和策略状态之间的匹配,就可以选择校正动作,并且在沙盒中执行该动作。如果该动作解决了查询,则接收到奖励(例如,成功地解决了诸如打开文件之类的用户计算问题)。另一方面,如果该动作失败,则RL软件代理将获悉所选择的动作没有解决该问题,并且将不会在未来为对应的状态选择该动作。
因此,模拟器630接收由RL模型115生成并且排名的策略信息34,该RL模型115已经处理了知识库数据以生成一系列(状态,动作)对。相关联的Q值可以被分配给每个策略对,并且RL软件代理在被部署时将选择最高的Q值,以有效地达到其目标。
一旦在沙盒中进行了训练和测试,就可以将RL软件代理与RL模型一起部署,该RL模型包含被表示为(状态,动作)对的经排名的基于知识的数据。
图5示出了沙盒环境的输入和输出。该方法可以用于其中问题回答(Q/A)数据集、环境的模拟器和域模型可用的任何系统。本实施例包括用于判定支持(和执行)的任何合适类型的自动模型学习。这允许在现场启动(boot up)并且训练判定支持代理,因为对于具有高复杂性的大型系统手动地对判定代理进行手动编码是不实际的。自动地学习域模型的能力减轻了该复杂性。
Q-A数据集通常包括条目集合,其中每个条目具有问题和零个或多个回答。回答可以是结构化的、半结构化的或非结构化的。每个回答可以包含由RL系统15提取的与问题有关的动作和特征/参数的集合。特征可以包括作者姓名、作者状态、赞成票、反对票、响应长度、表示解决方案起作用的由其他用户对响应的评论等、或其任何组合。通常,特征包含可以用于评估问题的回答的质量(例如,效率、有效性等)的信息,并且可以充当对RL系统的奖励信号。例如,在一些情况下,“赞成票”表示由社区对回答的信心和认可,并且可以表示奖励信号以对RL算法判定做出过程提供动力。
可以基于这些特征来训练RL模型,以有效地确定导致期望的目标或解决方案的一系列动作。通过根据已经由多个用户至少轻度地管理(curate)的数据来训练RL模型,经训练和经测试的RL模型可以使得RL软件代理能够比没有RL模型的RL软件代理更快地且更有效地达到期望的目标。RL系统可以根据知识库中的信息进行训练,而不是选择随机的动作或看似随机的动作以及确定是否接收到奖励信号。
图6A是示出根据本发明的实施例的由RL模型115对知识库数据进行排名的流程图。将半结构化数据910提供给NLP 920,以便例如以问题和对应回答的形式来提取论坛信息。半结构化数据可以包括问题(Q1,Q2,Q3...),其中,每个问题具有一个或多个回答(例如,A1,A2,A3...)。对于每个回答,提取对应的特征信息930。在一些方面,可以在问题和每个回答连同对于该回答的对应特征之间执行一对一映射。可以使用任何其他合适形式的信息。将该信息提供给RL模型115。RL模型基于所提供的特征来对每个回答进行排名,并且生成策略950,该策略950可以采用经排名的列表的形式或任何其他合适的形式。当由RL软件代理生成查询时,针对策略来匹配状态,并且将对应的动作提供给RL软件代理以供执行。
在其他方面,RL技术可以与启发式技术相结合以对策略的(状态,动作)对进行排名。
图6B是示出根据本发明的实施例的利用在沙盒环境中开发的来自图6A的策略信息950以部署在RL系统中的流程图。图的上部分对应于沙盒环境中的训练。RL代理1010正在沙盒环境中操作,从而与环境外壳(shell)1020进行交互。当生成查询时,基于RL代理的状态来进行策略匹配。将与策略相对应的动作提供给RL软件代理,该RL软件代理执行该动作。通过在环境外壳中执行该动作,RL软件代理的状态改变,并且向RL软件代理提供关于该动作的反馈。例如,如果该动作导致达到目标,则可以验证该动作,或者可以提供奖励以强化该行为。
在真实环境中,响应于查询生成,RL系统可以将RL软件代理的状态与由RL模型生成的策略950中的状态进行匹配。返回最佳动作(排名最高)以供RL软件代理1030执行。
在该实例中,NLP引擎和RL模型在查询生成之前处理知识库数据,并且将经排名的策略存储在数据库中。
图7A-图7B示出了在沙盒环境中的基准测试和性能评估的示例结果。沙盒提供了用于RL模型训练的环境,远离基于生产的环境或真实环境。通常,在沙盒中进行RL模型训练,而在真实环境中执行测试。可以使用包括随机判定代理和最佳规划代理的经管理的域对RL软件代理的性能和学习速率进行基准测试。
图7A示出了时期(epoch)的数量对时期的长度的曲线图。对于图7A,RL软件代理(没有对应的RL模型)最初具有时期长度的急剧下降,这转换成学习的增加。该轨迹趋于平稳并且似乎没有收敛到最佳轨迹(例如,诸如来自规划代理)。相比之下,RL软件代理(具有对应的RL模型)示出了时期长度的类似的急剧下降,并且该轨迹继续降低直到接近最佳轨迹。
图7B示出了各种代理,随机代理(例如,稻草人(strawman))、最佳代理(例如,规划代理)和RL软件代理。如在高扇出的情况下所预期的,基于真实世界域中的纯粹的自我探索的随机代理没有足够快地收敛(或根本没有收敛)。相比之下,利用根据知识库训练的RL模型而增强的RL软件代理具有与最佳代理相类似的性能。因此,利用提供指导的外部数据而增强的RL软件代理达到收敛或接近收敛到最佳轨迹。
图8是示出本文中提供的技术的高层次操作的操作流程图。在操作810处,计算机接收对与RL软件代理支持的主题有关的知识库的访问。在操作820处,计算机使用来自知识库的信息来训练支持RL软件代理的RL模型。在操作830处,计算机在测试环境中测试经训练的RL模型,该测试环境与外部环境具有有限的连接性。在操作840处,将RL软件代理与经测试和经训练的RL模型一起部署在环境内,以自主地执行动作来处理请求。
因此,在各方面,RL软件代理基于其当前状态来生成查询。RL系统将该查询与策略的(状态,动作)对进行匹配,其中该策略是由RL模型基于从知识库获得的信息而生成的。例如,RL模型结合其他技术(例如NPL)可以处理半结构化信息,以基于多个回答来识别最佳动作。RL软件代理执行该动作以达到下一状态。该过程可以继续,直到达到目标。
本技术改进了RL软件代理的操作,因为RL软件代理的训练时间可以由于来自RL模型的输入而减少。传统上,训练RL软件代理涉及迭代的、计算密集的过程,该过程在复杂环境中可能不会收敛到目标。
另外,RL软件代理被配置成在动态环境中操作,其中执行动作导致状态变化。本技术提供了在动态、复杂的测试环境中训练RL软件代理的能力,以及在真实系统中部署RL软件代理以及经训练和经测试的RL模型的能力。
本发明的实施例的特征包括使用知识数据库来增强和改进RL软件代理。可以基于使用域学习的技术、以自动方式来开发RL软件代理。可以将采用强化学习的判定支持代理的性能与用于基准测试的最佳规划器的性能进行比较。
这些技术的益处提供了即时、可扩展和个性化的现场支持。另外,通过使用判定代理来处理技术支持问题,使得技术支持专家可用于解决更高级的支持问题。
这些技术可应用于各种各样的环境。模拟器和训练数据可用的任何环境都适合与本发明的实施例一起使用。判定支持代理可以用于协助在操作系统上实现和配置软件时的判定、协助使用网络模拟器来实现和配置网络、协助基于在线编程论坛中的信息的编程故障排除技术、协助基于科学和医学文献的健康相关判定等。
本技术提供了新颖的省力的方法来构建从反馈和过去数据中持续地学习的支持工具。该方法可以用于以高效和及时的方式对企业和公共环境中的判定支持技术进行扩展。
另外,本技术捕捉用户社区的隐含偏好,同时为RL软件代理和RL模型提供持续的终身学习。
应当理解,以上描述和附图中所示的实施例仅代表实现RL软件系统的实施例的许多方式中的一些。
本发明的实施例的环境可以包括任何数量的计算机或其他处理系统(例如,客户端或终端用户系统、服务器系统等)和以任何期望方式布置的数据库或其他储存库,其中本发明的实施例可以应用于任何期望类型的计算环境(例如,云计算、客户端-服务器、网络计算、大型机、独立系统等)。由本发明所采用的计算机或其他处理系统可以由任何数量的任何个人或其他类型的计算机或处理系统(例如,台式计算机、膝上型计算机、PDA、移动设备等)来实现,并且可以包括任何商用操作系统以及商用软件和定制软件(例如,浏览器软件、通信软件、服务器软件、RL系统15等)的任何组合。这些系统可以包括任何类型的监视器和输入设备(例如,键盘、鼠标、语音识别等)以输入和/或查看信息。
应当理解,本发明的实施例的软件(例如,RL系统15,包括RL软件代理105、NLP引擎110、RL模型115、域模拟器120、性能评估引擎125、查询生成引擎130、查询匹配引擎135等)可以以任何期望的计算机语言来实现,并且可以由计算机领域中的普通技术人员基于说明书中包含的功能描述和附图中示出的流程图来开发。另外,本文中对执行各种功能的软件的任何引用通常是指在软件控制下执行这些功能的计算机系统或处理器。本发明的实施例的计算机系统可以替选地通过任何类型的硬件和/或其他处理电路来实现。
计算机或其他处理系统的各种功能可以以任何方式分布在任何数量的软件和/或硬件模块或单元、处理或计算机系统和/或电路之间,其中计算机或处理系统可以彼此本地或远程布置,并且可以经由任何合适的通信介质(例如,LAN、WAN、内联网、因特网、硬线、调制解调器连接、无线等)进行通信。例如,本发明的实施例的功能可以以任何方式分布在各种终端用户/客户端和服务器系统、和/或任何其他中间处理设备之间。可以以实现本文中描述的功能的任何方式来修改上面描述的和流程图中所示的软件和/或算法。此外,可以以实现期望操作的任何顺序来执行流程图或说明书中的功能。
本发明实施例的软件(例如,RL系统15,包括RL软件代理105、NLP引擎110、RL模型115、域模拟器120、性能评估引擎125、查询生成引擎130、查询匹配引擎135等)可以在固定或便携式程序产品装置或设备的非瞬态计算机可用介质(例如,磁介质或光介质、磁光介质、软盘、CD-ROM、DVD、存储器设备等)上可用,以便与独立系统或通过网络或其他通信介质连接的系统一起使用。
通信网络可以由任何数量的任何类型的通信网络(例如,LAN、WAN、因特网、内联网、VPN等)来实现。本发明实施例的计算机或其他处理系统可以包括任何常规或其他通信设备,以经由任何常规或其他协议在网络上进行通信。计算机或其他处理系统可以采用用于访问网络的任何类型的连接(例如,有线、无线等)。本地通信介质可以由任何合适的通信介质(例如,局域网(LAN)、硬线、无线链路、内联网等)来实现。
该系统可以采用任何数量的任何常规或其他数据库、数据存储库或存储结构(例如,文件、数据库、数据结构、数据或其他储存库等)来存储信息(例如,RL系统15,包括RL软件代理105、NLP引擎110、RL模型115、域模拟器120、性能评估引擎125、查询生成引擎130、查询匹配引擎135等)。数据库系统可以由任何数量的任何常规或其他数据库、数据存储库或存储结构(例如,文件、数据库、数据结构、数据或其他储存库等)来实现,以存储信息(例如,知识库数据31、经处理的Q/A数据32、策略数据34等)。数据库系统可以包括在服务器和/或客户端系统内,或者耦接到服务器和/或客户端系统。数据库系统和/或存储结构可以远离计算机或其他处理系统、或者对计算机或其他处理系统是本地的,并且可以存储任何期望的数据(例如,知识库数据31、经处理的Q/A数据32、策略数据34等)。
本发明的实施例可以采用任何数量的任何类型的用户界面(例如,图形用户界面(GUI)、命令行、提示等)来获得或提供信息(例如,知识库数据31、经处理的Q/A数据32、策略数据34等),其中该界面可以包括以任何方式布置的任何信息。该界面可以包括布置在任何位置处的任何数量的任何类型的输入或致动机构(例如,按钮、图标、字段、框、链接等),以经由任何合适的输入设备(例如,鼠标、键盘等)输入/显示信息并且启动期望的动作。界面画面可以包括任何合适的致动器(例如,链接、选项卡等)以在画面之间以任何方式导航。
RL 15的输出可以包括以任何方式布置的任何信息,并且可以是基于规则或其他标准可配置的,以便向用户提供期望的信息(例如,一个或多个动作等)。
本发明的实施例不限于上述特定任务或算法,而是可以用于使用RL软件代理来支持复杂任务的任何应用。另外,该方法一般可适用于在任何上下文中提供支持,并且不限于任何特定应用领域,例如制造、健康等。
本文中使用的术语仅用于描述特定实施例的目的,而并非旨在限制本发明。如本文中所使用的,除非上下文另有明确指示,否则单数形式“一”、“一个”和“该”旨在也包括复数形式。还应当理解,当在本说明书中使用术语“包括(comprises)”、“包括(comprising)”、“包含(includes)”、“包含(including)”、“具有(has)”、“具有(have)”、“具有(having)”、“带有(with)”等时,这些术语规定所述特征、整体、步骤、操作、元件和/或部件的存在,但是并不排除一个或多个其他特征、整体、步骤、操作、元件、部件和/或其组合的存在或添加。
以下权利要求中的所有装置或步骤加上功能元件的对应结构、材料、动作和等同物旨在包括用于结合如具体要求保护的其他要求保护的元件来执行功能的任何结构、材料或动作。已经出于说明和描述的目的呈现了本发明的描述,但是并不是旨在是详尽的或限于所公开形式的本发明。在不偏离本发明的范围和精神的情况下,许多修改和变型对于本领域普通技术人员来说是明显的。选择和描述实施例以便最好地解释本发明的原理和实际应用,并且使得本领域的其他普通技术人员能够理解本发明的具有适合于预期的特定用途的各种修改的各种实施例。
已经出于说明的目的呈现了本发明的各种实施例的描述,但是并不是旨在是详尽的或者限于所公开的实施例。在不偏离所描述的实施例的范围和精神的情况下,许多修改和变型对本领域普通技术人员将是明显的。本文中使用的术语被选择来最好地解释实施例的原理、实际应用或对在市场中发现的技术的技术改进,或者使得本领域其他普通技术人员能够理解本文中公开的实施例。
本发明可以是任何可能的技术细节集成度的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有用于使处理器执行本发明的各方面的计算机可读程序指令的计算机可读存储介质(或多个介质)。
计算机可读存储介质可以是可以保留和存储供指令执行设备使用的指令的有形设备。计算机可读存储介质可以是,例如但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备、或者前述各项的任何合适的组合。计算机可读存储介质的更具体示例的非穷尽列表包括以下各项:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字通用盘(DVD)、记忆棒、软盘、其上记录有指令的机械编码设备(诸如穿孔卡或槽中的凸起结构)、以及前述各项的任何合适的组合。如本文中所使用的计算机可读存储介质不应被解释为瞬态信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤电缆的光脉冲)或通过电线传送的电信号。
本文中所描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如,因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口接收来自网络的计算机可读程序指令,并且转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集体系结构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设定数据、集成电路的配置数据、或以一种或多种编程语言的任何组合编写的源代码或目标代码,这些编程语言包括面向对象的编程语言(诸如Smalltalk、C++等)和过程编程语言(诸如“C”编程语言或类似编程语言)。计算机可读程序指令可以完全在用户计算机上执行、部分在用户计算机上执行、作为独立软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户计算机,或者可以连接到外部计算机(例如,通过使用因特网服务提供商的因特网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过采用计算机可读程序指令的状态信息来使电子电路个性化来执行计算机可读程序指令,以便执行本发明的各方面。
本文中参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本发明的各方面。应当理解,流程图和/或框图中的每个方框以及流程图和/或框图中的各方框的组合都可以由计算机可读程序指令来实现。
这些计算机可读程序指令可以被提供给计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现在流程图和/或框图中的一个或多个方框中指定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令指导计算机、可编程数据处理装置、和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图中的一个或多个方框中指定的功能/动作的各方面的指令。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中指定的功能/动作。
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。对此,流程图或框图中的每个方框可以表示指令的模块、分段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替选实现方式中,方框中标注的功能可以不按照图中标注的顺序发生。例如,连续示出的两个方框实际上可以作为一个步骤完成,同时、基本上同时、以时间上部分或完全重叠的方式执行,或者方框有时可以以相反的顺序执行,这取决于所涉及的功能。还应注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的各方框的组合可以由基于专用硬件的系统来实现,该基于专用硬件的系统执行指定的功能或动作,或者执行专用硬件与计算机指令的组合。

Claims (25)

1.一种使用来自知识库的数据来配置强化学习软件代理的方法,所述方法包括:
由计算机接收对与软件代理支持的主题有关的所述知识库的访问;
由所述计算机使用来自所述知识库的信息来训练支持所述强化学习软件代理的强化学习模型;
由所述计算机在测试环境中测试经训练的强化学习模型,所述测试环境与外部环境具有有限的连接性;以及
将所述强化学习软件代理与经测试和经训练的强化学习模型一起部署在环境内,以自主地执行动作来处理请求。
2.根据权利要求1所述的方法,其中,来自所述知识库的信息采用半结构化格式,并且包括具有一个或多个对应回答的问题。
3.根据权利要求2所述的方法,其中,所述知识库包括由多个用户生成的信息,并且其中信息的至少一部分由所述多个用户来管理。
4.根据权利要求1所述的方法,还包括:
提供对域模拟器的访问,以由所述强化学习软件代理在所述测试环境中执行动作。
5.根据权利要求1所述的方法,其中,所述知识库包括由所述强化学习模型用来对所述知识库中提供的信息进行排名的特征。
6.根据权利要求5所述的方法,其中,所述特征包括赞成票、反对票、作者姓名、作者头衔或作者状态中的一个或多个。
7.根据权利要求1所述的方法,其中,所述强化学习模型基于用户偏好对所述知识库中的信息进行排名。
8.根据权利要求1所述的方法,还包括:
生成查询;
将所述查询与由所述强化学习模型生成的策略中的状态进行匹配,其中,每个状态具有对应的动作;以及
由所述强化学习软件代理执行从匹配的策略返回的动作。
9.根据权利要求8所述的方法,还包括:
当动作解决了所述查询时,基于由所述强化学习软件代理执行动作来接收奖励。
10.根据权利要求1所述的方法,其中,使用规划判定代理和随机软件代理来验证由所述强化学习软件代理学习的动作。
11.根据权利要求1所述的方法,还包括:
以固定频率或动态频率来更新由所述强化学习模型生成的策略,以包括被添加到所述知识库的问题和回答。
12.根据权利要求1所述的方法,其中,与没有经训练的强化学习模型的强化学习软件代理相比,与经训练的强化学习模型一起部署的强化学习软件代理更有效地达到期望的目标。
13.一种用于通过命令行界面来适配表达式的处理的计算机系统,所述计算机系统包括:
一个或多个计算机处理器;
一个或多个计算机可读存储介质;
存储在所述一个或多个计算机可读存储介质上以供所述一个或多个计算机处理器中的至少一个执行的程序指令,所述程序指令包括用于以下操作的指令:
由计算机接收对与软件代理支持的主题有关的知识库的访问;
由所述计算机使用来自所述知识库的信息来训练支持强化学习软件代理的强化学习模型;
由所述计算机在测试环境中测试经训练的强化学习模型,所述测试环境与外部环境具有有限的连接性;以及
将所述强化学习软件代理与经测试和经训练的强化学习模型一起部署在环境内,以自主地执行动作来处理请求。
14.根据权利要求13所述的计算机系统,其中,来自所述知识库的信息采用半结构化格式,并且包括具有一个或多个对应回答的问题。
15.根据权利要求14所述的计算机系统,其中,所述知识库包括由多个用户生成的信息,并且其中信息的至少一部分由所述多个用户来管理。
16.根据权利要求13所述的计算机系统,其中,所述程序指令还包括用于以下操作的指令:
提供对域模拟器的访问,以由所述强化学习软件代理在所述测试环境中执行动作。
17.根据权利要求13所述的计算机系统,其中,所述知识库包括由所述强化学习模型用来对所述知识库中提供的信息进行排名的特征,其中,所述特征包括赞成票、反对票、作者姓名、作者头衔或作者状态中的一个或多个。
18.根据权利要求13所述的计算机系统,其中,所述程序指令还包括用于以下操作的指令:
生成查询;
将所述查询与由所述强化学习模型生成的策略中的状态进行匹配,其中,每个状态具有对应的动作;
由所述强化学习软件代理执行从匹配的策略返回的动作;以及
当动作解决了所述查询时,基于由所述强化学习软件代理执行动作来接收奖励。
19.根据权利要求13所述的计算机系统,其中,与没有经训练的强化学习模型的强化学习软件代理相比,与经训练的强化学习模型一起部署的强化学习软件代理更有效地达到期望的目标。
20.一种用于通过命令行界面来适配表达式的处理的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质中包含有程序指令,所述程序指令能由计算机执行以使所述计算机:
由计算机接收对与软件代理支持的主题有关的知识库的访问;
由所述计算机使用来自所述知识库的信息来训练支持强化学习软件代理的强化学习模型;
由所述计算机在测试环境中测试经训练的强化学习模型,所述测试环境与外部环境具有有限的连接性;以及
将所述强化学习软件代理与经测试和经训练的强化学习模型一起部署在环境内,以自主地执行动作来处理请求。
21.根据权利要求20所述的计算机程序产品,其中,来自所述知识库的信息采用半结构化格式,并且包括具有一个或多个对应回答的问题。
22.根据权利要求21所述的计算机程序产品,其中,所述知识库包括由多个用户生成的信息,并且其中信息的至少一部分由所述多个用户来管理。
23.根据权利要求20所述的计算机程序产品,其中,所述程序指令还包括用于以下操作的指令:
提供对域模拟器的访问,以由所述强化学习软件代理在所述测试环境中执行动作。
24.根据权利要求20所述的计算机程序产品,其中,所述程序指令还包括用于以下操作的指令:
生成查询;
将所述查询与由所述强化学习模型生成的策略中的状态进行匹配,其中,每个状态具有对应的动作;
由所述强化学习软件代理执行从匹配的策略返回的动作;以及
当动作解决了所述查询时,基于由所述强化学习软件代理执行动作来接收奖励。
25.根据权利要求20所述的计算机程序产品,其中,与没有经训练的强化学习模型的强化学习软件代理相比,与经训练的强化学习模型一起部署的强化学习软件代理更有效地达到期望的目标。
CN202080082641.XA 2019-12-05 2020-11-27 强化学习软件代理的数据增强训练 Pending CN114730306A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/704,395 US11797820B2 (en) 2019-12-05 2019-12-05 Data augmented training of reinforcement learning software agent
US16/704,395 2019-12-05
PCT/IB2020/061230 WO2021111267A1 (en) 2019-12-05 2020-11-27 Data augmented training of reinforcement learning software agent

Publications (1)

Publication Number Publication Date
CN114730306A true CN114730306A (zh) 2022-07-08

Family

ID=76210001

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080082641.XA Pending CN114730306A (zh) 2019-12-05 2020-11-27 强化学习软件代理的数据增强训练

Country Status (5)

Country Link
US (1) US11797820B2 (zh)
JP (1) JP2023504502A (zh)
CN (1) CN114730306A (zh)
GB (1) GB2607738A (zh)
WO (1) WO2021111267A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11748128B2 (en) 2019-12-05 2023-09-05 International Business Machines Corporation Flexible artificial intelligence agent infrastructure for adapting processing of a shell
US11550605B2 (en) * 2020-06-30 2023-01-10 Kasisto, Inc. Building and managing cohesive interaction for virtual assistants
CN114912041A (zh) * 2021-01-29 2022-08-16 伊姆西Ip控股有限责任公司 信息处理方法、电子设备和计算机程序产品
CN117434886B (zh) * 2023-12-21 2024-03-08 成都苔岑智能设备有限公司 一种基于运转数字模型的plc控制系统及方法

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060190579A1 (en) 2005-02-23 2006-08-24 Alcatel Assisted command script template creation
US8056129B2 (en) 2007-04-19 2011-11-08 International Business Machines Corporation Validating active computer terminal sessions
US8751628B2 (en) 2009-05-05 2014-06-10 Suboti, Llc System and method for processing user interface events
US20140006012A1 (en) 2012-07-02 2014-01-02 Microsoft Corporation Learning-Based Processing of Natural Language Questions
US9170993B2 (en) 2013-01-29 2015-10-27 Hewlett-Packard Development Company, L.P. Identifying tasks and commitments using natural language processing and machine learning
US9245008B2 (en) 2013-03-12 2016-01-26 International Business Machines Corporation Detecting and executing data re-ingestion to improve accuracy in a NLP system
US9703840B2 (en) 2014-08-13 2017-07-11 International Business Machines Corporation Handling information source ingestion in a question answering system
US9665831B2 (en) 2014-10-24 2017-05-30 International Business Machines Corporation Interactive learning
US10419452B2 (en) 2015-07-28 2019-09-17 Sap Se Contextual monitoring and tracking of SSH sessions
US10015178B2 (en) 2015-07-28 2018-07-03 Sap Se Real-time contextual monitoring intrusion detection and prevention
US10586173B2 (en) 2016-01-27 2020-03-10 Bonsai AI, Inc. Searchable database of trained artificial intelligence objects that can be reused, reconfigured, and recomposed, into one or more subsequent artificial intelligence models
US10218741B2 (en) 2017-01-12 2019-02-26 Acalvio Technologies, Inc. Immunizing network devices using a malware marker
CN110447026B (zh) 2017-03-02 2023-07-11 微软技术许可有限责任公司 用于在新的域中提供自动化助理的开发人员平台
US10957314B2 (en) 2017-03-02 2021-03-23 Microsoft Technology Licensing, Llc Developer platform for providing automated assistant in new domains
US20180276553A1 (en) 2017-03-22 2018-09-27 Cisco Technology, Inc. System for querying models
US10346454B2 (en) 2017-04-17 2019-07-09 Mammoth Medical, Llc System and method for automated multi-dimensional network management
US10960540B2 (en) 2017-05-05 2021-03-30 Accenture Global Solutions Limited Robot orchestration architecture
US10397262B2 (en) 2017-07-20 2019-08-27 Biocatch Ltd. Device, system, and method of detecting overlay malware
CN117573248A (zh) 2017-08-22 2024-02-20 谷歌有限责任公司 在通信会话期间促进用户设备和/或代理设备动作
US10366166B2 (en) 2017-09-07 2019-07-30 Baidu Usa Llc Deep compositional frameworks for human-like language acquisition in virtual environments
US20190122146A1 (en) 2017-10-23 2019-04-25 Artificial Intelligence Foundation, Inc. Dynamic and Intuitive Aggregation of a Training Dataset
US10574824B2 (en) 2017-11-02 2020-02-25 [24]7.ai, Inc. Method and apparatus for facilitating agent conversations with customers of an enterprise
CN108984257A (zh) 2018-07-06 2018-12-11 无锡雪浪数制科技有限公司 一种支持自定义算法组件的机器学习平台
CN109033277A (zh) 2018-07-10 2018-12-18 广州极天信息技术股份有限公司 基于机器学习的类脑系统、方法、设备及存储介质
US11348031B2 (en) 2018-08-22 2022-05-31 International Business Machines Corporation Modeling mastery in distributed cognitive systems and storing the results in a ledger
US11501191B2 (en) 2018-09-21 2022-11-15 International Business Machines Corporation Recommending machine learning models and source codes for input datasets
US11146580B2 (en) 2018-09-28 2021-10-12 Adobe Inc. Script and command line exploitation detection
US11748128B2 (en) 2019-12-05 2023-09-05 International Business Machines Corporation Flexible artificial intelligence agent infrastructure for adapting processing of a shell

Also Published As

Publication number Publication date
US20210174240A1 (en) 2021-06-10
WO2021111267A1 (en) 2021-06-10
US11797820B2 (en) 2023-10-24
JP2023504502A (ja) 2023-02-03
GB202209145D0 (en) 2022-08-10
GB2607738A (en) 2022-12-14

Similar Documents

Publication Publication Date Title
US20210027647A1 (en) Adaptive machine learning system
US20200050942A1 (en) Deep learning model for cloud based technical support automation
CN109564505B (zh) 人工智能引擎、系统及机器可读存储设备
US11797820B2 (en) Data augmented training of reinforcement learning software agent
US10902321B2 (en) Neural networking system and methods
US20200007474A1 (en) Knowledge-driven dialog support conversation system
US9672470B2 (en) Network-probability recommendation system
US20160357790A1 (en) Resolving and merging duplicate records using machine learning
US20140279739A1 (en) Resolving and merging duplicate records using machine learning
US11164136B2 (en) Recommending personalized job recommendations from automated review of writing samples and resumes
US11557219B2 (en) Generating and rating user assessments
Burns et al. Mobile app tasks with iterative feedback (motif): Addressing task feasibility in interactive visual environments
US11144727B2 (en) Evaluation framework for intent authoring processes
US10810994B2 (en) Conversational optimization of cognitive models
US11037459B2 (en) Feedback system and method for improving performance of dialogue-based tutors
US20230133392A1 (en) Automatic generation of question answer pairs
US11501654B2 (en) Automated decision making for selecting scaffolds after a partially correct answer in conversational intelligent tutor systems (ITS)
Hoffman et al. Unwrapping GIFT: A primer on authoring tools for the Generalized Intelligent Framework for Tutoring
US10599821B2 (en) Collecting user feedback through logon questions
US20190251454A1 (en) Artificial intelligence platform for auto-generating reasoning problems and assessing solutions
TWI815605B (zh) 自文件自動產生對話流程
Roman et al. Thinking-Driven Testing: A Universal Testing Framework
TW202324186A (zh) 對話代理反事實模擬
Tam et al. An Effective Cloud-Based Simulator Facilitating Learning Analytics on Mobile Devices
JP2024506519A (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