万通商务网
首页-产品目录

财_务_rpa-财_务_机器人-实在智能

其它参数:
产品介绍:
社会正处于一个由信息化向自动化由自动化向智能化转型的时代,人工智能正渗透到各行各业,然而在面对个性化的场景、分散的系统和散落的数据时,如何通过人工智能为社会带来价值?构建数据中台或者paas平台也许是好的选择,但这些举措往往成本高企,过程漫长,前期企业很难为此买单,相比之下,rpa(机器人流程自动化)作为一个成熟却受限的应用一直被低估,它有着成本低,落地快的优势,可以成为当下人工智能的接盘侠。

基于这个目标,我们提出了“章鱼数字员工”的概念,rpa相当于章鱼的多条触手,执行多项复杂操作,ai相当于章鱼的大脑,做出合理的智能决策,组合而成就是一个无实体形态的“章鱼·数字员工”。设想一下,未来一个人带领一群机器人工作的场景,这将成为我们看到的未来。相比于唤作机器人,我们更愿意称之它为“数字员工”。

「实在智能」的产品以ai+rpa为主打,由ai云脑(z-brain)、机器人工厂(z-factory)、中枢控制台(z-commander)、终端机器人(z-robot)四部分组成,其中终端机器人(z-robot)可单独使用,也可结合企业所需嵌入某流程中使用。

一、z-factory机器人工厂
rpa的核心部分,又叫流程编辑器。基于前期对企业客户及rpa的研究调查,我们配置的流程编辑器拥有强大的稳定性和兼容性,同时内部组件库深度汲取了人工智能“sota”技术,能充分适应企业级复杂流程的创建与运行。

1、可视化低代码,小白也能轻松上手

当用户登录factory系统的时候,可以快速的开启原历史打开或创建的应用。我们可视化的、流程块的节点编辑,通过简单的拖拉拽,就可以搭建符合当前用户场景的业务逻辑。如果对业务流程一知半解也没关系,我们内置了丰富的典型案例,用户可以在这案例的基础之上去构建适合它的场景的应用,做相应的简单的改造。当然也可以直接运行典型案例的流程,享受流程自动化带来的快感。

2、精准处理复杂流程,企业级管理就是小case

我们自研的rpa流程引擎相较于传统的开源的work flow的流程引擎,它能支持复杂场景的流程设计,并支持多任务进行以及支持流程节点的异常处理。以下面两个真实的案例客户为案例:

从这个流程图当中可以看到,在繁杂的业务流程中,factory能完成多任务并行,同时处理各种异常情况的扭转,我们也在这个流程节点中加了一些try-catch的机制,方便我们用户处理各种异常情况。

3、智能检索+超丰富组件库,花式打造各种流程

我们的ai能力通过组件化低门槛的方式,方便用户进行简单的调用,同时我们也支持私有化的部署。我们自研的基于计算机视觉的cv的组件,当前已支持了flash、sliverlight以及pdf相应的一些图片上面的元素 的拾取和操作。当然在其他类型,如ocr类型,我们已支持常见场景的图片类识别,比如说身份证、银行卡、对账单、保险单、工业巡检等;在nlp这个类型中支持了具有通用性原则化的一些分词,包括关键词提取、语义分析、语义相似度分析等。,我们可以根据客户的场景去研发符合业务需求的能力。

4、公共参数可视化,既是拥抱变化也是维持稳定

大家都知道在互联网行业里,我们听得多的一句话就是拥抱变化。rpa数字员工,在安 装部署的过程当中对环境的要求是非常的高,如果任何一个环节出现了变化,它的可用性就基本上降为0。有了公共参数可视化的配置组件,就完全可以解决以上这个问题,让我们数字员工具有能够拥抱变化的能力。它的实现的原理跟机制是把我们流程当中具有可变的因素 、条件设为全局变量,支持可视化的配置输入,然后就可以提升我们整个流程应用的一个可维护性、可适配性。

二、z-commander中枢控制台
充当流程的指挥官。顾名思义,统筹多台设备上客户端机器人的管理和监督、进行智能运筹调度、任务计划制定。它具备一高一低两个特性:一、产品的稳定性高,二、维护成本低。

