APP下载

基于改进协同过滤算法的制造服务推荐方法

2023-10-22曾凡航

智能计算机与应用 2023年8期
关键词:调用权重协同

刘 培, 曾凡航

(1 武汉科技大学冶金装备及其控制教育部重点实验室, 武汉 430081;2 武汉科技大学机械传动与制造工程湖北省重点实验室, 武汉 430081)

0 引 言

随着共享经济和面向服务的体系架构的迅猛发展,制造企业为了提升产品竞争优势借助制造服务平台访问、搜索便可集成和使用这些制造服务,以满足自身加工、定制、外协和专业服务的个性化需求。然而随着服务数量的急剧增长,制造服务平台出现信息过载和客户需求偏好异质化问题,使得服务过程中难以有效实现供需方精准对接和快速响应。 在这种背景下,制造服务推荐方法获得了广泛的关注和研究,旨在准确识别用户需求和偏好,自动地为用户推荐可能满足其个性化特征的服务信息,从而实现平台资源的合理利用和用户的满意体验。

近年来,许多服务推荐研究都集中在服务请求和服务资源之间基于语义的服务能力匹配,使用不同的服务描述语言和QoS模型数值描述进行评估资源与需求间的相似度,从大量功能相似的服务中选择具有良好QoS值的最佳服务。 如Bouzary 等学者[1]采用制造服务描述语言评估资源与子任务之间的语义相似度,根据非功能指标优化对子任务的组合进行优化,将具有相关映射特征的制造服务需求进行资源匹配。 Lin 等学者[2]采用本体描述语言,提出了基于本体的分层模块化资源统一描述模型,将任务请求与资源库中的资源进行匹配,选择满足任务请求的资源。 李颖新等学者[3]提出一种基于用户行为的知识服务推荐方法,建立用户本体行为模型,通过语义分析和知识评价实现个性化知识过滤。 然而,上述的QoS感知服务发现和匹配工作都是假设所有用户都是相同的,但是现实中并非如此,因为大多数QoS值(如响应时间、可用性、性能和可靠性)都是主观的,不同的服务用户给出的评价不同。 因此,有研究试图将协同过滤算法与制造服务联系起来,通过相似偏好用户和服务的交互日志,预测目标用户缺失的QoS值来进行个性化服务推荐。 Liu 等学者[4]综合考虑了QoS目标属性和客户偏好属性,提出了一种基于聚类的协同过滤和非支配排序遗传算法来量化用户偏好属性,通过用户偏好属性排序,为目标用户推荐最适合的解决方案。Liu 等学者[5]通过扩展皮尔逊相关系数相似性来预测未知的QoS值并排列相应的候选列表。 Feng 等学者[6]考虑地理信息、样本集多样性计算和平台上下文,扩展基本Pearson 相关系数相似性,提取邻域信息,提出了一种邻域增强矩阵分解方法来预测丢失的QoS值。 Garanayak 等学者[7]融合基于项目协同过滤技术和K-means 算法,根据人们对信息的注意程度和行为特征,从大量动态推送的信息中过滤出必要的信息片段,为制造服务用户构建推荐。 结合协同过滤的制造服务推荐方法相较于搜索引擎匹配及本体模型匹配等方法更具有效率和个性化,有效缓解了信息过载和偏好异质化问题,但依然存在几方面的问题:

(1)由于制造服务在现实世界中执行成本高或耗时长,在协同过滤过程中,制造服务对于不同服务用户的QoS值通常太少,难以识别相似的用户或服务,存在严重的数据稀疏问题。

(2)由于平台内服务资源不断地接入和退出,新加入的服务用户或新发布的服务在协同过滤过程中缺乏可用于识别相似用户或服务的历史使用数据,存在严重的冷启动问题。

(3)协同过滤算法假设用户偏好是固定不变的,忽略了时间上下文对于用户兴趣的影响。 实际上,用户在不同时间下历史信息并不相同。 例如,一个同学在一年前对某个电影评价很高,但随着年龄增长和同类型电影的更新,用户的兴趣会发生变化,若以一年前的评分作为现在的推荐依据显然会使得推荐效果大打折扣。

为了解决协同过滤在个性化制造服务推荐中存在的问题,本文主要通过引入时间衰减函数来改进传统的协同过滤算法,考虑时间因素的影响并根据用户服务评分时间的不同设置不同的权重,反映用户偏好的变化。 其次,建立制造服务的基于偏好相似度和评分相似的综合相似度模型,即使制造服务的大部分评分缺失,也可以通过偏好信息缓解数据稀疏和冷启动问题。

