一种基于自然对话的智能体层次化技能生成方法技术

技术编号:38271641 阅读:10 留言:0更新日期:2023-07-27 10:25
本发明专利技术公开一种基于自然对话的智能体层次化技能生成方法,用户通过语音或文本输入方式与智能体进行自然语言交互,并自动生成可被智能体直接执行的、层次化的行为树结构,该行为树实时驱动智能体在其世界环境中执行相应的状态检查和操作技能。同时,用户还能够获得可视化的学生模型,以随时查看行为树库中的已有技能及其组成结构,并实时掌握当前行为树运行状态。用户使用自然语言传授的层次化技能结构被保存在行为树库中,并在后续的调用中具有参数泛化能力。本发明专利技术是一种任何用户群都可掌握的免编程智能体层次化技能生成方法,具有一次学习的能力,且具有强逻辑性、强泛化性和鲁棒性。棒性。棒性。

【技术实现步骤摘要】
一种基于自然对话的智能体层次化技能生成方法


[0001]本专利技术涉及机器人控制
,具体来说,是一种基于自然对话的智能体层次化技能生成方法。

技术介绍

[0002]随着信息科技的发展,使用智能体完成日常生活、工业生产、特殊领域中的各项技能成为不可避免的发展趋势,比如日常服务中的物体运送、工业流水线上的3C装配、航天领域的卫星装配等,且这些技能往往是以长序列的底层技能组合而成。使用这些智能体的用户或技术工人大多不具备智能体编程能力,但熟练掌握所需完成任务的技能步骤和流程。因此,如何让用户快速、高效地向智能体传授由层次化技能组成的操作任务成为一个重要的命题。受到人类社会教育学的启发,一种自然的想法是将智能体看作具备基本元技能(即不可再分割的底层技能)的“学徒”,而人类教师的作用是使用自然语言向学徒传授高层任务,并逐步向下分解至其已掌握且能实时执行的较低层技能。最终,智能体将自己具备的基本元技能组织为高层的完整操作技能,并具备参数泛化能力。
[0003]近年来,使用自然语言教授智能体操作技能成为一大研究热点,[Language

conditioned imitation learning for robot manipulation tasks]Stepputtis等人将自然语言融入到操作任务的模仿学习中,[CALVIN:ABenchmark for Language

Conditioned Policy Learning for Long

Horizon Robot Manipulation Tasks]Mees等人为指令跟随机器人提供了一个公共基准,Google Robotics也提供了一个语言桌面[Lynch C,Wahid A,Tompson J,et al.Interactive language:Talking to robots in real time[J].arXiv preprint arXiv:2210.06407,2022.]。这些工作将语言、视觉、运动进行端到端的联合训练,并取得了很好的效果,让我们看到了语言驱动机器人的未来。然而端到端的模型更适用于元技能的学习,若用于长序列操作任务的学习则存在训练数据的采集和标注工作量大、训练量大、可解释性差、用户可靠性低、用户自定义能力差等不可避免的弊端。与之相比,更具逻辑性的交互式任务学习理念可以解决这些问题,更适用于智能体对层次化技能的学习。
[0004]在交互式任务学习中,智能体将外部指令与自身已有知识逐步整合,生成内部知识表示并高效执行。交互式任务学习是一个新兴的研究课题,然而其思想在许多工作中都有所体现。[Back to the blocks world:Learning new actions through situated human

robot dialogue]She等人提出了一种机器人在桌面域通过对话学习新动作的方法。他们的自然语言处理采用了组合范畴语法(Combinatory Categorial Grammar,CCG),并在动作模块中提出了三层动作知识表示法,使用连续运动规划器、离散运动规划器和高级运动知识库进行机械臂动作的构建和执行。[Language to Action:Towards Interactive Task Learning with Physical Agents]Chai等人使用树状结构对智能体内部的任务结构进行了表示。在[Hierarchical action learning by instruction through interactive grounding of body parts and proto

actions]Petit等人的工作中,他们使用交互方式
教iCub机器人执行手部层次化的动作,首先按预定义的模板从自然语言中抽取语义信息,并通过语义信息和关节角度的映射学习并泛化元技能,最后利用元技能进行高层次动作的构建。除了上述物理机器人应用场景外,交互式任务学习还可应用于语音助理等软件代理。SUGILITE系统将自然语言指令与在图形化界面上的演示相结合,他们使用基于语法的可执行语义解析器进行自然语言理解,并将用户演示转化为脚本以执行底层技能[Li T J J,Mitchell T,Myers B.Interactive task learning from GUI

grounded natural language instructions and demonstrations[C]//The AAAI

20Workshop on Intelligent Process Automation(IPA

20).2020.]。虽然他们的工作都取得了令人赞叹的成果,但仍存在两个共有的问题,一是在自然语言处理方面都没有使用理解能力更强大的深度学习模型,二是尚未形成一种能广泛应用于交互式任务学习系统的,通用的、高效的操作技能表示方法。
[0005]研究人员们使用有限状态机、与或图、决策树、行为树、知识图谱等方式来表示并执行机器人的操作技能。其中,行为树在近年来受到了越来越多的关注。它与有限状态机在本质上相同,然而行为树具有高可读性,以及高度模块化、透明化、实时性强的优点,因此在实际应用中优于有限状态机。[On the implementation of behavior trees in robotics]Colledanchise等人提供了一个使用行为树执行任务的案例,说明了行为树在智能体操作技能的表示与执行中的有效性、高效性,体现了行为树在机器人领域的应用价值与前景。[Learning behavior trees from demonstration]French等人则提出了一个从人类示范中自动学习行为树的算法,并以机器人清理桌面的任务做了验证。由于上述提到的众多优点,可以预见行为树在未来智能体的层次化技能表示与执行上有很多应用价值,然而还并未有由自然语言自动生成以行为树表示的层次化技能的方法提出。

