基于云平台的制造资源智能匹配方法研究及应用
2023-01-12曹华军李洪丞陈二恒朱林全
郑 杰,曹华军,李洪丞,陈二恒,朱林全,邢 镔+
(1.重庆大学 机械传动国家重点实验室,重庆 400044;2.重庆邮电大学 先进制造工程学院,重庆 400065;3.重庆大数据创新中心有限公司,重庆 400707)
0 引言
由于经济全球化和用户对高度定制化产品需求的增加,各种离散制造活动之间的联系越来越紧密。具体而言,传统制造技术与物联网(Internet of Things, IoT)、大数据和人工智能等新一代信息通信技术的深度融合,正在支持云制造(Cloud Manufacturing, CMFg)和云平台[1]的发展,这些将极大地优化产品质量、降低成本、增强制造资源按需服务的能力。制造资源的本质指的是从可以服务化和远程操作(访问)开始,到完成产品整个生命周期的所有生产活动的软、硬性元素,例如CAD软件、相关人力资源、数控加工中心等,而其中又以制造设备为核心要素。然而,现阶段大量制造资源存在着高度离散化、与用户之间缺乏互通性、无法为用户提供精准服务等问题,容易导致制造业供需过程失衡、生产成本上升。而制造资源归根结底是为需求服务的,无法为用户匹配到所需的服务资源且将降低企业的核心竞争力。由此可见,为用户进行精准的智能匹配在提升制造服务中起着基础性作用,它通过将分散的制造资源整合至统一的云平台上,有助于打破传统的静态企业资源配置模式,从而优化产业链,推动传统制造企业由生产型制造向新一代信息通信技术驱动的智能制造转型发展。
信息通信技术的研究进展降低了将传统制造设备升级到按需制造所需服务水平的门槛,为了应对制造过程中的智能匹配问题,学术界和工业界提出了广泛而具有建设性的思路。XUE等[2]提出一种基于计算实验的评估框架,可以模拟在云环境下的各种实际场景来验证服务匹配策略的性能,用以优化制造业的供给和需求导向;LU等[3]开发了一种基于网络物理生产系统和大数据分析的云计算制造设备通用系统架构,允许制造设备连接到云端,并提供按需制造服务;CHENG等[4]首次提出自组织映射系统中制造服务的供需匹配超网络概念,揭示了匹配关系,从功能角度比较制造服务和任务的输入或输出信息;NASERI等[5]提出一种新的混合方法来实现云计算中的高效服务组合,即通过粒子群优化算法构建适应度函数来选择最佳服务;GONG等[6]提出描述制造需求的多质量模型和描述机床支持的制造云服务的能力模型,并构造了两个模型之间的映射机制,根据灰色关联理论来寻求机床资源和服务需求之间的最大满意度。然而,目前行业内采用的制造资源供需匹配模式仍存在一些不足,通常情况下在云平台上,制造资源和用户需求所涉及的制造企业较多、数据量较大、制造资源离散程度高,而大多数匹配研究主要采用基于语义[7]或传统多因素统计分析[8]的方式,导致其只能适用于数据量较少、制造属性较少的制造资源,在进行大数据的分析检索时,有效信息提取效率较低,可供用户选择的范围有限。
为解决上述问题,本文从大数据的处理应用出发,以自然语言处理和卷积神经网络为基础,提出一种基于云平台的制造资源和用户需求的智能匹配方法,该方法能够有效解决在供需匹配过程中所面临的大数据问题,提升有效信息处理效率,为用户提供更加准确迅速、跨企业的制造资源服务,优化匹配流程。
1 制造资源和用户需求的文本提取
1.1 制造资源端的参数特征提取
在云平台上针对制造资源进行交互式操作时,本文发现制造设备作为制造资源的核心要素,实质上影响了资源与需求的最优匹配,即用户所需的产品服务最终是由设备完成的。因此,本文将制造设备,即硬性元素的特征描述作为制造资源端参数特征提取的核心部分,将软性元素如人员配置、技术信息能力等作为次要部分,最终完成制造资源的封装,并发布上传至统一的云平台。由此可见,在云制造环境下[9],对于制造资源服务能力的统一描述与表征是制造服务供需双方精确匹配的基础。结合制造业与当前市场的特点,本文建立了描述制造资源模型的静态和动态通用特征集。
1.1.1 静态特征
制造资源在进行智能匹配过程中,当某项服务属性不会随着时间和市场发生改变时,可以认为其归属于静态特征的描述范畴,主要包括基础信息、制造加工能力、人员配置、技术支持、环境承载力、信息支援能力。
1.1.2 动态特征
制造资源在进行智能匹配过程中,当某项服务属性会随着时间和市场发生改变时,可以将其归属于动态特征的描述范畴。制造资源的动态特征主要包括平均完成时间、当前状态、可靠性、价格、产品质量。
(1)平均完成时间
(1)
(2)当前状态
当前状态描述的是制造资源的状态属性,对于智能匹配过程具有基础性意义,其主要分为闲置状态、正常负荷运行、满负荷运行、超负荷运行、预订状态、维修状态。若提交至云平台的制造资源状态显示为满负荷状态、超负荷状态、预订状态以及维修状态,则自动屏蔽,不会与用户需求进行匹配。
本文使用图表来解释性说明一段时间内的制造资源所处状态。如图1所示:①表示制造资源当前处于闲置状态,拥有最大生产能力;②表示制造资源接到订单指令,开始进行生产活动;③表示制造资源当前处于正常负荷状态,可以接受额外生产指令;④表示制造资源当前处于满负荷运行,无法接受新的订单;⑤表示制造资源当前处于超负荷运行,所接受的生产任务已超出规定的承载量,事实上,长时间处于超负荷运行状态会对设备造成损伤;⑥表示制造资源处于预订及维修状态,不具备接受订单的条件。
(3)可靠性
制造资源的可靠性主要由历史服务成功率、设备稳定运行率等构成。
1)历史服务成功率指的是往期制造资源成功完成用户订单,提交产品的比率,定义
(2)
式中s为历史服务成功率。
2)设备稳定运行率指的是制造资源设备稳定运行的时长占设备开机总时长的比率,定义
(3)
式中w为设备稳定运行率。
(4)价格
价格指制造资源完成用户订单的服务报价,受市场、政府政策、原材料供应等多方面因素影响,是智能匹配过程中相当重要的一个指标。本文采用平均价格这一指标进行制造资源属性的描述:
(4)
式中:pi为制造资源执行第i个任务过程中,完成产品生产后的最终报价;n为总任务完成次数。
(5)产品质量
产品质量是用户确定制造资源过程中最关键的参考因素之一,本文采用用户评价作为衡量产品质量的指标,用户评价是消费者的主观评分。为了能够较好地反映用户对于产品的反馈,设定用户评价={很不满意、不满意、一般、满意、很满意}共5个层次,层次标签的选定依据来源于历史用户的评价众数,即选取历史用户评价数最多的层次作为该制造资源生产同类产品的产品质量特征。
1.2 用户需求端的参数特征提取
用户针对制造资源的个性化服务需求带来了日趋复杂化的约束和急剧增多的数据量。结合制造业与当前市场的特点,本文建立了描述用户需求的通用特征集,主要包括基本属性、产品质量、价格、安全性、生产时间、地域、灵活性,详细信息如图2所示。
1.3 制造资源和用户需求文本词向量建模
制造资源和用户需求的信息都是相对规范化、格式化的自然语言。在自然语言处理任务中,一般将其交给机器学习算法来处理,但机器无法直接理解人类的语言,因此需要将语言数字化,即通过训练将某种语言中的每个词映射成一个固定长度的短向量[10],同时所有这些词构成一个词向量空间。本文假定制造资源和用户需求信息之间存在一个潜在的公共空间,这个公共空间包含于为制造资源进行供需匹配服务的云平台内,每个制造资源和用户需求都可以转化为公共空间中的词向量。本文将每个制造资源和用户需求的特征进行向量化表示,这样两者在公共空间中的距离便可以看作是两者的匹配度。从针对制造资源和用户需求的特征描述中可以看出,进行智能匹配的目的是为了使制造资源项在公共空间中的向量尽可能与用户需求项靠近。
传统的文本处理方法需要大量的人工特征选取工作,这种方式在大数据背景下显然是不合适的。本文语料的数据特征是标签化、离散化的,多由短句或者有限的关键字组成。而卷积神经网络(Convolutional Neural Network, CNN)模型主要能发掘文本的层次化和局部语义特征,非常适合本文的文本挖掘工作。因此,本文采用Word2Vec进行词向量的获取与训练,其核心是基于深度学习方法和卷积神经网络构建的,已经成为一系列自然语言处理任务中事实上表现最好的技术,通过文本卷积神经网络构建的词向量在文本建模方面具有无可比拟的优势[11]。
本文的文本挖掘主要包含制造资源信息文本建模和用户需求文本建模两个方面。由于二者在词性丰度上存在差异,本文对二者分别进行词向量建模,建模过程一致。
本文将制造资源和用户需求中的文本信息表示为D×K的文档矩阵,其中D为词典,通过扫描所有文本词汇统计获得,K表示词向量的维度。在Word2Vec中,对词典D的任意词w,指定一个固定长度的实值向量v(w)∈Rm,v(w)就称为w的词向量。考虑到制造资源和用户需求信息都是短文本,甚至有些特征仅包含几个关键字,因此本文采用Skip-gram模型进行文本建模[12],训练的过程采用梯度下降法对参数空间和用户需求词向量进行优化。Skip-gram模型的核心思想是已知当前词w,对其上下文Context(w)中的词进行预测,经过输入层、投影层和输出层网络结构之后,导出词向量。其条件概率函数为:
(5)
优化的目标函数如下:
(6)
其中C表示语料。值得注意的是,为了节省训练时间,提高模型准确度,语料C是从词典D中抽取出来的,不存在重复的词。获得的词向量将作为联合嵌入卷积神经网络(Joint Embedded CNN, JE-CNN)的输入,以实现制造资源和用户需求的供需匹配。
2 智能匹配模型
建立智能匹配模型分析的目的主要是将含有制造资源端和用户需求端的信息映射到一个潜在的公共空间当中,使其能够建立起定量的判别关系。显然,本文的目标不是为了文本分类,而是求取匹配模型的匹配度并加以评价分析,因此需要提出符合数据结构的目标函数,并通过优化方法进行目标函数的求解。考虑到语料数据呈现体量较大、高度离散化的特征,并且要求在尽可能短的时间内得出最优化结果,本文采用基于深度学习与卷积神经网络[13]的方法构建智能匹配模型。在匹配过程中,输入层是由不同结构的词向量组成的,无法直接进行匹配。因此,为了能够将其映射到公共空间,转化为具备匹配基础的神经网络结构,需要将异构数据嵌入到统一的公共空间中,这一过程称为联合嵌入[14],表达式如下:
(7)
式中:φ,ω为嵌入函数;J为衡量相似度的目标函数。
2.1 用户需求匹配向量构建
将用户需求词向量作为卷积神经网络的输入,进行卷积训练,建立用户需求项集合,该集合的获取可以看作是一个查词典的过程,当中包含|N|个词的需求项,可以由此构建相应的矩阵N∈RL×|N|,L为嵌入的序列长度,N为词典大小:
N=[w1,w2,…,wN],wi∈RL。
(8)
输入联合嵌入卷积神经网络的用户需求项中,一个用户需求项di可以由下式表示:
di=[N1,N2,…,Nndi]T。
(9)
式中ndi表示di的需求项数。考虑到每个用户的需求描述都存在或大或小的差异,这意味着输入层的用户需求项数和每项中的向量数都不一样,需要对维度进行灵活调控。故本文采用两个一维卷积层[15]作用于输入层,抽取共有的显著特征,具体操作为将权重m的一维卷积向量和序列化的N进行n-gram点积运算,之后附上一个池化层。
点积运算的对象为N中每连续的n项与权重为m的一维卷积向量,得出序列A,
Ai=mT·Ni-|n|+1:i。
(10)
(11)
最后,为了确保用户需求向量与制造资源保持一致,在输出层之前需要进行一次最大池化运算。
2.2 制造资源匹配向量构建
(12)
式中nri为ri的制造资源项目数量。与用户需求部分的处理不同,制造资源最后输出之前需要进行一次平均池化操作。
在最后一步处理过程中,制造资源采用了平均池化方式,而用户需求采用了最大池化方式,这是因为用户需求的每一项较为独立,都各自表达了最重要的一个需求,所以用户需求部分采用最大池化操作去除干扰因素,保留关键信息。相反,制造资源部分每项之间相似性较多,例如可靠性和平均完成时间、产品质量之间都不是完全独立的,具有较高的相关性,所以制造资源部分采用平均池化操作体现制造资源的总体特征。
3 智能匹配模型优化
3.1 优化目标
为了能够定量描述公共空间中二者的关系,本文利用距离来衡量一个用户需求和一个制造资源的匹配程度,故引入目标函数来最小化匹配成功的向量之间的距离。为防止JE-CNN训练时令所有参数下降为零,也在目标函数中最大化匹配失败的向量之间的距离,目标函数如下:
(13)
式中:S为匹配成功的集合数;F为匹配失败的集合数;cosθ1表示匹配成功的制造资源和用户需求向量之间的距离;cosθ2表示匹配失败的制造资源和用户需求向量之间的距离;‖θ‖为L2正则化项;θ为权重向量(模型中各层参数);α为平衡系数。
从式(13)可以看出,作为最终需要优化的函数,目标函数越小,所建立的模型的预测效果越好。但如果只是简单的追求模型预测能力,则会导致模型复杂度过高,训练成本增大,从而导致过拟合,丧失泛化能力。为了减小过拟合发生的概率,在机器学习当中一般会对目标函数进行正则化修正,即在目标函数后面增加一个正则化项[17]。本文采用L2正则项,L2正则化加快了参数的减小速度,在此条件下模型能够拟合的数据变少,并且拟合精度变高,抑制了过拟合,增强了模型的抗扰动能力。
本文采用余弦相似度作为距离公式,距离公式如下:
(14)
(15)
其中:Vri和Vrf分别为制造资源匹配成功与匹配失败的向量;Vdi和Vdf分别为用户需求匹配成功与匹配失败的向量。
考虑到目标函数的表示式中包含匹配失败项,在最优化运算过程中,需要包含匹配失败的样本。在实际制造环境下,匹配失败的情况即意味着用户在云平台上并未找寻到合适的制造资源服务,因此,本文采取随机选取制造资源项的方式来构建匹配失败的样本。
3.2 优化求解
考虑到目标函数为多变量函数,为了能够求取目标函数最值,优化模型的内部参数,本文采用梯度下降来替代导数。与此同时,传统的批量梯度下降将计算整个数据集梯度,但只会进行一次更新,因此在处理大型数据集时速度很慢且难以控制,甚至导致内存溢出。因此,本文采用自适应时刻估计(Adaptive time estimation, Adam)算法对目标函数进行梯度优化,该算法能计算每个参数的自适应学习率[18]。在实际的训练过程中,每个参数的更新都更加具有独立性,提升了模型的收敛速度和训练的稳定性,适合解决含大规模数据和参数的优化问题。梯度优化过程如下:
V(t)=ρ1V(t-1)+(1-ρ1)ΔJ(θ),
(16)
gt=ρ2gt-1+(1-ρ2)ΔJ(θ)2,
(17)
(18)
(19)
(20)
其中:式(16)为Moment项;式(17)为RMSProp项;V(t)为当前的时间步长;V(t-1)为过去的时间步长;ρ1,ρ2为矩估计的指数衰减速率;ρ1和ρ2在区间[0,1)内;J为要优化的目标函数;θ为权重参数,1-ρ为学习率;gt为指数衰减值;ε为步长值;θt为结果参数。
针对智能匹配的总体流程以及主要变量之间的转换计算关系表述,如图3所示。
为了衡量最终输出的结果是否符合预期要求,需要设定一个评价阈值,将匹配成功的样本看作正类,匹配失败的样本看作负类,这样模型就转化为一个二分类问题。由于针对用户需求和制造资源的智能匹配相似度阈值无法确定,故采用AUC(area under curve)模型。
如图4所示,AUC指的是ROC(receiver operating characteristic curve)曲线与FPR(false positive rate)轴之间的面积[19]。ROC曲线指的是受试者工作特征曲线,其横坐标为FPR,即在所有实际的负样本中,被错误地判断为正样本的比率,纵坐标为TPR(true positive rate),即在所有实际的正样本中,被正确地判断为正样本的比率。AUC考虑的是模型预测的排序质量,反映了模型把正例排在反例前面的比例。ROC曲线一般都处于y=x这条直线的上方,因此AUC的取值范围在0.5和1之间。AUC越接近1.0,预测方法真实性越高;AUC的值等于0.5时,则真实性最低,无应用价值。本文将制造资源和用户需求的余弦相似度作为阈值,绘制出对应的ROC曲线。
在进行整体样本的AUC处理操作时,本文通过ROC函数确定分类阈值σ。当制造资源和用户需求的余弦相似度大于或等于阈值σ时,则AUC模型认为两者能够匹配成功,输出匹配成功的制造资源服务;当余弦相似度小于设定阈值σ时,则匹配失败,向用户输出当前云平台上暂无符合需求的制造资源服务。余弦相似度越大,表明制造资源指标越接近于目标用户需求,即匹配程度越高,该方案越好。
在完成智能匹配模型的构建与求解之后,对于提交的用户需求,模型便可以根据神经网络的学习效果及泛化能力,为提交的用户需求预测出匹配程度最高的制造资源项,并判断对应匹配度与分类阈值的大小关系。
具体的制造资源智能匹配流程图如图5所示。
4 案例分析
4.1 匹配过程
为了验证上述方法和模型的可行性和准确性,将本文模型应用于重庆市内某几家大型制造企业。其中,制造资源信息采集于重庆市内某几家大型制造企业,用户需求信息采集于对应制造企业历年的服务订单,以此建立了制造资源和用户需求数据库,并完成了特征集整合归纳。其中,部分制造资源信息数据如表1所示。
表1 制造资源信息(部分)
续表1
考虑到词向量的维度代表了词语的特征,特征越多越能准确地将词与词进行区分,但在实际应用中维度过多会导致模型训练成本增加,淡化词与词之间的关系。因此,参考文献[20]在CNN文本建模方面的研究,本文将制造资源文本词向量维度值设置为200,用户需求文本词向量维度设置为100。图6给出部分词语的词向量训练样例,分别为制造资源特征中的“加工精度”和用户需求中的“生产时间”。
根据第3章所建立的制造资源和用户需求智能匹配模型,本文将样本数据按8∶1∶1划分用于训练、调参和测试,并将制造资源和用户需求信息映射到潜在公共空间,将两者合并为两个32位的向量。在用户需求部分,第一次卷积化的输入维度为ndi×100,卷积核个数为100,卷积高度为5,最大池化步长为2;第二次卷积高度为3,卷积核个数与池化步长均与第一次一致。在制造资源部分,第一次卷积化的输入维度为nri×200,卷积核个数为200,其余参数设置均与用户需求部分相同。
本文给出样本当中的某重庆用户A与某重庆企业B的样本,依据模型对于样本的训练效果,显示其JE-CNN学习向量输出如图7所示。
图7中:左侧为用户需求和制造资源部分的输入实例,右侧为其对应的映射到公共空间的向量,以热度图形式呈现,每个部分的最后一行显示为合并后的32位向量,用户需求取向量最大值合并,制造资源取平均值合并。值得注意的是,用户名称在匹配过程无实际意义,故不将其输出。
从图7中可以看出,制造资源和用户需求部分向量分布未呈现明显差异,其中用户需求的第2、4、6、7项,制造资源的第4、8、9、11项,向量分布较为稀疏且数值较小,说明对应信息区分度不高,在数据库中存在较多类似描述。由于本文所采集制造资源数据基本来自于重庆市内企业,故用户需求中“地域”要求一项基本无区分,数值普遍偏小。而制造资源中针对制造加工能力的描述关联度较大,因此向量相对稠密。
4.2 结果分析
最后在进行匹配分析时,计算制造资源和用户需求的合并后向量的余弦相似度,图7案例的余弦相似度为0.892 1,通过目标函数优化求解,可得该资源为相似度最高的制造资源项。
在整体样本的AUC计算时,本节通过ROC函数对所建立的制造资源与用户需求数据库进行了训练和评估,得到了本模型在AUC上的表现,如图8所示。由ROC曲线与FPR轴之间的面积确定最终模型的分类阈值为0.78。
若有新的用户需求提交至云平台,模型便能够根据学习训练的样本,为其预测出最合适的制造资源项。若所计算匹配度大于分类阈值,表明匹配成功,输出该制造资源服务;若所计算匹配度小于分类阈值,则表明二者匹配失败,模型当中没有合适的制造资源。
本文所述制造资源智能匹配云平台,适用于需要对制造资源进行交互式操作的供需双方,尤其适合于需要进行跨企业大数据分析检索的用户,云平台能够将制造资源服务能力进行统一描述与表征,为其提供按需服务,云平台界面展示如图9所示。
相较于传统方法而言,本文所采取的制造资源智能匹配方法具有可匹配制造资源数量更多、匹配效率更高的优点,为了体现该方法的优越性,本节针对相同的制造资源与用户需求数据,采用基于语义的供需匹配方法以及多因素统计分析法进行匹配研究,在面对同等制造资源数量的情况下,比较不同方法处理输出最终用户所需制造资源结果要花费的时间,具体情况如图10所示。
从图10可以看出,针对以往常用的制造资源匹配方式如语义匹配和多因素统计分析等,以JE-CNN为基础的智能匹配方式在制造资源数量较少的情况下不具有明显优势,匹配时长甚至要略多于语义匹配和多因素统计分析法。但是,在面对大量制造资源时,以JE-CNN为基础的智能匹配方式表现出了较高的效率,经过神经网络的训练,增强了智能匹配过程的鲁棒性和泛化能力,特别是在数据量急剧增多的情况下,传统的语义匹配和多因素统计分析所花费的匹配时间呈现指数式递增,而以JE-CNN为基础的智能匹配方式则表现平稳。综合上述分析结果可知,本文提出的制造资源智能匹配方法能够较好地处理制造资源数量较多、分布范围广、匹配过程繁杂效率低的问题,体现了在大数据环境下处理制造资源供需匹配的独特优势。
5 结束语
大数据环境下的制造资源供需匹配是提升制造服务能力的关键研究问题之一。在这方面,本文提出了一种基于云平台的制造资源智能匹配方法,该方法通过词向量建模,完成了制造资源和用户需求的特征描述以及向量提取,构建了制造资源和用户需求匹配向量的公共空间,并利用JE-CNN将制造资源和用户需求词向量映射到该公共空间,以两组词向量匹配距离为目标函数,采用Adam算法优化该目标函数,最后根据AUC模型判断匹配度是否满足要求,并利用案例分析验证了模型和方法的有效性和可行性。通过该方法,用户能够进行海量的跨企业大数据分析检索,大大拓展了用户可以选择的制造资源范围。与此同时,也无需用户自行选择所需的制造资源,可以做到定量描述,最优匹配,提高了制造资源智能匹配的效率和精度。下一步将重点细化制造资源和用户需求的粒度描述,从而提高模型训练的精度。同时,为了获得更高质量的匹配结果,需要研究异构制造设备的智能数据采集与处理技术,以此来确保实际匹配过程的时效性。