生物信息学系统设计中引进推荐系统_第1页
生物信息学系统设计中引进推荐系统_第2页
生物信息学系统设计中引进推荐系统_第3页
生物信息学系统设计中引进推荐系统_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、生物信息学系统设计中引进推荐系统    摘要:在生物信息学系统设计中引进推荐系统,提出具有个性化服务的生物信息学网站模型,完成生物信息学推荐系统的设计和实现,体现出推荐系统在生物信息学中使用的必要性和优越性。  关键词:推荐系统;生物信息学    推荐系统(Recommender System) 1是个性化信息服务的主要技术之一,它实现的是“信息找人,按需服务”;通过对用户信息需要、兴趣爱好和访问历史等的收集分析,建立用户模型,并将用户模型应用于网上信息的过滤和排序,从而为用户提供感兴趣的资源和信息。生物

2、信息学(Bioinformatics)2,3是由生物学、应用数学和计算机科学相互交叉所形成的一门新型学科;其实质是利用信息科学的方法和技术来解决生物学问题。20世纪末生物信息学迅速发展,在信息的数量和质量上都极大地丰富了生物科学的数据资源,而数据资源的急剧膨胀需要寻求一种科学而有力的工具来组织它们,基于生物信息学的二次数据库4能比较好地规范生物数据的分类与组织,但是用户无法从大量的生物数据中寻求自己感兴趣的部分(著名的生物信息学网站NCBI(美国国立生物技术信息中心),仅仅是小孢子虫(Microsporidia)的DNA序列就达3 399种),因此在生物二次数据库上建立个性化推荐系统

3、,能使用户快速找到自己感兴趣的生物信息。特别是在当前生物信息数据量急剧增长的情况下,生物信息学推荐系统将发挥强大的优势。    1推荐系统的工作流程    应用在不同领域的推荐系统,其体系结构也不完全相同。一般而言,推荐系统的工作流程5如图1所示。   (1)信息获取。推荐系统工作的基础是用户信息。用户信息包括用户输入的关键词、项目的有关属性、用户对项目的文本评价或等级评价及用户的行为特征等,所有这些信息均可以作为形成推荐的依据。信息获取有两种类型6,即显式获取(Explicit)和隐式获取(Implicit),由于用户的很多行为都能

4、暗示用户的喜好,因此隐式获取信息的准确性比显式高一些。  (2)信息处理。信息获取阶段所获得的用户信息,一般根据推荐技术的不同对信息进行相应的处理。用户信息的存储格式中用得最多的是基于数值的矩阵格式,最常用的是用m×n维的用户项目矩阵R来表示,矩阵中的每个元素Rij=第i个用户对第j个项目的评价,可以当做数值处理,矩阵R被称为用户项目矩阵。  (3)个性化推荐。根据形成推荐的方法的不同可以分为三种,即基于规则的系统、基于内容过滤的系统和协同过滤系统。基于规则的推荐系统和基于内容过滤的推荐系统均只能为用户推荐过去喜欢的项目和相似的项目,并不能推荐用户潜在感兴趣的项目

5、。而协同过滤系统能推荐出用户近邻所喜欢的项目,通过用户与近邻之间的“交流”,发现用户潜在的兴趣。因此本文所用的算法是基于协同过滤的推荐算法。  (4)推荐结果。显示的任务是把推荐算法生成的推荐显示给用户,完成对用户的推荐。目前最常用的推荐可视化方法是TopN列表7,按照从大到小顺序把推荐分值最高的N个事物或者最权威的N条评价以列表的形式显示给用户。    2生物信息学推荐系统的设计    综合各种推荐技术的性能与优缺点,本文构造的生物信息学推荐系统的总体结构如图2所示。  生物信息学推荐系统实现的主要功能是在用户登录生物信息学网站时,