三、z-bot终端机器人
任务的执行者,其中bot包含三种模态:任务式,流程式,交互式。它们可以灵活部署在客户端设备上,并通过时间轴和数据看板的方式展现bot各个时间节点上,每个任务执行情况以及执行结果,让效率进一步得到提升。同时bot也具备了z-commander的一些基础的能力,它可以脱离z-commander的进行灵活的一个控制,灵活的任务管理,灵活的定时任务设定。

四、ai云脑

实在智能在传统“三件套“架构的基础上,了自研ai能力平台“智能云脑”z-brain。其中,在自然语言处理领域,z-brain覆盖了包括bert、albert、roberta等算法;在计算机视觉领域,z-brain覆盖了db、pmtd、rare等算法。具备迭代、自动调参、多场景融合技术,可以输出ai组件,完成大规模复杂场景的智能决策。

首先是云脑部分的起点——data hub多元异构数据平台,由它接触我们客户的业务系统,进行数据的采集以及进行简单的处理,并将处理过后的数据传输到我们的标注平台,我们的业务专家,在标注平台进行业务能力的一个标注,然后实现人工智能的人工部分,通过标注过后的数据,再以在线的方式传输到我们的算法平台,相当我们人工智能有了数据的石油,算法平台里面可以进行数据的提炼(预处理),包括模型的构建、参数的设置、模型的训练以及的打包发布,可以将模型直接发布到我们的决策平台,由决策平台来进行业务的对接以及模型的一个计算,决策平台会将后续从data hub过来的业务环境的数据进行一个模型的计算,输出计算结果或者是决策方案,然后由这个方案发布送到我们的commander,commander来调度具体的bot来进行根据决策进行相应的一个执行。

这就是我们智能决策机器人的全链路,它实现了一个从数据到决策的闭环。我们相信ai+rpa有着无限的可能,在未来机器人的协作里,rpa的发展肯定是机器人之间的协同工作能够产生无限的自动化和智能化提效的解决方案,我们首先需具备ai加rpa的产品矩阵,并以此形成适用于各行各业的rpa解决方案库。


相关新闻:实在智能rpa学院|lime应用及其时间复杂度初探

问题背景:
机器学习或深度学习模型在赋能2b的实际业务场景时,模型的可解释性一直是影响模型快速落地的瓶颈。为非ai相关背景的客户或合作伙伴解释模型(尤其是黑盒模型)的训练和预测过程,以及某个预测结果背后蕴含的推理,往往是一件很有必要但很棘手的事情。对于我们目前从事的智能司法场景尤其如此:案件的判决往往在一定的司法框架内进行推理,每一个步骤都必须有法可依;那么智能司法产品的结果同样需要基于对应的法律法规给出令人信服的解释,否则模型尽管在验证集上效果很好,也并不能得到用户的信任。
为此,我们希望我们构建的模型创建一个相对通用的解释器(explainer)模块。该模块能够给出模型预测行为的一种相对直观的表征形式,以便我们清晰地知道这个“ai律师”是否足够有经验;同时也希望该解释器具有一定的模型无关性(model-agnostic),这样我们可以扩展更多得模型。lime(local interpretable model-agnostic explanations)的出现为我们提供了一种解决的思路。目前司法场景下的数据大致可以分为文本形式(text)和结构化形式(tabular),本次我们的探索主要集中在对结构化特征的应用上。
lime简介:
lime在2016年的kdd上提出,其论文《“why should i trust you?” explaining the predictions of any classifier》提出了一种用预测值附近的局部线性模型来解释整体复杂模型的思想,其中包括的主要技术有:
◎ 预测值附近的样本点选择
◎ 评估模型整体需要的预测值集合筛选
◎ 解释器好坏评估的实验
后两点在实际场景中应用的不多,因此我们只关注如何选择预测值附近的样本点及构建对应的线性模型,以及如何用该线性模型来解释模型。
样本点选择:对结构化特征的分类模型,lime样本点选择主要在lime_tabular.py中limetabularexplainer类的__data_inverse函数实现。正如注释所提到,对于非categorical类型的特征,lime在预测点附近用一个正态分布norm(0,1)来产生指定个数(num_samples)的样本:
1. data = self.random_state.normal(
2. 0, 1, num_samples * data_row.shape[0]).reshape(
3. num_samples, data_row.shape[0])
并根据指定的尺度做变换:
1. if self.sample_around_instance:
2. data = data * self.scaler.scale_ + data_row
3. else:
4. data = data * self.scaler.scale_ + self.scaler.mean_
而对于categorical类型的特征,则根据训练集的分布进行频率采样,并且当某一样本的categorical特征和预测值对应特征相等时置1。采样过程将生成一个num_sample * k的矩阵,其中k表示待解释的特征维度,后续的线性模型则在此基础上建模:
1. nverse_column = self.random_state.choice(values, size=num_samples, replace=true, p=freqs)
2. binary_column = np.array([1 if x == first_row[column]
3. else 0 for x in inverse_column])
线性模型构建:局部线性拟合的实现在lime_base.py的explain_instance_with_data中,回归方法的选择上应用了有偏的岭回归模型,这种回归方法通过对回归系数增加惩罚项来控制模型的复杂度,和ml/dl模型中在损失函数中加正则项是同样的道理

