基于动态用户偏好和服务质量的推荐算法 您所在的位置:网站首页 什么是服务产品组合 基于动态用户偏好和服务质量的推荐算法

基于动态用户偏好和服务质量的推荐算法

2024-02-27 10:50| 来源: 网络整理| 查看: 265

引用:

Zhang Y, Qian Y, Wang Y. A RecommendationAlgorithm Based on Dynamic User Preference and Service Quality[C]//2018 IEEEInternational Conference on Web Services (ICWS). IEEE, 2018: 91-98.

摘要:

在服务计算领域,用户偏好和服务质量可能随时间、环境和其他因素而变化。本文提出了一种既考虑用户动态特性又考虑动态服务质量(QoS)的推荐算法。一方面,该算法使用时态LDA(Latent Dirichlet Allocation)模型来挖掘动态用户偏好。另一方面,它考虑了QoS的动态变化,并关注最新的QoS。然后,基于动态用户偏好和动态QoS为用户生成服务推荐列表。基于真实数据集的实验结果表明,所提出的算法在准确性,召回率和多样性方面优于一些经典的和当今前沿的算法。

关键字:

服务组成;服务推荐;用户偏好;LDA;服务质量

1. 介绍

随着云计算,大数据和物联网等新兴计算领域的发展,互联网环境中的可用服务在数量和类型上都迅速增加。服务计算技术的成熟及其在各个领域的广泛应用,导致了服务经济,服务市场和服务业务的快速增长。因此,如何为市场提供“以用户为中心”的服务及其组合技术将成为服务计算的未来趋势之一,准确挖掘用户偏好并做出高效准确的服务推荐是非常重要和迫切的需要。

但是,在服务计算领域,用户偏好显示出动态的特征。首先,由于许多内部和外部因素,用户的长期偏好可能随着时间的推移而变化。其次,用户偏好可能由于其他用户的影响而改变。最后,用户的短期兴趣可能会在商家的意外推荐下突变,例如,产品体验的惊喜可能立即导致对用户的新偏好。因此,用户偏好改变过程的曲线应该是整体连贯,偶尔跳跃的。用户偏好的变化包括偏好内容的变化和偏好强度的变化。

此外,在服务计算领域,QoS(服务质量)也具有动态特性。首先,服务本身的质量可能包含升级,更新和其他更改。其次,QoS可能随着价格策略(例如,捆绑销售)和其他策略而改变。最后,网络环境的性能也是动态变化的,例如:吞吐量,延迟等动态变化。因此,对于每个服务,在提出建议时要注意其近期的QoS才能更有意义。

在文献中,已经提出了许多关于服务推荐的方法。然而大多数作品提出的是静态方法。一些动态方法仅考虑动态偏好或服务动态。只有少数方法],考虑用户偏好的动态和服务的动态。然而,这些最前沿的方法仍然存在一些问题。首先,动态偏好挖掘技术是有限的; 其次,它们忽略了一些评估指标,如多样性。

本文提出了DPDQ(DynamicPreference and Dynamic QoS)推荐算法,它既考虑了动态用户偏好,又考虑了动态服务质量。首先,时态LDA用于分析动态用户偏好的变化。由于概率主题模型使用抽样方法,因此在每个时间片中采样的用户偏好不具有直接连续性。此外,两个相邻切片的偏好之间存在遗传关系,其对应于生物遗传变异。因此,该模型使用前一时间片的后验概率来影响下一时间片的先验概率。因此,它可以在不同的时间片上保持相应偏好的语义相关性。其次,该算法还考虑了服务质量随时间的变化而动态变化。它计算每项服务的最近服务质量,然后在提出服务建议时会将它们纳入考量。

方法的主要贡献如下:

将用户偏好变化过程建模为“遗传和变异”过程,并通过动态偏好(DP)模型挖掘用户偏好,以提高推荐精度;

通过使用时间模型来考虑QoS随时间的变化,从而提高推荐性能;

通过测量真实世界数据集WS-Dream的准确性和多样性来验证所提出方法的有效性。

2. DPDQ服务推荐算法