6、所留下的登录信息通过网站传递到推荐算法部分;推荐算法根据该用户的用户名从数据库提取出推荐列表,并返回到网站的用户界面;用户访问的记录返回到数据库,系统定时调用推荐算法,对数据库中用户访问信息的数据进行分析计算,形成推荐列表。  本系统采用基于近邻的协同过滤推荐算法,其结构可以进一步细化为如图3所示。算法分为邻居形成和推荐形成两大部分,两部分可以独立进行。这是该推荐系统有别于其他系统的优势之一。由于信息获取后的用户项目矩阵维数较大,使得系统的可扩展性降低。本系统采用SVD矩阵降维方法,减少用户项目矩阵的维数,在计算用户相似度时大大降低了运算的次数,提高了推荐算法的效率。  &

7、#160;(1)信息获取。用户对项目的评价是基于用户对某一个项目(为表示简单,以下提及的项目均指网站上的生物物种)的点击次数来衡量的。当一个用户注册并填写好个人情况以后,系统会自动为该用户创建一个“信息矩阵”,该矩阵保存了所有项目的ID号以及相应的用户评价,保存的格式为:S+编号+用户评价,S用于标记项目,每个项目编号及其评价都以“S”相隔开;编号是唯一的,占5位;用户评价是用户点击该项目的次数,规定其范围是0100,系统设定当增加到100时不再变化。这样做可防止形成矩阵时矩阵评价相差值过大而使推荐结果不准确。 (2)信息处理。信息处理是将所有用户的信息矩阵转换为用户项目矩阵,使用户

8、信息矩阵数值化,假设系统中有M个用户和N个项目,信息处理的目的就是创建一个M×N的矩阵R,RIJ代表用户I对项目J的评价。  (3)矩阵处理。协同过滤技术的用户项目矩阵的数据表述方法所带来的稀疏性严重制约了推荐效果,而且在系统较大的情况下,它既不能精确地产生推荐集,又忽视了数据之间潜在的关系,发现不了用户潜在的兴趣,而且庞大的矩阵增加了计算的复杂度,因此有必要对该矩阵的表述方式做优化,进行矩阵处理。维数简化是一种较好的方法,本文提出的算法应用单值分解(Singular Value Decomposition,SVD)技术8,对用户项目矩阵进行维数简化。&

9、#160;   (4)相似度计算。得到降维以后的用户矩阵US,就可以寻找每个用户的近邻。近邻的确定是通过两个用户的相似度来度量的。本文采用Pearson相关度因子9求相似度。(5)计算用户邻居。该方法有两种10,即基于中心的邻居(CenterBased Neighbor)和集合邻居(Aggregate Neighbor)。本系统采用了第一种方法,直接找出与用户相似度最高的前N个用户作为邻居,邻居个数N由系统设定,比如规定N5。  (6)推荐形成。推荐形成的前提是把当前用户的邻居ID号及其与当前用户的相似度保存到数据库中,而在前面的工作中已找出各用户的邻居

10、以及与用户的相似度,推荐形成部分只需要对当前登录用户进行计算。推荐策略是:对当前用户已经访问过的项目不再进行推荐,推荐的范围是用户没有访问的项目,其目的是推荐用户潜在感兴趣的项目;考虑到系统的项目比较多,用户交互项目的数量很大,所以只筛选出推荐度最大的N个项目,形成TopN推荐集,设定N5。    3生物信息学推荐系统的实现    生物信息学推荐系统的实现可以用图4来表示。数据库部分主要存储用户信息和项目信息,用SQL Server 2000实现。  数据访问层实现了与用户交互必需的存储过程以及触发器,也使用SQL 

11、;Server 2000,主要完成以下功能:初始化新用户信息矩阵;插入新项目时更新所有用户的信息矩阵;用户点击项目时更新该用户对项目的评价;删除项目时更新所有用户的信息矩阵。用户访问层主要涉及网页与用户的交互和调用数据访问层的存储过程,在这里不做详细的介绍。  推荐算法完成整个个性化推荐的任务,用Java实现。 (1)数据连接类DataCon。该类完成与SQL Server 2000数据库的连接,在连接之前必须要下载三个与SQL Server连接相关的包,即msutil.jar、msbase.jar和mssqlserver.jar。 

