1.7 自动化技术的演进策略
自动化技术的演进路线在不同的资料中有很多种分法,有粗有细,但是大体可以归纳为4个演进阶段,即桌面自动化、机器人流程自动化、高级的流程自动化、智能的流程自动化(见图1-13)。
图1-13 自动化技术演进的4个演进阶段
1.7.1 阶段一:桌面自动化
机器人桌面自动化(Robotic Desktop Automation,RDA)指的是一种计算机应用程序,为员工提供一套预定义的活动编排,以完成一个或多个不相关软件系统中流程、活动、事务和任务的执行,需要在员工发起管理后才能交付自动化服务结果。
通常,RDA这种类型的自动化并不会改变流程,只是帮助员工更快地执行任务,减少人为错误,提高处理速度。员工仍然是该自动化任务的负责人,RDA的作用是支持或辅助员工操作桌面软件,所以需要员工自己来设置机器人,并由人来触发、控制和监督机器人的执行。
RDA专注于自动化软件在桌面级别的快速部署,属于有人值守机器人的一种。RDA也是几乎所有RPA技术的前身,虽然现在单独提供RDA产品的厂商越来越少,但市场上仍有几种RDA产品,如我们所熟知的国产软件按键精灵等。
1.7.2 阶段二:机器人流程自动化
机器人流程自动化(Robotic Process Automation,RPA)可以说是RDA的升级版本。RPA不但是在技术上对RDA进行了完善,而且在自动化理念上也前进了一大步。RDA必须有人参与,而RPA提供了无人参与的能力,即无人值守机器人。为了实现机器人7×24的不间断自动运行,RPA需要提供许多相匹配的技术能力,如自动化任务的调度方式、机器人的多种启动方式、机器人编排和监控能力、更丰富的集成能力、支持云端部署等。
在实现理念上,RPA提出了流程优化、机器人治理、虚拟员工等更深层次的可以更大范围推动自动化的解决方案。所以,RPA的主要目的已经升级为节省人力、提高运营效率和构建数字化工作环境。RPA机器人不再是依靠一线员工来控制,而是依靠整体的机器人集中运营机制和规范来控制。RPA除了支持桌面部署外,还可以在服务器部署。从图1-14可以看出二者主要区别在于机器人执行的控制点——RDA机器人执行的控制点在前,而RPA在后。
图1-14 RDA和RPA的区别
1.7.3 阶段三:高级的流程自动化
如果RPA只是单纯地提供编辑器、运行器和监控器这三部分的技术能力,则一些棘手的流程自动化问题仍是无法解决。例如,自动化操作时的信息采集问题;识别和处理结构化数据,如电子表格、系统界面上的字段信息等;或者通过标签或关键字处理半结构化数据,如网页信息、Word文档等。
有一种情况不得不考虑,就是在业务办理中所遇到的各类纸质文件,如发票、单据、各类申请书等。为了更好地实现流程自动化处理,自动化系统就需要先把纸质文件转换为扫描件,然后通过光学字符识别技术对扫描件中的内容进行识别。光学字符识别(Optical Character Recognition,OCR)技术是对文本资料的图像文件进行识别处理,获取文字及版面信息的过程。在一些情况下,只是文字识别还是不够的,可能需要从文档中识别出一整段文字,而这段文字是无法直接提供给RPA来自动化处理的,必须要转换成准确的结构化数据才行。而自然语言处理(Natural Language Processing,NLP)可以把人类叙述的自然语言转换成有含义的一组数据信息,是一门融语言学、计算机科学、数学于一体的科学。
另外,在自动化处理过程中我们经常会遇到需要判断和决策的问题。基本的RPA技术实现的是人的手工操作工作,而人进行手工操作的过程并不只是涉及手的动作,还会涉及头脑的思考过程,其实真正的过程是人利用头脑来指挥手完成动作。如何实现头脑分析这部分能力也就变成了自动化领域不得不思考的问题。我们把人类头脑里的思维逻辑,从计算机的视角分为以下几种情况。
第一,简单规则判断。所谓的“简单规则判断”即可以直接将待处理的业务规则逻辑写进RPA程序脚本。
第二,复杂规则判断。判断流程中的一个步骤是否能执行,需要考虑的因素很多,各种维度之间又会相互影响。例如某个采购项目的判断需要考虑价格、效率、质量、成本等各个方面的因素,综合后才能做出决策。这时,自动化系统就需要采用业务规则引擎(Business Rules Engine)技术来实现多项业务规则的控制和判断。
第三,人类的经验判断。所谓的“经验判断”是根据以往的流程中的决策结果,来判断这一正在发生的案件能否遵循前期的经验判断执行。这时,自动化系统通常需要采用知识库和知识图谱技术来协助处理。
第四,推理判断。如果再深一步,当流程中一些事项需要推理判断时,我们所讲的专家系统就会派上用场。专家系统可以简单地理解为由知识库加上推理机组成。又如,在自动化的处理流程中经常会出现异常情况,为了不让异常情况对自动化流程产生影响,自动化系统就需要提升容错能力和错误修复能力,来保证业务处理的连续性。
所以,我们可以把已经解决了上述问题的机器人流程自动化称为高级的流程自动化(Advanced Process Automation,APA)。APA需要在传统的RPA上叠加更多的技术能力,如OCR引擎、NLP、规则引擎、知识库、知识图谱、专家系统等。同时,APA也需要对RPA的容错能力加以提升,如机器人的自我修复能力、负载均衡能力、灾备恢复能力、业务活动监控能力,以及传统运维方式的集成能力等。
APA与RPA的本质目的是一样的,都是为了适应更复杂的流程、更多样的情况,更加完美地实现自动化而做出的技术补充或技术集成。对于目前市场上的这些RPA软件产品,基础的RDA和RPA能力上的差别并不大,而对于能否实现APA的能力以及能够实现多少APA的能力,才是各个产品成熟度的主要衡量尺度。
1.7.4 阶段四:智能的流程自动化
如果高级的流程自动化再向前前进一步,就达到了智能的流程自动化(Intelligence Process Automation,IPA),也有人称之为认知流程自动化(Cognitive Process Automation,CPA)。
我们首先需要回答一个问题:RPA或APA是否属于人工智能?
对于此问题,通常会有两种截然不同的观点。
·一种观点认为RPA只是基于固定规则的自动化处理,没有什么智能在里面,所以RPA也就不属于人工智能。
·另一种观点认为人工智能领域本来就有一个分支是自动化,如果那些智能制造领域的自动化设备、跳跃行走的机器人可以纳入该领域,那么将自动化技术应用于办公领域的RPA也可以算作人工智能领域的一份子。
事实上,人工智能历经沉浮,近年来大势崛起。通常认为,本次AI的兴起依赖于三个基础因素:算法、数据和算力。有人会拿汽车给人工智能做比较,算法就像是发动机;数据就像是汽油,提供动力;而算力就像是车轮,驱动汽车前进。简单地讲,人工智能领域可以分三层来考虑。
·最底下的是基础层,即那些能够提供基础算法、大数据处理和算力的基础技术。基础算法如机器学习、深度学习、强化学习等;大数据处理如Hadoop、Spark、大数据存储和访问等;算力如GPU、TPU、传感器等。
·中间层是技术平台层,即利用最底层的基础技术组合形成可以更加通用的技术平台,如TensorFlow、语音交互、计算机视觉、无人机、自然语言处理、专家系统等。
·最顶层是人工智能应用层,如对话机器人Chatbot、自动驾驶汽车、智能制造、智能家居等。
每一层技术的扩展不仅需要底层人工智能技术的积累,还需要更多跨领域的学科技术,如语言学和数学理论。Francesco Corea的AI知识图体系中,按照技术方法和问题领域两个维度来分析人工智能技术,如图1-15所示。
图1-15中的横轴是AI范式(AI Paradigm),纵轴是AI问题领域(AI Problem Domain)。AI范式从左到右包括基于逻辑、基于知识、概率方法、机器学习、体验智能、搜索和优化。AI所要解决的问题从下到上包括感知、推理、知识、规划和沟通。在这个体系中,RPA属于人工智能领域,是基于逻辑和知识解决问题的一类技术。也就是说,如果希望解决更多的问题,就需要与更多的AI技术结合使用,但是仍旧只解决了AI领域最初级、最基本的问题,也就是人工智能名词中“人工”的部分。广义来看,RPA是人工智能技术的一部分。如果你是持有第一种观点,那么RPA不属于人工智能,可能你的理由是它没有用到统计学的算法技术,未能解决感知、推理、沟通问题。
图1-15 AI知识图体系
将人工智能技术与RPA相结合后的智能流程自动化,有希望解决提出的这些问题。如感知问题,RPA虽然可以获取结构化或半结构化信息,APA可以获得非结构化文字信息,但是需要利用IPA才能识别图画或视频,达到计算机视觉的识别水平。又如推理问题,RPA虽然可以录制人的操作过程并形成程序脚本,却不能举一反三地学习人的操作过程,而IPA可以通过分析人类的操作数据实现操作过程中的自动化推理。再如沟通问题,RPA仍旧采用的是计算机类的交互方式来传递和返回信息,而IPA可以依靠语音或自然语言来协作完成沟通。
前面谈到了RDA、RPA、APA和IPA四个自动化技术的演进趋势。不管是哪种技术的应用,最终要解决的问题都是将业务流程尽量自动化,这个目标始终是不变的。每种技术都是基于上一个技术不断累积,在当前阶段再结合其他技术一起使用而成长起来的,所以不能对每种自动化技术做互斥比较,更应该是向下兼容式比较。