基于图挖掘的服务推荐算法
来源:互联网 发布:java软件程序员工资 编辑:程序博客网 时间:2024/06/07 16:27
研究假设: 1、领域专家的经验隐含在组合Web服务的结构及其执行日志中
2、以前被一起组合过或执行过的一堆Web服务很可能以类似的方式被重用
3、经常被使用的Web服务,其可靠性和鲁棒性更好
三阶段
第一阶段 数据准备阶段
1、对Web服务进行聚类, 采用k-中心聚类方法,利用参考文章30修改版, 考虑了WSDL types、WSDL message、WSDL ports和Web Service name, 没有考虑WSDLcontents, 计算Web Service name相似度时,没有采用NGD,采用Lin measure of WordNet similarity,主要不是因为效果好,而是目前搜索引擎不允许太多次数的搜索
聚类得到的Web服务 WS = (WS-ID,In,Out, QoS, Cluster-ID)
2、根据服务日志得到服务组合图 有向标签图G=(V,E, LV, lV, LR,R)
V顶点集合、E边的集合、LV顶点类标签、lV顶点集合和类标签集合的映射函数
LR 关系标签集合,B表示分支关系、P表示并行关系
R顶点集合和关系标签集合上的二元关系,对于V中每个出度大于1的顶点,都会根据情况添加关系标签
从日志库里提取所有执行过的组合Web服务,然后转化为类标签形式
第二阶段 数据处理阶段
挖掘出频繁子图, 不考虑类标签,设立最小支持度。找出组合服务图数据集中的频繁图的完整集合
使用gSpan改进版:
1、将服务组合图从有向标签转化为对应的无向标签, 进行深度优先搜索构造DFS树,根据顶点发现的时间记录线性序列,得到DFS编码,例如((V0,V1),(V1,V2),(V2,V3),(V3,V0),(V3,V4),(V3,V5),(V5,V0)),最右路径wie(V0,V1,V2,V3,V5)
2、将每条边替换为7元组(i,j,d,li,lj,lri,lrj)
li,lj为顶点vi和vj的类标签,lri和lrj为关系标签,d表示方向,由于一个图不止一个DFS编码,取最小的那个
先比较每条边的线性序,即下标,接着考虑顶点列标签li,lj
第三阶段 服务推荐阶段
根据用户组合了一半的Web服务,构造有向标签图G0,枚举G0所有子图,找到那些也在图挖掘结果集FS中的子图构成S0
对S0中的每个图,枚举所有后代,找到也同时在FS中的后代,找到g的后代集合为Des(g)
为了找出Des(g)中最有可能扩展得到的图,计算Score = 得到分数最高的那一个
得出推荐集合CFS,CFS根据Score、扩展边数、最小DFS编码排序,根据用户需要返回前K个
将这k个和G0组合
利用skyline代入每一类中QoS最好的那几个,可以提高效率 (QoS只考虑分支结构和并行结构)
给出QoS最好的几个
实验阶段, 拟合得到α的合适值
展望:1 考虑更一般的组合服务图,有还,顶点关系标签多于1的情况
2 既有分支又有并行关系, QoS计算
3 未考虑QoS随时间变化的情况,Web服务随着时间变化不可用,考虑实时计算每个类的skyline服务, 提高算法效率
0 0
- 基于图挖掘的服务推荐算法
- 《推荐系统》基于图的推荐算法
- 数据挖掘算法从无到有系列之基于用户的协同过滤推荐算法01
- 推荐算法:基于图的算法
- 推荐算法:基于图的算法:pagerank
- 全文检索、数据挖掘、推荐引擎系列6---基于KMean的文本自动算法
- 全文检索、数据挖掘、推荐引擎系列6---基于KMean的文本自动算法
- 全文检索、数据挖掘、推荐引擎系列6---基于KMean的文本自动算法
- 全文检索、数据挖掘、推荐引擎系列6---基于KMean的文本自动算法
- 推荐算法:基于图的算法:基于路相似度
- 推荐算法:基于特征的推荐算法
- 推荐算法:基于特征的推荐算法
- 基于图的推荐算法(PersonalRank)
- PersonalRank:一种基于图的推荐算法
- 基于图的推荐算法——《推荐系统实践》
- 机器学习->推荐系统->基于图的推荐算法(PersonalRank)
- 数据挖掘、推荐算法
- 推荐算法:基于约束的推荐
- Javascript Timeline Libaries - A Review
- Security
- 谷歌和苹果是“两种不同的政府”
- TRAC svn 代码 中文显示乱码再解决
- UML类图与类的关系详解
- 基于图挖掘的服务推荐算法
- h.264编解码器详解
- zoj1025 Wooden Sticks dp
- 数据挖掘18种候选算法和十大经典算法
- Node.js学习笔记4【核心模块--fs】
- fb4.7破解
- #转#关于iOS的NSThread & Run Loop
- 几种经典的网络服务器架构模型的分析与比较
- Javascript与C++之间的通信 —— WebBrowser