1 相关工作

对于许多现代推荐系统来说,一个广泛的解决方案是协同过滤技术,技术基本假设是,在过去有过类似购买行为的人,在未来也会有类似的选择[8]。基于协同过滤的推荐流程如图1 所示。 通过利用用户对某些服务的评分集来实现。 这些评分根据用户的显式反馈[9](用户根据数值等级或三角模糊语言反馈)或隐式反馈[10](用户单击特定对象等行为)来实现,再将活动用户与用户项目评级矩阵中的其他用户或服务之间的相似性被计算出来,根据计算出的相似度将用户或服务分类为当前用户或服务的邻居用户,进而利用用户的偏好进行推荐。

图1 协同过滤算法推荐框架Fig. 1 Collaborative filtering algorithm framework

协同过滤算法的关键任务是解决相似度问题和用户偏好建立问题[11],两者是影响推荐质量的关键因素,很多研究者从这两方面研究贡献了很多优化的协同过滤算法,一定程度上舒缓了个性化推荐中的稀疏性[12]、 可扩展性和运行复杂等问题。Parvatikar 等学者[13]提出了基于项目的协同过滤和关联规则挖掘来给出偏好推荐,通过调整余弦向量相似度函数计算不同用户之间的相似度,通过该方法消除了数据稀疏性问题,得到了较好的推荐。Mikolov 等学者[14]通过隐式数据集(例如,点击或购买等)建立用户偏好模型,结合显式数据融合来预测用户物品关系。 郝志峰等学者[15]提出了一个协作过滤基于项目的使用上下文的方法。 这种方法增加了可用使用数据较少项目的评分预测,并提高了推荐的总体多样性。 吴婷婷等学者[16]提出了一种结合k-means 聚类的基于协同过滤的方法,并利用SOM 对结果进行改进。 然而,以上改进的协同过滤算法都依赖用户对于物品的评分且假设用户的偏好是不变,极少研究考虑到用户偏好程度随时间的变化而变化。 本文充分利用了上下文信息中的时间因素与用户偏好的联系:用户与服务交互的时间越近,越能反映用户当前的兴趣偏好,偏好的服务越具有相似度。 通过引入时间衰减函数作为权重因子,对用户不同时间点和周期的评分和服务调用分别赋予不同的权重,以提高制造服务的推荐精确率。

2 研究框架

如前所述,服务评分的稀疏性和用户偏好的动态性将会影响协同过滤算法在制造服务中的推荐准确率。 本文将提出用户动态偏好的协同过滤推荐方法解决制造服务的个性化推荐问题,如图2 所示。该方法研究有3 个部分:

图2 研究框架Fig. 2 Research framework

(1)制造服务的最近邻居模型。

(2)结合时间衰减函数的偏好预测。

(3)制造服务推荐模块。

首先,通过服务用户和制造服务间的偏好关系和评分关系构建服务综合相似度模型,以找到目标制造服务之间相似性最高的最近邻居。 其次,利用评分的时间和服务调用的周期修正用户评分和综合相似程度,预测制造服务的QoS缺失值。 最后,利用优化后的预测评分针对目标用户进行感知推荐服务,将偏好程度最高的制造服务返回给目标用户。

2.1 相似度计算模块

为了能有效缓解用户反馈数据数量不足引起的稀疏性问题,本文将基于历史服务用户检索的偏好行为数据和QoS评分数据,构建服务用户和制造服务为节点、综合相似度关系为纽带的社会偏好网络,从而找到每个服务用户或制造业服务之间关系最强的最近邻居,以加速在线推荐过程。

(1)服务评分相似度。 服务用户与制造服务之间存在一定的评分关系,将其表示为交互网络中的节点。 服务用户可以通过数字或模糊语言如(好、一般、差)对制造服务QoS进行评分,将模糊数转换为数值。 给定一个由N个用户和M个制造服务的数据集,服务用户和制造服务之间的评分关系用M×N个用户服务评分矩阵表示,Ru,i表示用户u对服务i的评分,若服务用户u之前没有对服务i进行评分,则Ru,i为0,本文将采用皮尔森相关系数[17]计算服务之间的评分相似度权重,可由如下公式来求值:

