ChatOps智能问答技术在运维服务领域的应用探索与实践.docx
《ChatOps智能问答技术在运维服务领域的应用探索与实践.docx》由会员分享,可在线阅读,更多相关《ChatOps智能问答技术在运维服务领域的应用探索与实践.docx(12页珍藏版)》请在优知文库上搜索。
1、在智能交互领域,ChatOps基于DeVoPS协作模式,是人工智能技术和新型工作理念相结合的产物,其以沟通平台为中心,通过与机器人产生对话和交互,使开发人员只需在聊天窗口即可完成DevOps所承载的工作。以运维工作为例,ChatOps围绕一线和二线员工运维数据获取难、使用难、信息不通畅、信息支撑手段匮乏等痛点,可助力打造数据赋能的智能运维问答机器人,构建低成本、高效率的共享服务模式,实现公开透明、上下文共享、移动友好以及DeVoPS文化打造等一系列目标。对此,笔者团队基于农业银行一体化生产运维平台,创新构建了新一代智能运维问答机器人,旨在为AlOPS和DevOps能够更好融合添加助力、搭建桥梁
2、,以及为有相似建设需求的金融同业提供可借鉴、可拓展的实践案例。一、基于ChatOPS的多轮对话方案设计一般而言,多轮对话常用于任务型智能问答场景,使用者带着明确的目的而来,希望得到满足特定限制条件的信息或服务(如查询信息、订票、找电影、购买商品等)。实际上,用户需求可能很简单也可能很复杂,甚至需要通过多轮陈述,在对话过程中不断修改、完善自身需求。简言之,多轮对话更像是一个决策过程,需要智能运维机器人在对话过程中不断根据当前状态决策下一步应该采取的最优动作,从而有效辅助使用者完成信息或服务获取。在此过程中,意图识别是智能问答自然语言理解(NLU)中的一个必要步骤,它通过分类方法支持将query分
3、配到相应的意图种类,最大优点是可以有效缩小检索范围,大幅提升问题匹配的准确度,因此对于特定领域的问答系统有着非常重要的作用。聚焦智能运维领域,由于专业领域的特殊性和用户习惯的差异性,运维人员通常并不会遵循纯自然语言的输入规律来提出问题,而智能运维机器人也很难理解一个具体的服务目录、项目名称或某个运维工具代表了什么含义。针对上述难点,为构建一个具备良好可扩展性和专业领域理解能力的智能运维机器人,笔者团队自研实现了两种不同的多轮对话场景,并着重解决了两者间存在的语序冲突等问题。在此基础上,根据用户对特定领域机器人提问的特性,笔者团队还基于NLU的对话能力进一步实现了基于检索的智能问答意图识别,同时
4、解决了跨平台的语义冲突等问题。二、基于状态机的多轮对话应用实践为实现“轻量级”的多轮交互,笔者团队创新设计了引导式的对话模式,即通过语音客服,辅助使用者输入指定关键字来进一步获取回答或查询更多信息。1 .基于Redis的存储结构鉴于智能问答具有“短、平、快”等特征,笔者团队最终选定了RediS作为存放多轮对话临时答案的缓存机制,该方法既能确保对话维持在高响应速率,也能自由控制临时答案的存在期限。在该存储结构中,本轮答案和下轮答案均以json方式存储,可输入的关键词是“键(Key)”,其余元素构成“值(Value)w0多轮对话答案存储模型如图1所示。值(Vabe)图1多轮对话答案存储模型在上述存
5、储结构中,为避免出现刷新RediS时更新域无法控制的情况,笔者团队选择将输入值存放在同一个键值对下,以确保更新缓存时答案的一致性和完整性。举例来说,本轮次设置用户的快捷输入为“1、2、3”,输入“1”进入的下一轮次快捷输入为“1”和“2”,那么在输入“1”刷新缓存时,快捷输入值“1”和“2”的缓存键值会被同步更新,但输入“3”的缓存键值依然保留着,这意味着用户即使进入到下一轮次,仍可以输入上一轮次中的部分快捷键获取上一轮次答案。2 .对话状态机模型设计实现多轮对话的核心在于智能运维机器人需要时刻了解用户的当前状态,知道用户何时进入了多轮对话,又在何时选择退出。对此,笔者团队选择基于状态机原理来
6、实现多轮对话场景。本地多轮对话状态模型如图2所示。未触发 多轮对话图2本地多轮对话状态模型总体来说,基于对话状态机原理的设计思想如下:智能运维机器人前端设置全局变量,默认用户状态为单轮对话状态,表示用户当前未进入多轮对话。当用户的提问命中了多轮会话后,根据场景特点,如后续轮次大于L则用户状态进入多轮初始状态,表示用户正处于多轮对话,且还可有下一轮对话;如后续只有一轮次,则用户状态进入多轮结尾状态,表示用户正处于本多轮对话场景的最后一轮。基于该模式,可以使答案模板与缓存机制的交互次数趋于最小化,从而尽可能减少性能上的开销。在上述流程中,当用户提问进入多轮状态后,智能运维机器人首先需要区分该场景是
7、否还存在下一轮对话,如果当前己为最后一个轮次,那么仅需要向用户返回本轮答案即可;如果当前对话仍存在更多轮次,那在获取到本轮答案之后,还要把下轮答案也放到缓存中。本地多轮对话程序流程如图3所示。图3本地多轮对话程序流程3 .多轮对话异步加载在前述方法中,对于下一轮次需要调起外部联机接口的场景,预先加载答案不仅会使性能压力都集中在前一轮次,且不能保证用户一定会选择进入下一轮次,这使得提前缓存略显冗余。此外,部分联机接口对时效性要求较高,实时检索结果也始终在动态变化。基于以上考虑,笔者团队对存储结构进行了优化,允许通过异步加载的方式返回结果,即本轮次下用户输入某个快捷键后,智能运维机器人才会调起对应
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ChatOps 智能 问答 技术 服务 领域 应用 探索 实践