通过惩罚项的引入,就使得模型的特征存在一定的共线性情况时,也能得到相比于一般的线性回归更加鲁棒的回归结果,同时用线性回归簇也充分考虑了回归函数的复杂度问题。另外,在用sklearn的岭回归模型拟合样本点过程中,对样本点也进行了加权,具体的权重是和样本点到预测点的距离有关,这种做法的出发点在于给和预测点更相似的样本赋予更大的权重,进一步规避随机采样过程中带来的解释偏差问题
1、def kernel(d):
2、 np.sqrt(np.exp(-(d ** 2) / kernel_width ** 2))
通过岭回归拟合得到的各特征及其权重即可作为模型在该预测点的解释。不过,在模型的特征比较多的时候,lime也提供了对特征重要性的评估和筛选过程,包括三种模式的筛选:forward_selection、highest_weights、lasso_path,具体内容感兴趣的同学可以对其进行深入探索。

lime的实际应用
就我们的智能司法场景来说,每个预测点代表了一次案例的结果推理,其中结构化的特征是从对应的诉求表述、法规法条和证据文本中加工得到,因此lime在利用局部线性拟合获得预测点附近的特征权重后,就可以反向映射到原始的文本数据中,进而可视化的展示出模型在该预测点的原理表征:考虑了哪些特征,不同特征在不同分类上的权重分配是怎么样。
lime在结构化特征上的应用实际主要就是调用以下两个方法的过程:
3.1 explainer = lime.lime_tabular.limetabularexplaine()
传入的参数包括:
x:训练样本,从原始的文本数据通过分词、关键词提取、向量化等方式获得,例如可以根据在诉求文本中是否出现了关键证据模式(1.出现,0.未出现)来将文本特征转化为结构化特征,这里我们通过一个.npy文件导入训练样本;
feature_names: 特征名称list,是各个特征具象化的表征;
class_names:分类名称list,如果是两类,可设置为[“0”,“1”],代表支持或不支持诉求;
sample_around_instance:true,表示在预测点附近采样,选择false则会在训练样本的质心点附近生成样本集进行拟合。
limetabularexplaine构造了一个解释器的类,并完成一些初始化的工作,真正的解释器实现,包括局部线性模型的拟合都会调用到其中的explain_instance方法。
3.2 exp = explainer.explain_instance()
传入的参数包括:
np.array(feature_list):是实际预测数据的结构化特征表示,例如我们的预测数据假设为一段诉求文本,则根据生成训练样本x的方法转化为一个k维的向量,k表示特征维度;
clf.predict_proba:clf是通过sklearn的joblib导入的已训练好的模型文件,对于分类问题来说,需要以概率的形式给出属于各个类的可能性;
num_features:希望在解释器中展示的特征的个数;
top_labels:对于多分类问题来说,选取预测概率的若干个类;
num_samples:采样点的个数,预测值附近采样点的个数。
根据司法场景的实际情况处理好相应的参数,并将参数输入到lime的解释器模块,得到了一个explainer对象,该对象可以通过as_list或as_map方法转换为<特征,权重>对,并经过一定的特征映射和可视化,作为模型的局部解释进行输出。