其中,U表示为服务i和服务j都评过分的用户集合,和分别表示用户对制造服务i和j评分的平均QoS值的向量。 根据该定义,2 种制造服务的评分相似度在区间[-1,1]上归一化,数值越高表示就越相似。

(2)服务偏好相似度。 服务用户的调用次数在一定程度在上反映了用户对不同服务的偏好程度,调用次数越多,该用户对制造服务的偏好程度越高。根据以往服务用户检索的偏好数据,服务用户与制造服务之间存在一定的偏好联系,将其表示为交互网络的节点。 给定一个由N个用户和M个制造服务的数据集,服务用户和制造服务之间的偏好关系用N×M个用户-服务评分矩阵表示,Tu,i表示用户U调用服务i的次数,若服务用户u之前没有调用过服务i, 则Tu,i为0,本文将采用皮尔森相关系数计算服务之间的偏好相似度权重,数学公式具体如下:

其中,U表示都调用过服务i和服务j的用户集合,和分别表示用户调用制造服务i和j评分的平均次数。 根据该定义,2 种制造服务的偏好相似度在区间[-1,1]上归一化,数值越高表示两者越相似。

(3)最近服务邻居。 将制造业服务之间的偏好相似度和评分相似度相结合,产生综合的相似度,从而为每个服务用户或制造业服务找到相似度最高的最近邻居。 2 个制造服务之间的综合相似性计算公式见如下:

其中,α和β表示部分相似点的权重,表示各自对综合相似点的重要性。 对于制造服务i, 其相似度集包含与i相似度大于0~1 的所有业务用户。 因此,通过分别计算所有制造业服务与i的相似度,并过滤出小于或等于阈值的,就得到了基于服务的最近邻居。

2.2 偏好预测模块

基于不同的用户偏好和体验,采用协同过滤和建议的邻居组,利用服务用户和制造服务的组合相似性,预测主动服务用户的制造服务的QoS缺失值。 需要提高用户近期行为的权重,把时间衰减函数作为权重因子对用户或物品相似度进行约束,用户近期行为相比用户以前的行为更能体现用户现在的兴趣。 考虑时间的影响因素,在传统的协同过滤相似度计算公式上进行改进。

(1)时间衰减函数。 认知心理学表示,人的记忆牢固度在时间上遵循一定的遗忘规律,且包括短时的记忆和长时的记忆两种[18]。 同时,用户的偏好随着时间的变化也遵循着一定的衰减规律。 根据艾宾浩斯遗忘曲线,人类通常不会在处理信息7 次后就轻易忘记。 本文将从艾宾浩斯遗忘曲线[19]的思想出发,将用户的偏好分为长期偏好和短期偏好两种。 其中,长期偏好是指用户在较长的一段时间内与同种服务交互次数达到一定阈值时,此时的偏好将不会过于受到时间变化的影响。 用户的短期偏好是指用户与服务的交互次数低于一定阈值时,用户的偏好易受到时间变化的影响。 区别于普通物品的交互行为特征,制造服务的执行耗时比较长,因此用户的感知体验会相比于其他服务持续时间较长,基于此本文将服务用户与制造服务交互次数阈值设置为4,当用户与同类服务在一段时间内交互次数达到4 次以上,意味着该用户的服务偏好为长期偏好。同时,短期的服务偏好演化将采用指数衰减函数模拟,将指数衰减函数作为权重因子为近期评分、远期评分赋予不同的评分权重表示短期偏好。

(2)评分权重和偏好权重计算。 将每位用户所调用或者评分的服务按时间先后顺序进行排序,得到一个交互序列[(Actu1,t1),(Actu2,t2),…,(Actui,ti)],运用R 语言[20]依次统计所选时间段内相似服务出现的次数。 服务的偏好权重函数表示为:

其中,f(u,i) 表示用户对服务的偏好权重函数,当服务i调用的次数小于阈值4 时,则f(u,i) 表示为服务i的评分权重;当服务i调用的次数大于阈值4 时,则f(u,i) 表示为服务i的偏好权重;ru(td)表示用户u在td时间的评分;Itr为用户2 次连续评分之间的平均间隔时间;t0表示用户最后一次评分的时间;td表示用户u对服务i的最后评分时间。

(3)QoS评分预测。 基于服务的过滤方法,利用类似的制造服务及相似服务修正后的偏好权重或评分权重,使用下列公式预测活动服务用户的缺失QoS值:

其中,f(u,j) 表示目标用户对服务j的时间偏好权重函数;ru,j表示用户u对服务j的QoS评分;cos_sim(i,j) 为服务i与服务j的相似权重。

2.3 制造服务推荐模块

在预测出活动业务用户不同制造服务的缺失QoS值后,通过单QoS比较或多QoS间的多目标决策,为活动业务用户生成个性化制造服务推荐。 单一的QoS比较将推荐活跃的制造服务,排名前k的最优制造业务具有较高的QoS值。 多目标的多个QoS之间的决策将向目标用户推荐多个QoS值加权总和较高的前k个最优制造业务。 并对推荐流程进行分述如下:

步骤1根据用户在制造服务平台上的调用和评分数据集,将调用记录和评分记录偏好信息转化为用户服务评分矩阵和用户调用矩阵,利用式(1)、式(3)计算制造业服务间的偏好相似性。

步骤2利用R 语言统计用户历史记录里调用同种服务的次数,根据式(4)、式(5)计算用户对服务的偏好权重,融入时间衰减函数修正用户对服务的评分。

步骤3基于服务之间的综合相似度,利用式(6)服务的缺失QoS评分。

步骤4根据用户对服务的预测评分推荐未交互过的制造服务业务。

3 实验结果

为了验证所提出的改进协同过滤算法的推荐性能,实验将采用传统基于服务的协同过滤推荐算法进行比较。 所有算法采用C ++语言编写,并在Intel i7-3370 3.4 GHz、8 GB 主存的工作站上进行测试。 本文采用文献[21]发布的云制造服务数据集,包括了463 个用户针对接近7 548 个云服务的QoS评分数据,该数据集中没有包括用户的调用数据,本实验随机生成463 个用户的调用数据。 为了衡量另种方法的预测精度,使用平均绝对误差(MAE)和均方根误差(RMSE)[22]作为评价预测结果质量的指标。 研究涉及的数学公式可写为:

其中,ri表示用户对服务i的真实QoS评分;表示服务i的预测评分;n表示所有待预测值的总数。MAE定义为预测评分与实际评分之间的平均绝对差;同样,RMSE是预测值和实际值之间的平均平方根差。 这2 种方法经常被用来评估模型或估计器的预测值的好坏,MAE越小,表示预测精度越高。

将本文方法与传统的基于服务的协同过滤推荐方法分别在本文数据集上计算MAE和RMSE值。考虑到实际中数据集的稀疏性,本实验将数据集密度分别设定为20%、30%、40%、50%、60%、70%、80%,计算结果如图3、图4 所示,与传统基于服务的协同过滤推荐方法相比,本文改进的推荐方法有更好的准确率,因为动态调整衰减函数可以更恰当地模拟偏好的变化。

图3 2 种算法MAE 值对比Fig. 3 Comparison of MAE values of the two algorithms

图4 2 种算法RMSE 值对比Fig. 4 Comparison of RMSE values of the two algorithms

4 结束语

提出了一种融合时间衰减函数的协同过滤技术推荐方法,通过捕捉偏好变化来预测用户制造服务的QoS缺失值,提高个性化QoS感知服务推荐的有效性。 参考人类记忆遗忘特性曲线,拟合时间衰减函数对制造服务的偏好变化进行了解释,通过服务用户和制造业服务之间的偏好和标签关系建立了制造服务间的联系,缓解了传统协同过滤技术所面临的数据稀疏和冷启动问题。 实验结果表明,提出的方法优于传统的协同过滤推荐方法。 然而,所提出的方法仍处于早期阶段,对于大规模的现实应用有一定的局限性。 在未来的工作中,将改进研发的个性化制造服务推荐系统,考虑到更全面的社交网络信息,例如评论、回复、主页访问和互动活动的跟踪记录,以便更准确地预测个性化制造服务推荐中的QoS值。

猜你喜欢

调用权重协同
蜀道难:车与路的协同进化
权重常思“浮名轻”
核电项目物项调用管理的应用研究
“四化”协同才有出路
LabWindows/CVI下基于ActiveX技术的Excel调用
为党督政勤履职 代民行权重担当
基于公约式权重的截短线性分组码盲识别方法
基于系统调用的恶意软件检测技术研究
三医联动 协同创新
协同进化