12、 (2)数据操作类DataControl。该类负责推荐算法与数据库的数据交换,静态成员Con调用DataCon. getcon()获得数据库连接,然后对数据库进行各种操作。把所有方法编写成静态,便于推荐算法中不创建对象就可以直接调用。  (3)RecmmendSource与CurrentUserNeighbor。这两个类作为FCRecommand类的内部类,RecmmendSource用于保存当前用户的推荐列表,包括推荐项目号和推荐度;CurrentUserNeighbor用于保存邻居信息,包括邻居ID号、相似度及其访问信息。   (4)协同过滤推荐算法

13、FCRecommand。该类实现了整个推荐算法,主要分为邻居形成方法FCArithmetic和推荐形成方法GenerateRecommend。  下面给出方法FCArithmetic的关键代码:  Matrix user_item=this.User_Item_Arry(); /获取用户项目矩阵  user_item=this.SVD_Calculate(user_item); /调用SVD降维方法  Vector c_uservector = new Vector(); /

14、当前用户向量  Vector o_uservector = new Vector(); /其他用户向量  Vector c_user_correlate_vector = new Vector();   /当前用户与其他用户之间相似度向量  for(int i=0;ifor(int j=0;jc_uservector.addElement(user_item.get(i,j);  /1.获得当前用户向量  for(i

15、nt k=0;k o_uservector.clear();  for(int l=0;lo_uservector.addElement(user_item.get(k,l);  /2.获得其他用户的向量  /3.计算当前用户与其他用户的相似度  usercorrelativity=this.Correlativity(c_uservector,o_uservector);  c_user_correlate_vector.addElement(usercorrelativity);    /4

16、.根据当前用户与其他用户的相似度,计算其邻居  this.FindUserNeighbor(i,c_user_correlate_vector);    根据邻居形成方法FCArithmetic,可以得到每个用户的邻居。作为测试用例,图6显示用户Jack与系统中一部分用户的相似度,可以看出它与自己的相似度必定最高;并且它与用户Sugx访问了相同的项目,它们之间的相似度也为1,具有极高的相似度。    4结束语    在传统推荐系统的基础上,结合当前生物信息学网站的特点,提出一个基于生物信息平台的推荐系统,解决了传统生物信息网

17、站平台信息迷茫的缺点,为用户推荐其感兴趣物种的DNA或蛋白质序列。  优点在于协同过滤的推荐算法能发现用户潜在的兴趣,能促进生物学家之间的交流;推荐算法的邻居形成与推荐形成两部分可以单独运行,减少了系统的开销。进一步的工作是分析生物数据的特点及生物数据之间的关系,增加用户和项目数量,更好地发挥推荐系统的优势。    参考文献:  1PAUL R,HAL R V. Recommender systemsJ.Communications of the ACM,1997,40(3)

18、: 5658.  2陈新.生物信息学简介EB/OL.(2001).68/bioinfo/papers/Chen_Xin.pdf.  3林毅申, 林丕源.基于Web Services的生物信息解决方案J. 计算机应用研究, 2005,22(6): 157158,164.4邢仲璟, 林丕源, 林毅申.基于Bioperl的生物二次数据库建立及应用J. 计算机系统应用, 2004(11): 5860.  5AIRIA 

19、S, TAKAHISA A, HIROYA I,et al. Personalization system based on dynamic learning:International Semantic Web ConferenceC.Sardinia:s.n.,2002. 6BREESE J S, HECKERMAN D,KADIE C.Emperical analysis of&#

20、160;predictive algorithms for collaborative filtering:proceedings of the Fourteenth Conference on University in Artificial IntelligenceC. Madison:WI,1998:4352.  7SCHAFER J B, KONSTAN J,RIEDL J.Recommender systems in ecommerce:proceeding of the ACM Conference on 

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论