DPDQ(动态偏好和动态QoS)算法的框架如图1所示:数据集分为时间片。在每个时间片上,使用动态偏好(DP)模型提取用户偏好,并计算动态QoS。一方面,用户偏好的特征是动态的,其包括偏好内容和偏好强度。另一方面,QoS随时间而变化。在最终推荐过程中,每个用户-服务对(相当于一个键值对)的兴趣度与最新时间片上的对应QoS值匹配。

img

A. 动态偏好模型

DP(动态偏好)模型结合了LDA模型和时间模型,其中LDA用于提取用户的偏好,时间模型用于表示偏好的“遗传和变化”。“遗传和变异”,即当前偏好继承了前一时期的偏好但又因为其他因素而有所不同。

LDA模型是近年来具有高使用率的隐式文档主题分析模型。LDA的主要思想是文档中出现的单词的概率由文档的主题分布和主题的词汇分布决定。对应于服务推荐,LDA的主要思想是用户选择服务的概率由用户的偏好分布和偏好的服务分布确定。用户和服务通过偏好链接,形成三层结构“用户-偏好-服务”图,如Fig.2所示。由于偏好的“遗传和变化”,添加时间模型以链接当前时间片与先前时间片之间的用户偏好。

img

B. Gibbs采样

Gibbs采样是解决LDA模型最常用的方法。我们可以用它从数据集中提取θ和Φ。第一次切片通过传统的Gibbs采样求解,后来的时间切片通过增量Gibbs采样求解。

C. 服务的动态质量

服务质量(QoS)是用户在使用服务时所感知的对象,包括服务响应时间和吞吐量。QoS是服务性能的客观度量。前一个时间片中的QoS将影响用户在后续时间片中的服务选择。用户倾向于选择服务质量好的服务。对于一个服务,同一时间段内不同用户感知到的QoS是不同的,不同时间段的QoS也是不同的,因此QoS是动态变化的。本文利用服务吞吐量和响应时间来计算服务质量。

D. DPDQ推荐算法

在得到用户偏好分布θ和偏好服务分布Φ后,可以计算出每项服务的用户兴趣度。

img

3. 实验

在本节中,我们进行了几项实验,以比较我们的DPDQ算法与最前沿的推荐方法和经典推荐方法的性能。我们的实验旨在解决以下问题:

Q1:如何选择算法的最佳参数?

Q2:DPDQ与现有最前沿的推荐方法和经典推荐方法水平相比如何?

Q3:用户偏好如何随时间变化?

Q4:QoS如何随时间变化?

A. 数据集描述