lime的性能问题
实际应用以及对lime的原理探索的过程中,我们发现应用lime对某个预测点进行解释的时间复杂度,和以下这些参数有比较强的关系:feature_selection(特征选择方式)、discretize_continuous(是否针对连续数据做离散化)、num_samples(预测值附近的采样个数)等。而对于一个交付线上应用的智能司法产品来说,解释模块如果时间复杂度太高,对于用户而言体验会很差,同样也是不可用的,反而会给用户对ai模型的信任度有副作用。一个实际使用的解释器需要充分考虑解释准确性和时间复杂度的trade off,为此我们基于上述参数对lime的时间复杂度进行了简单对比:
从上述对比结果来看:特征的选择方式对lime的时间复杂度的影响,如果采用forward_selection的方式选择特征,固然能获得更好的拟合效果(r2-score),但是整体的时间消耗是线上应用不能接受的;是否对非categorical特征进行离散化也是影响时间复杂度的重要因素 ,基于训练样本的离散化过程同样需要消耗比较多的时间;采样点的个数和时间基本是正向相关的关系,同样地,更细致的采样虽然使得局部的拟合效果更好,但也是以更多的时间消耗为代价。
针对lime的性能和效果的折衷问题,理论上可以通过以下两种方案解决:
1、基于已知的训练数据集,把lime的特征选择过程、特征离散化过程等放到线下作为预处理的一部分,在线上直接使用预处理的结果;以特征的离散化为例,不论是按照四分位数还是按照十分位数进行离散化,都可以把x预处理后,再以.npy的方式加载到模型中;
2、更一般性的,在线下训练一个训练集中样本点到各特征权重向量的映射,再根据实际预测点和训练样本点的距离度量求得预测点处的特征权重向量。


其他的model explainer:
其实,对于ml/dl模型解释性的探索并非在lime提出后才开始:
简单的线性模型,包括更广义的lr其解释性都是非常直观的,每个特征的权重对于结果的影响蕴含在模型本身之中,lime其实也是通过局部的线性拟合来做局部点的解释;
更复杂的如随机森林模型的解释,在2014年7月由gilles louppe给出了一种衡量特征重要性的工具,目前该工具已集成在scikit-learn的随机森林estimator中。但是和lime相比,这个工具更关注的是整个模型特征重要性的评估,并未给出某个具体预测点的预测过程解释,同时也只是支持了树型的分类器。
于是在2015年8月,一个可对具体预测点进行解释的treeinterpreter出现,该工具能够将具体预测点的预测概率,转换为各个特征贡献程度的求和,因此在单个点上进行了模型的解释;但是同样的,目前只支持决策树及其衍生相关算法。
2015年10月,airbnb的研究团队同样展示了在随机森林上对决策阈值分布的研究。
直到2016年lime提出,其意义不仅在于给出了一种相对来说模型无关的explainer解决方案,同时还对模型解释的好坏给出了一系列的衡量指标并通过实验进行了验证。
当然,在lime之后的2016年6月,论文《the mythos of model interpretability》相对系统性地阐述了machine learning model transparency这件事。
在模型解释性领域,目前state-of-the-art的结果来源于一个称为shap的项目。shap(shapley additive explanations)也能对各种类型的机器学习模型给出一个相对统一的解释结果,shap重要的是整合了包括lime在内的一系列model-explain方法,进而给出了基于预测的特征贡献值的衡量和可视化。
从model transparency的发展来看,对于单个预测点的解释无论从理论还是可视化结构上看都有了比较好的探索和结果,包括lime和shap等工具;然而对于一个模型整体“解释度”等指标的定义,虽然lime等也做过一定程度的定义和研究,但目前业界仍然没有一个统一的标准,不同的应用场景对于模型的解释性要求也不一样,因此确实很难统一。我们在智能司法场景上目前虽然基于lime做了一些尝试,后续也会持续follow包括shap在内的model explainer的进展,但是更多的也是基于当前业务场景的应用,对于科学性地研究模型可解释性,还是期待学术界有更多结果输出。

杭州实在智能科技有限公司

免费会员

客服
用友财务软件
进销存财务软件
进销存财务
财务尽调
恒少财务
RPA机器人
奎文净化设备
财务软件
深圳市财务
深圳 市财务公司
登录
手机版 电脑版 下载安卓app 网址大全
万通商务网 版权所有©2020 h665.cn