生物信息学推荐系统的设计与实现(1)(2)
2014-03-17 01:15
导读:(1)信息获取。用户对项目的评价是基于用户对某一个项目(为表示简单,以下提及的项目均指网站上的生物物种)的点击次数来衡量的。当一个用户注册并填
(1)信息获取。用户对项目的评价是基于用户对某一个项目(为表示简单,以下提及的项目均指网站上的生物物种)的点击次数来衡量的。当一个用户注册并填写好个人情况以后,系统会自动为该用户创建一个“信息矩阵”,该矩阵保存了所有项目的ID号以及相应的用户评价,保存的格式为:S 编号 用户评价,S用于标记项目,每个项目编号及其评价都以“S”相隔开;编号是唯一的,占5位;用户评价是用户点击该项目的次数,规定其范围是0~100,系统设定当增加到100时不再变化。这样做可防止形成矩阵时矩阵评价相差值过大而使推荐结果不准确。 (2)信息处理。信息处理是将所有用户的信息矩阵转换为用户—项目矩阵,使用户信息矩阵数值化,假设系统中有玀个用户和N个项目,信息处理的目的就是创建一个M×N的矩阵R,R[I][J]代表用户I对项目J的评价。
(3)矩阵处理。协同过滤技术的用户—项目矩阵的数据表述方法所带来的稀疏性严重制约了推荐效果,而且在系统较大的情况下,它既不能精确地产生推荐集,又忽视了数据之间潜在的关系,发现不了用户潜在的兴趣,而且庞大的矩阵增加了计算的复杂度,因此有必要对该矩阵的表述方式做优化,进行矩阵处理。维数简化是一种较好的方法,本文提出的算法应用单值分解(Singular Value Decomposition,SVD)技术[8],对用户—项目矩阵进行维数简化。
(4)相似度计算。得到降维以后的用户矩阵US,就可以寻找每个用户的近邻。近邻的确定是通过两个用户的相似度来度量的。本文采用Pearson相关度因子[9]求相似度。 (5)计算用户邻居。该方法有两种[10],即基于中心的邻居(Center-Based Neighbor)和集合邻居(Aggregate Neighbor)。本系统采用了第一种方法,直接找出与用户相似度最高的前玁个用户作为邻居,邻居个数N由系统设定,比如规定N=5。
(转载自http://zw.NSEAC.com科教作文网) (6)推荐形成。推荐形成的前提是把当前用户的邻居ID号及其与当前用户的相似度保存到数据库中,而在前面的工作中已找出各用户的邻居以及与用户的相似度,推荐形成部分只需要对当前登录用户进行计算。推荐策略是:对当前用户已经访问过的项目不再进行推荐,推荐的范围是用户没有访问的项目,其目的是推荐用户潜在感兴趣的项目;考虑到系统的项目比较多,用户交互项目的数量很大,所以只筛选出推荐度最大的玁个项目,形成Top-N推荐集,设定玁=5。
3生物信息学推荐系统的实现
生物信息学推荐系统的实现可以用图4来表示。数据库部分主要存储用户信息和项目信息,用SQL Server 2000实现。
数据访问层实现了与用户交互必需的存储过程以及触发器,也使用SQL Server 2000,主要完成以下功能:初始化新用户信息矩阵;插入新项目时更新所有用户的信息矩阵;用户点击项目时更新该用户对项目的评价;删除项目时更新所有用户的信息矩阵。用户访问层主要涉及网页与用户的交互和调用数据访问层的存储过程,在这里不做详细的介绍。
推荐算法完成整个个性化推荐的任务,用Java实现。 共2页: 1 [2] 下一页 论文出处(作者):
基于移动技术的高校财务信息查询系统
基于J2EE的元数据管理系统的设计与实现