技术实现思路

[0006]针对上述问题,本专利技术提出一种基于自然对话的智能体层次化技能生成方法,用户通过语音或文本输入方式与智能体进行自然语言交互,并自动生成可被智能体直接执行的、层次化的行为树结构,该行为树实时驱动智能体在其世界环境中执行相应的状态检查和操作技能。同时,人类还能够获得可视化的学生模型,以随时查看行为树库中的已有技能及其组成结构,并实时掌握当前行为树运行状态;用户使用自然语言传授的层次化技能结构被保存在行为树库中,并在后续的调用中具有参数泛化能力。本专利技术还基于中文自然语言进行交互,但其架构逻辑可扩展到任何能被Multilingual BERT处理的104种语言。
[0007]本专利技术基于自然对话的智能体层次化技能生成方法,一种基于自然对话的智能体层次化技能生成方法,其特征在于:包括用户界面、自然语言理解模块、本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于自然对话的智能体层次化技能生成方法,其特征在于:包括用户界面、自然语言理解模块、回复生成模块、技能模块、状态感知模块、行为管理模块,以及包含机械臂的虚拟或真实世界;所述用户界面用来实现智能体接收用户输入的文本信息或语音信息,并将语音信息转换为文本信息;所述自然语言理解模块用于对经用户界面输入和语音听写后的文本信息进行处理,采用训练好的JointBert模型根据文本信息给出直接用于生成层次化技能的槽位,并输出文本信息的意图,若意图为技能指令时,对意图进行处理,具体为:首先查询技能模块中存储的已经具备的所有技能,判断技能是否为已学技能,若已学则直接进行技能调用;否则,在技能模块中进行同义技能判断,若存在同义技能,则将意图判定为同义查询,并向用户发起交互提问,以确定是否进行同义技能;当确认为同义技能时直接进行技能调用,若不存在同义技能或得到用户否定回复时,则将意图判定为学新技能;所述回复生成模块,采用ChatGPT与模板回复相结合的方式与用户间进行语言交互;其中,模板回复仅用于意图判断为同义查询的语言交互过程;除此以外,智能体产生的回复均由ChatGPT给出;所述技能模块中以行为树库对智能体所具有的技能进行表示和驱动;同时技能模块还对自然语言理解模块输出的意图进行同义技能判断;所述状态感知模块包括对世界环境和机械臂状态的查询,以配合技能模块中行为树库部分所述的执行条件、跳过条件、完成条件的检查,以及底层元技能的执行;所述行为管理模块中设计了一个由自然语言理解模块输出的语义信息自动生成行为树结构的算法,设计如下:首先进行初始化,获取当前以xml存储的行为树root和待运行主树的sequence节点main_seq,并建立一个存放所教学技能的栈Stack;然后等待用户输入,当用户输入为退出时,结束所有交互及技能执行,否则获取由自然语言理解模块给出的语义信息,包括用户意图intent,技能名skill_name,槽位slot、槽位类型slot.type,并根据下述3种情况分别进行处理:情况1:用户意图为学新技能;在root下新建一个ID为技能名skill_name的子树new_tree,并向其添加一个sequence节点seq_node;然后将所有槽位都以黑板键值对的形式添加在seq_node下,键为槽位slot,值为其类型slot.type在其父级树中对应的值,记作{slot.type};接下来将新技能添加在其父节点技能之下;若栈Stack为空,所述父节点为main_seq,否则为栈顶存储的sequence节点;取到父节点f_seq后,查询f_seq下的已有黑板键值对,如果当前新技能所包含的参数尚未存在于黑板中,则补充其对应的键值对,此时键为该槽位slot,值为该槽位对应的元技能运行参数;然后在该父节点f_seq下写明该新技能子树的ID和语义信息;当情况1的操作完成后,将seq_node放入栈Stack中;情况2:用户意图为技能调用;首先判断该调用技能的父节点,当栈Stack为空时,此时的父节点为main_seq,否则为栈顶存储的sequence节点;然后将现在所调用的技能添加至该父节点f_seq;同样先查询f_seq下的已...

【专利技术属性】
技术研发人员:戴树岭王恺怡赵永嘉张宁雷小永
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1