在我们的实验中,我们使用了真实的数据集WS-Dream(http://wsdream.github.io/)。

我们的程序是由java开发的,执行环境是Windows7操作系统,CPU主频为2.60ghz,内存为4GB。

B. 评估指标

我们采用四种常用的度量来衡量DPDQ算法的性能,包括精确率、召回率、F1值和汉明距离。

C. 实验算法

为了评估DPDQ(动态偏好和动态QoS)算法的性能改进,我们将DPDQ算法与一些经典算法LDA,SVD ,ICF 和最前沿的算法如TLDA 进行了比较。在本文中,我们提出了DPDQ算法,该算法考虑了DP模型中的动态QoS。同样,我们也可以考虑LDA和TLDA中的动态QoS,分别形成LDA + DQ算法和TLDA + DQ算法。

DP(动态偏好):该算法采用本文提出的DP模型来提取用户偏好。

LDA + DQ(动态QoS):该算法采用LDA模型提取用户偏好,并考虑动态QoS。

TLDA + DQ(动态QoS):该算法采用TLDA模型提取用户偏好,并考虑动态QoS。

DPDQ(动态偏好和动态QoS):该算法采用DP模型提取用户偏好并考虑动态QoS。

ICF:这是一个基于项目的协同过滤算法。

SVD:基于奇异值分解和矩阵维数约简算法。

D. 实验结果分析

Q1:如何选择算法的最佳参数?

本实验旨在回答Q1。对于DP算法和DPDQ算法,我们设置DP模型参数α = 50 /K ,β= 0.01 ,K= 10 我们使用网格搜索来找到最佳值 w1 和 w2

img

结果:图4显示了何时w1= 0.9 和 w2= 0.2,DP算法具有最高的精度。如w1增加,精度增加。如w2增加,精度先增加后减小。w1和 w2 的价值也适用于DPDQ算法。

分析:在DP模型中,如w1 如果增加,则当前时间片的偏好可以在很大程度上与前一时间片的偏好一致。 w2确定用户继承的前一时间片的偏好量。当w2太大时,将覆盖当前时间片的偏好,导致过度拟合问题。

Q2:DPDQ与现有最前沿的推荐方法和经典推荐方法水平相比如何?

实验2旨在回答Q2。我们通过计算精度,召回率,F1和汉明距离来比较DPDQ算法与现有的最前沿推荐算法和经典推荐算法的性能。在本实验中,需要对QoS进行规范化,然后根据范围值进行调整θ矩阵。

img

Fig.5表明,当不考虑动态QoS且推荐数量小于50时,LDA的精度大于TLDA和DP的精度。DP算法比ICF和SVD更准确。当建议的数量大于50时,TLDA和DP优于LDA。与TLDA相比,DP的精度略有提高。在考虑动态QoS后,LDA + DQ,TLDA + DQ和DPDQ的精度得到了提高。DPDQ的精度高于其他算法。

img

图6显示随着推荐数量的增加,每种算法的召回率增加。算法的召回率存在细微差别,但仍然可以看出,考虑QoS的算法明显优于无QoS算法,DPDQ的召回率明显高于ICF和SVD,略高于LDA和TLDA。

img

图7示出了考虑动态QoS的算法的F1值大于那些无QoS算法。DPDQ算法的F1值大于其他算法。

img

图8显示TLDA + DQ和DPDQ的多样性优于其他算法。对于相同的服务,每个用户感知的服务质量是不同的。因此,当我们考虑动态OoS时,推荐列表的多样性会增加。

结果:DPDQ算法在准确性和多样性方面优于其他算法。静态算法(例如,LDA,SVD,ICF)的性能不如动态算法。考虑DP和DQ(例如,DPDQ,TLDA + DQ)的算法的性能优于仅考虑DP(例如,DP,TLDA)或DQ(例如,LDA + DQ)的算法。

分析:将动态偏好考虑在内的算法可以捕获用户偏好的变化,以获得更准确的建议。对于特定服务,不同用户同时体验不同的质量,因此在考虑动态QoS之后,推荐列表的多样性可以增加

Q3:用户偏好如何随时间变化?

本实验旨在回答Q3,了解用户偏好如何随时间变化。偏好的强度从LDA算法中的主题强度演变而来,这意味着偏好的比例k在用户u的所有偏好。通过增量Gibbs采样,我们在时间片t中获得用户偏好分布矩阵θ。基于矩阵中的值,我们可以得到每个用户的每个偏好的比率。我们提取用户1的十个偏好以观察偏好强度的变化。

img

结果:图9显示偏好5和偏好2具有更大的强度变化。偏好8和偏好1在强度上的变化不强烈但影响排名。其他偏好波动但相对稳定。

分析:用户的长期偏好波动但变化不会很大,而用户的短期偏好很容易受到环境和其他因素的影响。

Q4:QoS如何随时间变化?

本实验旨在回答Q4,了解QoS如何随时间变化。我们在用户1的交互记录中选择五个服务,并在每个时间片上计算它们的QoS。

img

结果:图10显示服务2,3,4,5具有显着的质量变化,服务1具有轻微的波动。而剩余服务的质量相对稳定。

分析:服务质量受到许多因素的影响,例如技术,设备和访问。这些因素导致不同时间片上的服务质量不同。

4. 结论

用户偏好随着内部和外部环境的变化而变化。如何及时捕捉用户偏好的变化,准确挖掘用户的动态偏好是服务推荐的关键。考虑到LDA模型在机器学习领域中提取隐式偏好的优势,采用时态LDA概率偏好模型用于模拟用户对挖掘隐式用户偏好因子的动态偏好。然后,基于这些隐式偏好因子,为用户生成服务推荐列表。实际数据集的实验结果表明,该算法在准确性,召回率和多样性方面优于一些经典算法和最前沿的算法。由于空间的限制,本文仅将基本LDA模型与时间模型相结合。如果可以使用随机游走算法扩展LDA模型以减轻数据稀疏性问题,则在准确性和多样性方面的性能将更好。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有