陈国 彭伟军 付兵兰 钟祥永
一、引言
在信息技术快速发展的当下,许多企业为提高效率而加快促进自身数字化转型,知识图谱与RPA技术在数字化转型过程中扮演了重要角色。
RPA即机器人流程自动化,通过界面识别和系统指令来实现对软件系统的非侵入式操作,能够替代人工处理重复度高的工作,达到“IT换人,降本增效”的目的。
知识图谱是一个结构化的语义网络,通过相互连接的节点来表示知识,目前已广泛应用于搜索引擎、智能问答以及智能推荐等领域。
RPA发展至今已经融合了多种技术,近几年,业界更是提出了“超自动化”的概念,即:以流程自动化为核心,融合人工智能(AI)、大数据挖掘等最新技术,实现更加智能的自动化和更加高级的分析与挖掘。然而,知识图谱在RPA领域的应用较为有限,这是由于RPA具有应用范围广、业务场景复杂等特点,使得知识图谱的搭建和知识获取存在一定的难度。但是,知识图谱技术对未来RPA认知智能的发展至关重要,是实现“数智员工”的基础。因此,构建RPA领域图谱势在必行。
中国移动在磐匠RPA平台的基础上,对PRA领域图谱的搭建做出了有效探索。采用自底向上的构建方法搭建了RPA领域图谱,采用神经网络模型和知识推理方法,实现了流程智能推荐与生成,采用TextCNN、Bilstm-CRF和模板匹配技术,实现了IPA平台使用助手。知识图谱在RPA领域的应用极大地提高了RPA流程开发人员的工作效率,推动了知识图谱在RPA领域的深度融合,具有一定的借鉴作用。
二、RPA领域图谱搭建
(一)功能架构设计
如图1所示,为RPA领域图谱功能架构图,采用自底向上的构建方法,分为数据采集模块、知识抽取模块、知识融合模块、数据存储模块和图谱构建模块。
1.数据采集
数据采集模块实现了对RPA多元异构数据的采集,包括结构化数据、半结构化数据和非结构化数据。其中结构化数据包括控制中心、能力中心和运营中心等八大中心数据库数据,半结构化数据为RPA流程和项目信息,非结构化数据包括后台日志、作业日志和流程执行录屏文件。
数据采集模块主要包含采集模板、采集任务和采集结果三个功能。采集模板和采集任务配置执行后可以生成采集结果,这个采集结果被稱为数据源。数据采集模块采集的数据将由数据存储模块进行存储,同时也将进入知识抽取模块进行下一步处理。
2.知识抽取
知识抽取模块负责将采集的数据转换成三元组格式的知识数据,包含抽取模板、抽取任务、抽取结果和规则模型四个功能。抽取模板需要将数据采集模块中的采集结果作为配置项,随后选择抽取类别(图映射、D2R转换、包装器、信息抽取)。当选择了信息抽取时,可以选用规则模型中项目进行配置使用。
知识抽取得到的规格化知识并不是直接放入到知识图谱中,需要通过知识融合模块进行指代消解、实体统一、实体消歧以及质量评估。
3.知识融合
知识融合模块负责对规格化知识进行进一步处理,使知识的质量符合使用要求。知识融合模块包含融合模板、融合任务、质量评估和规则模型四个功能。融合模板既可以选择知识抽取模块的抽取结果作为输入数据,也可以选择来自图谱构建模块中抽出的子图作为输入数据。选择好输入数据后,可以选择指代消解、实体统一、实体消歧三个分类中的算法模型。算法模型均可以通过规则模型功能进行配置,最后通过质量评估功能评估抽取结果。
4.数据存储
数据存储模块负责系统所有数据的存储功能,包括原始数据存储和知识图谱存储。原始数据存储功能负责存储采集的原始数据、系统平台的应用数据、算法模型数据。
5.图谱构建
知识图谱构建模块包括图谱管理、子图生成和知识推理三个功能。图谱管理包括知识的增删改查等一系列交互工具,子图生成则实现了多租户管理,每个用户能够从知识图谱中抽取子图,并构建个人图谱。知识推理采用内置推理引擎,可以依照用户给定推理规则进行知识推理。
(二)技术架构设计
如图2所示,为RPA领域图谱技术架构图,整个系统在技术上分为5层:数据存储、基础服务、数据治理、Web、数据服务。并在外部对接公司AI中台,进行模型训练与AI计算。
1.数据存储层
MongoDB是一个文档型数据库,最大特点是不需要保证表结构的一致性,对于功能架构中所述各类模板涉及的异构参数配置问题,具有良好的兼容性,因此采用MongoDB进行业务数据存储。FastDFS是一个开源的轻量级分布式文件系统,对于RPA中视频、日志、流程等数据都能进行存储,解决了大容量存储和负载均衡问题,故选用FastDFS对采集的数据源进行文件存储。Cassandra是一套开源分布式NoSQL数据库文件系统,选择它作为知识图谱的存储数据库是因为它原生支持JanusGraph。
2.基础服务层
基础服务层实现了主要的业务逻辑,包括任务调度、数据管控和知识图谱管理。采用Spring框架进行开发,集成Quartz任务调度组件,方便对采集任务、抽取任务进行任务调度,并基于Java实现数据管控逻辑和权限控制。基于JanusGraph图数据库实现千亿级知识节点存储、管理和查询,符合RPA领域图谱的使用需求。
3.数据治理层
知识抽取能够从磐匠RPA平台的业务流程、能力中心、控制中心中抽取有用知识。对于链接数据采用图映射技术进行转换,对于数据库中的结构化数据采用D2R转换工具进行转换,业界采用较多的是D2RQ。对于表格、列表、JSON、XML等半结构化数据,则采用包装器技术进行信息抽取。对于纯文本、视频等非结构化数据,采用规则和模型方式进行信息抽取,分为实体抽取、关系抽取、属性抽取,需要根据不同的场景和领域选用不同的规则和模型。
在RPA领域中,基于规则和词典的抽取方法得到了应用,通过自定义词典和词性能够识别出特定实体,如组件名称、组件类型、执行结果等等,通过Jieba+Refo工具结合,实现了依照给定规则提取实体,缺点是需要依靠大量的规则和模板,覆盖范围有限,很难适应数据变化。基于统计机器学习的方法也被用于RPA作业日志的分析中,采用了Bilstm-CRF进行日志数据的实体识别与提取,提取效果良好,但是受到训练集合限制,存在无法覆盖特定数据导致识别错误的情况。
4.数据服务层
数据服务层是对接外部系统的一层,采用Java进行开发,通过RestAPI实现与外部系统的对接,实现知识图谱能力的输出。
5.Web层
前端采用HTML、JQuery、Echart等技术,采用前后端分离的架构进行开发。
三、RPA领域图谱智能化应用
(一)流程智能推荐与生成
RPA领域图谱能够收集流程知识和业务知识并转化为相关联的三元组。如图3所示,为一个登录业务三元组与登录流程三元组的关联关系,各节点之间通过特定的属性相互联系,方便进行节点搜索和规则推理。
采用TextCNN神经网络模型和Jena推理引擎实现流程智能推荐与生成。具体实现流程如图4所示,用户将业务需求输入到系统中,通过TextCNN神经网络进行意图识别得到业务意图,将业务意图输入到知识图谱中进行图遍历得到相关联的业务流程,另一方面根据业务意图进行推理规则生成得到推理规则,将关联业务流程和推理规则结合进行推理,从而得到最终流程。最终生成的流程可能是知识图谱中已经存在的符合用户需求的流程,也可能是通过推理规则将各个子流程关联组合而成的新流程。
实验结果显示,所设计应用能够解析用户需求,并根据知识图谱中现有流程进行推荐,能够推理规则进行流程重组,达到生成新流程的目的,但所生成流程还需要用户手动调整才能运行。
(二)磐匠平台使用助手
磐匠平台使用助手的功能在于协助用户更好的使用CM-IPA产品,包括使用帮助、问题解决、流程示例等等。为此,IPA平台使用助手需要从运营中心收集各类工单数据和解决方案,基于智能问答的形式为用户提供服务。
在IPA领域图谱的基础上,融合自然语言处理技术,实现RPA知识智能问答,相关伪代码如下:
User_Req=Input();
User_Intention=TextCNN(User_Req);
Req_Entity=BilstmCRF(User_Req)
Swich User_Intention:
Case 1:
SQL_Template=Create_SQL_Template(1, Req_Entity);
Case 2:
SQL_Template =Create_SQL_Template(2, Req_Entity);
…
Result=KG_Query(SQL_Template)
User_Result=SQL_Template.Fuse(Result)
首先获取用户输入的问题,并将问题输入到TextCNN神经网络中获取用户意图,输入到Bilstm-CRF模型中得到实体数据,根据用户意图,选择不同的规则模板,输入实体数据得到具体的查询模板。然后将查询模板输入到知识图谱中得到结果数据,将结果数据融合进查询模板中,得到最终的问题答案。Bilstm-CRF模型被用于实体提取,采用BIO标注法进行数据集标注。
实验结果显示,TextCNN对用户意图的识别得到较好的效果,但对于一些没有见过的数据表现一般,因此需要增大训练集,调整参数,提高神经网络的泛化能力。Bilstm-CRF召回率和f1得分有99%,但是針对大型数据集时,召回率和f1得分会有所下降,因此对于复杂的数据还需对此模型进行进一步强化。整个应用对于问题模板中涉及的问题都能有效识别和生成答案。
四、结束语
本文提出了在磐匠RPA平台基础上进行RPA领域图谱搭建的方法,该方法针对RPA领域应用范围广、业务场景复杂、数据异构等特点形成了有效解决方案,实现了RPA领域知识收集和管理。基于RPA领域图谱,采用神经网络模型和知识推理方法,实现了流程智能推荐与生成,帮助RPA用户快速获得所需流程;采用TextCNN、Bilstm-CRF和模板匹配技术,实现了IPA平台使用助手,帮助RPA流程开发人员提高工作效率。
知识图谱在RPA领域在未来会有更广泛的应用,其可以作为知识后台为RPA平台提供认知智能,包括:提供智能决策,帮助RPA应用处理各类突发情况;提供智能诊断,帮助RPA平台进行故障定位;提供智能协同,帮助IPA平台处理分布式计算、弹性计算等复杂场景。
作者单位:陈国 彭伟军 付兵兰 钟祥永 中国移动信息技术中心