第10卷第3期 智能系统学报 Vol.10 No.3 2015年6月 CAAI Transactions on Intelligent Systems Jun.2015 D0:10.3969/j.issn.1673-4785.201409045 网s络出版地址:http://www.cnki.net/kcms/detail/23.1538.tp.20150610.1646.002.html 北京大学课程推荐引擎的设计和实现 沈苗,来天平,王素美,彭一明,高志同 (北京大学计算中心,北京100871) 摘要:为了在管理信息系统中向师生提供更个性化、人性化的服务,将推荐引擎应用到北京大学学生选课系统中, 设计并实现北京大学课程推荐引擎。改进的推荐算法是一种以学生属性分类为前提的协同过滤算法,通过分析选 课系统中课程推荐与商业推荐的不同点和学生属性、改进学生相似度的计算方法实现推荐。以北京大学学生选课 系统为平台,2013一2014学年度第1学期的10682名本科生为测试集,为其推荐课程,推荐结果的准确率为34.6%。 该系统为学生选课提供了有效的指导,填补了选课系统智能化、个性化方面的空白。 关键词:北京大学:课程推荐;推荐引擎:协同过滤:选课系统:管理信息系统 中图分类号:TP319文献标志码:A文章编号:1673-4785(2015)03-0369-07 中文引用格式:沈苗,来天平,王素美,等.北京大学课程推荐引擎的设计和实现[J].智能系统学报,2015,10(3):369375. 英文引用格式:SHEN Miao,LAI Tianping,WANG Sumei,.etal.Design and implementation of the course recommendation engine in Peking University[J].CAAI Transactions on Intelligent Systems,2015,10(3):369-375. Design and implementation of the course recommendation engine in Peking University SHEN Miao,LAI Tianping,WANG Sumei,PENG Yiming,GAO Zhitong (Computer Center,Peking University,Beijing 100871,China) Abstract:In order to provide a more personalized and humanized service for students and teachers in the manage- ment information system,a recommendation engine is applied to the Peking University student course-selecting sys- tem.The Peking University course recommendation engine is designed and implemented.The improved recommen- dation algorithm is a collaborative filtering algorithm on the premises of student attribute classification.The recom- mendation is achieved through analyzing different points between course recommendation and commercial recom- mendation,analyzing student attribute and improving the calculation method of students'similarity.As the plat- form,course-selecting system in Peking University recommend courses to 10 682 undergraduate students in the first semester of the 2013-2014 school year.The precision of recommendation results is 34.6%.This system can provide the effective guidance for the students choosing courses,and fill the blank of the system's intelligent and personal- ized. Keywords:Peking University;course recommendation;recommendation engine;collaborative filtering;elective system;management information systems 随着互联网技术的高速发展,信息过载问题亟 需信息,信息创造者则希望其信息能够在海量数据 须解决。用户希望从海量信息中快速准确地获取所 中被迅速发掘并应用。在此情况下,互联网的技术 从最初的分类目录到搜索引擎再到推荐引擎,在电 收稿日期:2014-09-30.网络出版日期:2015-06-10 子商务中得到了快速发展,其中推荐引擎是近些年 基金项目:北京大学教育发展研究中心2013北大研究课题(Y+25). 通信作者:沈苗.E-mail:shem@pku.edu.cn 学术界和产业界研究的重点,推荐引擎实现了用户
第 10 卷第 3 期 智 能 系 统 学 报 Vol.10 №.3 2015 年 6 月 CAAI Transactions on Intelligent Systems Jun. 2015 DOI:10.3969 / j.issn.1673⁃4785.201409045 网络出版地址:http: / / www.cnki.net / kcms/ detail / 23.1538.tp.20150610.1646.002.html 北京大学课程推荐引擎的设计和实现 沈苗,来天平,王素美,彭一明,高志同 (北京大学 计算中心,北京 100871) 摘 要:为了在管理信息系统中向师生提供更个性化、人性化的服务,将推荐引擎应用到北京大学学生选课系统中, 设计并实现北京大学课程推荐引擎。 改进的推荐算法是一种以学生属性分类为前提的协同过滤算法,通过分析选 课系统中课程推荐与商业推荐的不同点和学生属性、改进学生相似度的计算方法实现推荐。 以北京大学学生选课 系统为平台,2013—2014 学年度第 1 学期的 10 682 名本科生为测试集,为其推荐课程,推荐结果的准确率为 34.6%。 该系统为学生选课提供了有效的指导,填补了选课系统智能化、个性化方面的空白。 关键词:北京大学;课程推荐;推荐引擎;协同过滤;选课系统;管理信息系统 中图分类号:TP319 文献标志码:A 文章编号:1673⁃4785(2015)03⁃0369⁃07 中文引用格式:沈苗,来天平,王素美,等. 北京大学课程推荐引擎的设计和实现[J]. 智能系统学报, 2015, 10(3): 369⁃375. 英文引用格式:SHEN Miao, LAI Tianping, WANG Sumei, et al. Design and implementation of the course recommendation engine in Peking University[J]. CAAI Transactions on Intelligent Systems, 2015, 10(3): 369⁃375. Design and implementation of the course recommendation engine in Peking University SHEN Miao, LAI Tianping, WANG Sumei, PENG Yiming, GAO Zhitong (Computer Center, Peking University, Beijing 100871, China) Abstract:In order to provide a more personalized and humanized service for students and teachers in the manage⁃ ment information system, a recommendation engine is applied to the Peking University student course⁃selecting sys⁃ tem. The Peking University course recommendation engine is designed and implemented. The improved recommen⁃ dation algorithm is a collaborative filtering algorithm on the premises of student attribute classification. The recom⁃ mendation is achieved through analyzing different points between course recommendation and commercial recom⁃ mendation, analyzing student attribute and improving the calculation method of students' similarity. As the plat⁃ form, course⁃selecting system in Peking University recommend courses to 10 682 undergraduate students in the first semester of the 2013-2014 school year. The precision of recommendation results is 34.6%. This system can provide the effective guidance for the students choosing courses, and fill the blank of the system's intelligent and personal⁃ ized. Keywords:Peking University; course recommendation; recommendation engine; collaborative filtering; elective system; management information systems 收稿日期:2014⁃09⁃30. 网络出版日期:2015⁃06⁃10. 基金项目:北京大学教育发展研究中心 2013 北大研究课题 (Y+25). 通信作者:沈苗. E⁃mail: shenm@ pku.edu.cn. 随着互联网技术的高速发展,信息过载问题亟 须解决。 用户希望从海量信息中快速准确地获取所 需信息,信息创造者则希望其信息能够在海量数据 中被迅速发掘并应用。 在此情况下,互联网的技术 从最初的分类目录到搜索引擎再到推荐引擎,在电 子商务中得到了快速发展,其中推荐引擎是近些年 学术界和产业界研究的重点,推荐引擎实现了用户
.370 智能系统学报 第10卷 与信息间的主动交互,通过用户行为和属性“猜测” (学分和课程类型限制)的情况下,面对信息过载 用户感兴趣的内容并进行推荐,是一种根据不同用 (几千门可选课程)所采用的常规措施。在此过程 户的特点进行推荐的个性化服务)。 中学生已经根据自身特点进行了一定的分类,但是 管理信息系统的使用是高校信息化建设的关键 这种简单的分类并没有明确学生的需求,有些学生 手段,选课系统更是学生获取课程信息、选择自己培 面对众多课程甚至无法通过关键字来搜索自己可能 养方案的重要媒介。一个好的选课系统不但要简单 感兴趣的方向,需要人或工具来帮助他做出筛选,给 易用、逻辑严密,还要承担平衡教学资源的责任。目 出建议供其选择,事实上大部分学生也确实这样做 前,推荐引擎在管理信息系统方面的应用主要集中 了一通过询问身边同学或学长选择一些课程以满足 在图书借阅系统和选课系统[)】,而且主要是理论研 学分要求。这样做导致的主要弊端有:学生不能根 究。针对以上情况,在现有的选课系统中增加课程 据个人情况私人定制自己的学习计划(如爱好、实 推荐服务,针对学生的特点推荐个性化课程,是一个 力、当前学业进展等):某些精品课程由于知选课人 创新性的研究方向)。 数较少最终停开,浪费教学资源。学生也不能时刻 都去咨询“前辈”,因此,一个个性化的课程推荐系 1选课系统和课程推荐的特征 统显得尤为重要。 首先关注学生在常规选课系统中如何实现选 除常规选课系统出现的上述问题外,在选课过 课,以北京大学为例,学生根据学校的培养手册计算 程中,学生从大量开设的课程中找到符合自己要求 本学期所需学分,根据学分要求分类,针对不同的课 的课程也是一件非常困难的事情,因为学生大部分 程类别分别选择课程,例如本学期计划选择4学分 情况下没有特别明确的需求,无法通过关键字搜索 的通选课,然后开始浏览,关注课程类型、授课教师、 进行查询,因此各种课程想要更加突出自己的特点 学分、学时、上课时间等课程因素,找到符合自己要 让学生去关注,让学生更好地利用教学资源,也是一 求的课程进行选择,选择后选课系统会提示是否符 件非常困难的事情。推荐系统的基本任务就是解决 合选课条件(如有某种先行课的要求或有专业限制 这个矛盾,常规选课系统的课程推荐引擎一方面让 要求等)、上课时间与本学期的必修课或已选课程 学生更了解自身特点挖掘适合的课程,另一方面让 是否冲突。如果选课失败,学生需要重新去浏览其 学校的教学资源得到充分的展示,实现学校、学生共 他通选课程。这里提出的问题是学生在有一定限制 赢的局面。图1是课程推荐引擎的基本任务图。 数据源 学生基本 课程1 推荐给 学生A 信息 课程2 推荐给 学生B 学生选课 课程推荐 课程3 推荐给 学生C 信息 引擎 课程4 推荐给 学生D 课程基本 选课系统 信息 图1课程推荐引擎基本任务 Fig.1 The basic task map of course recommendation engine 将课程推荐与商品推荐进行比较,可以发现课程的便利:从学生角度,推荐的目的是使学生全面了解 推荐具有其独特的地方: 学校资源,更好地统筹规划自己的培养计划,更多地 1)推荐目标不同。商品推荐的目的是尽可能地体验自己感兴趣的课程,最终成为全面人才。综合来 推广商品,只要能获取利润,不用考虑商品资源平衡、讲,课程推荐的目的是使每位学生都明确适合自己的 商品类型等因素。而课程推荐从宏观上讲,其目的是培养方案,并选择自己感兴趣、有价值的课程,使学校 促进优质教育资源普及共享,提高教育质量、促进教的教学资源得到更合理的利用。 育公平、构建学习型社会和人力资源强国:从学校角 a)“马太效应”[4。选课系统在消除“马太效应” 度,推荐的目的是使更多的课程被学生知晓,甚至面上的要求比电子商务中的商品推荐具有更高的要求, 向社会,发挥教育资源的最大作用,为学生提供更大研究表明推荐系统是具有一定马太效应的。在电子商
与信息间的主动交互,通过用户行为和属性“猜测” 用户感兴趣的内容并进行推荐,是一种根据不同用 户的特点进行推荐的个性化服务[1] 。 管理信息系统的使用是高校信息化建设的关键 手段,选课系统更是学生获取课程信息、选择自己培 养方案的重要媒介。 一个好的选课系统不但要简单 易用、逻辑严密,还要承担平衡教学资源的责任。 目 前,推荐引擎在管理信息系统方面的应用主要集中 在图书借阅系统和选课系统[2] ,而且主要是理论研 究。 针对以上情况,在现有的选课系统中增加课程 推荐服务,针对学生的特点推荐个性化课程,是一个 创新性的研究方向[3] 。 1 选课系统和课程推荐的特征 首先关注学生在常规选课系统中如何实现选 课,以北京大学为例,学生根据学校的培养手册计算 本学期所需学分,根据学分要求分类,针对不同的课 程类别分别选择课程,例如本学期计划选择 4 学分 的通选课,然后开始浏览,关注课程类型、授课教师、 学分、学时、上课时间等课程因素,找到符合自己要 求的课程进行选择,选择后选课系统会提示是否符 合选课条件(如有某种先行课的要求或有专业限制 要求等)、上课时间与本学期的必修课或已选课程 是否冲突。 如果选课失败,学生需要重新去浏览其 他通选课程。 这里提出的问题是学生在有一定限制 (学分和课程类型限制) 的情况下,面对信息过载 (几千门可选课程)所采用的常规措施。 在此过程 中学生已经根据自身特点进行了一定的分类,但是 这种简单的分类并没有明确学生的需求,有些学生 面对众多课程甚至无法通过关键字来搜索自己可能 感兴趣的方向,需要人或工具来帮助他做出筛选,给 出建议供其选择,事实上大部分学生也确实这样做 了—通过询问身边同学或学长选择一些课程以满足 学分要求。 这样做导致的主要弊端有:学生不能根 据个人情况私人定制自己的学习计划(如爱好、实 力、当前学业进展等);某些精品课程由于知选课人 数较少最终停开,浪费教学资源。 学生也不能时刻 都去咨询“前辈”,因此,一个个性化的课程推荐系 统显得尤为重要。 除常规选课系统出现的上述问题外,在选课过 程中,学生从大量开设的课程中找到符合自己要求 的课程也是一件非常困难的事情,因为学生大部分 情况下没有特别明确的需求,无法通过关键字搜索 进行查询,因此各种课程想要更加突出自己的特点 让学生去关注,让学生更好地利用教学资源,也是一 件非常困难的事情。 推荐系统的基本任务就是解决 这个矛盾,常规选课系统的课程推荐引擎一方面让 学生更了解自身特点挖掘适合的课程,另一方面让 学校的教学资源得到充分的展示,实现学校、学生共 赢的局面。 图 1 是课程推荐引擎的基本任务图。 图 1 课程推荐引擎基本任务 Fig. 1 The basic task map of course recommendation engine 将课程推荐与商品推荐进行比较,可以发现课程 推荐具有其独特的地方: 1)推荐目标不同。 商品推荐的目的是尽可能地 推广商品,只要能获取利润,不用考虑商品资源平衡、 商品类型等因素。 而课程推荐从宏观上讲,其目的是 促进优质教育资源普及共享,提高教育质量、促进教 育公平、构建学习型社会和人力资源强国;从学校角 度,推荐的目的是使更多的课程被学生知晓,甚至面 向社会,发挥教育资源的最大作用,为学生提供更大 的便利;从学生角度,推荐的目的是使学生全面了解 学校资源,更好地统筹规划自己的培养计划,更多地 体验自己感兴趣的课程,最终成为全面人才。 综合来 讲,课程推荐的目的是使每位学生都明确适合自己的 培养方案,并选择自己感兴趣、有价值的课程,使学校 的教学资源得到更合理的利用。 a)“马太效应” [4] 。 选课系统在消除“马太效应” 上的要求比电子商务中的商品推荐具有更高的要求, 研究表明推荐系统是具有一定马太效应的。 在电子商 ·370· 智 能 系 统 学 报 第 10 卷
第3期 沈苗,等:北京大学课程推荐引擎的设计和实现 ·371· 务中的商品推荐系统中,一定的马太效应对推荐效果其他选定课程在上课时间上有冲突。对于不符合条 并不一定完全有害,比如在某个时段流行的商品或者件的课程则进行其他相似的推荐。 歌曲在很大程度上大部分人都会喜欢,这个时候把这 件商品或者歌曲推荐给每个用户不会有很大的问题, 2课程推荐算法设计 这种情况下马太效应反而会给电子商务网站带来很大 一个好的推荐系统需要满足学生、学校教务部门 的收益。但是选课系统的要求则完全不同,选课系统(开设课程的设计部门)和推荐系统本身三方面的要 要求完全消除马太效应,某门课的选课人数是有上限求。1)要给学生推荐最符合学生现今状态的课程,此 的,不可能给每个人都推荐同一门课程。如果选课人为重中之重:2)要均衡学校的资源,推荐不同类型的课 数达到上限,推荐引擎应该马上停止推荐这门课程。 程,教务部门在设计开设哪些课程时一定是经过各方 b)总量控制。电子商务中的推荐系统是没有总量面权衡和计算:3)一个好的推荐系统能够不断地得到 控制的,推荐的出发点是尽可能的让用户“购买”产品学生的反馈,完善推荐质量,从而给出更准确的推荐结 或者服务,越多越好。而课程推荐系统则完全不同,学果。在课程推荐中,可以通过调查问卷的形式来实现 生选课的学分是有总量控制的,不是学生选的课越多上述要求,主要是前2点是课程推荐系统的重中之重。 越好,而是在一定总量控制下,达到最优化选择。 在设计推荐算法时需要着重考虑这些要求。 2)信息准确度不同。这里的信息实际上是指用 正如文章第1部分对选课系统和课程推荐特征 户行为和属性的全面性和准确性。电子商务网站上,的分析,课程推荐的主要目的不是向学生推销课程, 用户的信息仅限于注册信息,内容少且真实性差,电而是均衡学校的教学资源、以学生为本推荐适合学生 商能够参考的有价值信息一般是用户的行为,包含用的课程。因此在设计推荐算法时,要做到以学生为中 户的历史购物、浏览记录、购物车、收藏夹及对商品的心,对学生的信息了解越具体越详细,越有助于精准 评价和评分等信息。而北京大学的选课系统建立在推荐。简单来说主要有以下3种推荐方法:1)身边 整个学生管理信息系统大平台下,可以轻易而准确地的学长或同学进行建议,称为社会化推荐:2)根据学 获取学生详细信息,如基本信息、历史选课记录、成绩生历史选课记录挖掘其兴趣点、学生历史成绩判断其 信息、图书借阅信息、教学评估信息等。还可以获取需求(例如学生成绩好则推荐程度较深的课程,差的 到课程的详细信息,如历史开设情况、课时学分等课则推荐容易得分的课程)、根据学生已选课程特点推 程属性、任课教师、选课学生的成绩列表及学生对课荐(如某种类型的课程学分要求没达到,可以给出推 程的历史评价等。这些信息都具有极高的可信度,有荐),这种方法被称为基于内容的推荐:3)系统找出 利于定制个性化的课程推荐服务。此外,由于与传统与该学生实力相当、特征最相似的一群学生,分析他 的商品推荐所获取的用户行为、属性有差别,也导致们选择的课程,再找到最符合学生要求的进行推荐, 在进行算法设计时采取不同于传统商品推荐的算法。这种方式称为基于学生的协同过滤推荐。可以看到, 3)实时性要求不同。课程推荐相较于商品推荐这3种推荐方法从线下学生网络到线上单个学生再 实时性要求更高。主要体现在课程推荐是依托在选到线上学生网络,逐步通过自动化的方法形成信息量 课系统中实现的,某段时间内同时访问选课系统的学大、资源丰富的学生网络和课程网络,从而自动筛选 生数量众多,需要系统实时判断每门课程是否达到选出符合要求的课程,图2是推荐系统中学生与课程的 课限制人数、判断每位学生所选课程是否与必修课或3种联系方式。 选课系统 实 法国报刊选读(三) 学长同学 6专题片集纪永片创作 i2 8心程序设计及应用学 选课历史 0康德宗敦哲学 回学生基本信息 代数() 学生选课信息 出版文化学 学生 ☑学生成绩信息 神经影像学:原理及应用 世界电史 课程列表 图2推荐系统中学生与课程的3种联系方式 Fig.2 Three contact methods of students and course in recommendation system
务中的商品推荐系统中,一定的马太效应对推荐效果 并不一定完全有害,比如在某个时段流行的商品或者 歌曲在很大程度上大部分人都会喜欢,这个时候把这 件商品或者歌曲推荐给每个用户不会有很大的问题, 这种情况下马太效应反而会给电子商务网站带来很大 的收益。 但是选课系统的要求则完全不同,选课系统 要求完全消除马太效应,某门课的选课人数是有上限 的,不可能给每个人都推荐同一门课程。 如果选课人 数达到上限,推荐引擎应该马上停止推荐这门课程。 b)总量控制。 电子商务中的推荐系统是没有总量 控制的,推荐的出发点是尽可能的让用户“购买”产品 或者服务,越多越好。 而课程推荐系统则完全不同,学 生选课的学分是有总量控制的,不是学生选的课越多 越好,而是在一定总量控制下,达到最优化选择。 2)信息准确度不同。 这里的信息实际上是指用 户行为和属性的全面性和准确性。 电子商务网站上, 用户的信息仅限于注册信息,内容少且真实性差,电 商能够参考的有价值信息一般是用户的行为,包含用 户的历史购物、浏览记录、购物车、收藏夹及对商品的 评价和评分等信息。 而北京大学的选课系统建立在 整个学生管理信息系统大平台下,可以轻易而准确地 获取学生详细信息,如基本信息、历史选课记录、成绩 信息、图书借阅信息、教学评估信息等。 还可以获取 到课程的详细信息,如历史开设情况、课时学分等课 程属性、任课教师、选课学生的成绩列表及学生对课 程的历史评价等。 这些信息都具有极高的可信度,有 利于定制个性化的课程推荐服务。 此外,由于与传统 的商品推荐所获取的用户行为、属性有差别,也导致 在进行算法设计时采取不同于传统商品推荐的算法。 3)实时性要求不同。 课程推荐相较于商品推荐 实时性要求更高。 主要体现在课程推荐是依托在选 课系统中实现的,某段时间内同时访问选课系统的学 生数量众多,需要系统实时判断每门课程是否达到选 课限制人数、判断每位学生所选课程是否与必修课或 其他选定课程在上课时间上有冲突。 对于不符合条 件的课程则进行其他相似的推荐。 2 课程推荐算法设计 一个好的推荐系统需要满足学生、学校教务部门 (开设课程的设计部门)和推荐系统本身三方面的要 求。 1)要给学生推荐最符合学生现今状态的课程,此 为重中之重;2)要均衡学校的资源,推荐不同类型的课 程,教务部门在设计开设哪些课程时一定是经过各方 面权衡和计算;3)一个好的推荐系统能够不断地得到 学生的反馈,完善推荐质量,从而给出更准确的推荐结 果。 在课程推荐中,可以通过调查问卷的形式来实现 上述要求,主要是前 2 点是课程推荐系统的重中之重。 在设计推荐算法时需要着重考虑这些要求。 正如文章第 1 部分对选课系统和课程推荐特征 的分析,课程推荐的主要目的不是向学生推销课程, 而是均衡学校的教学资源、以学生为本推荐适合学生 的课程。 因此在设计推荐算法时,要做到以学生为中 心,对学生的信息了解越具体越详细,越有助于精准 推荐。 简单来说主要有以下 3 种推荐方法:1) 身边 的学长或同学进行建议,称为社会化推荐;2)根据学 生历史选课记录挖掘其兴趣点、学生历史成绩判断其 需求(例如学生成绩好则推荐程度较深的课程,差的 则推荐容易得分的课程)、根据学生已选课程特点推 荐(如某种类型的课程学分要求没达到,可以给出推 荐),这种方法被称为基于内容的推荐;3) 系统找出 与该学生实力相当、特征最相似的一群学生,分析他 们选择的课程,再找到最符合学生要求的进行推荐, 这种方式称为基于学生的协同过滤推荐。 可以看到, 这 3 种推荐方法从线下学生网络到线上单个学生再 到线上学生网络,逐步通过自动化的方法形成信息量 大、资源丰富的学生网络和课程网络,从而自动筛选 出符合要求的课程,图 2 是推荐系统中学生与课程的 3 种联系方式。 图 2 推荐系统中学生与课程的 3 种联系方式 Fig. 2 Three contact methods of students and course in recommendation system 第 3 期 沈苗,等:北京大学课程推荐引擎的设计和实现 ·371·
.372· 智能系统学报 第10卷 本文提出一种基于学生属性和课程特征的协同 2.2问题分析与算法改进 过滤推荐算法。该算法以协同过滤为基础,融合了 从2.1中描述的基本算法可以获取学生对课程 人口统计学特征,采取离线计算和在线推荐协调合 的感兴趣程度,但是存在以下优缺点: 作的方法,满足了课程推荐的实时性、准确性要求。 1)作为数据源,准确的学生选课历史信息为算 2.1基于学生的协同过滤基本算法 法提供了数据支持,这些选课历史不会发生改变,而 根据商业系统中基于用户的协同过滤算 每学期需要选课的学生也是固定的,因此,可以将学 法[s6),本文提出了基于学生的协同过滤基本算法, 生对课程的感兴趣程度在选课前进行离线计算,得 其原理是分析所有学生的历史选课数据,找出与目 到目标学生可能感兴趣的课程列表。离线计算弱化 标学生的选课爱好相似的K名“邻居”学生,将这K 了算法复杂度的重要性,是课程推荐引擎设计时的 名学生所选的课程推荐给目标学生。图3是基于学 最大特征优势。 生的协同过滤基本算法的原理图。 2)数据前期处理。尽管本算法对时间复杂度 要求不高,但是每学期选课的学生数庞大,以 推荐 选过 2011一2012学年度第1学期为例,本科生选课人数 目标学生 课程1 达到11697人,这些学生要在选课系统上进行查 相似 询、选课、取消等一系列操作,可操作课程有1247 邻居学生A 课程2 门,这里的课程已经经过处理,其中只包含选修、限 相似 选、任选和全校通选课,不包含必修课、专业必修课 非邻居学生 课程3 课程设计、试验课、论文、社会实践等性质的课程。 邻居学生B 课程4 容易看到,如果每位学生都与其他一万多名学生 进行计算相似度是没有必要的,因此,在进行协 图3基于学生的协同过滤基本算法 同过滤算法之前可以引入人口统计学规律,利用 Fig.3 Principle diagram of the Collaborative filtering 学生基本信息对学生进行分类,首先将学生分为 algorithm based on students 不同的类,然后以类为单位计算该类学生对某门 课程的感兴趣程度,这样简化算法的同时并不会 该算法主要包含2个主要步骤: 影响到推荐的准确度。 1)找出与目标学生的选课爱好相似的“邻居” 这里进行如下假设:a)假设同一个院系同一个 学生集合; 专业的学生对课程的喜好有更多的相似:b)假设历 2)找出目标学生没选,但“邻居”学生选择的课 史课程成绩平均值接近的同学拥有相同的实力。基 程进行推荐。 于这2个假设,聚类算法主要以学生所在专业与学 不难发现,在步骤1)中计算目标学生与其他 生历史成绩作为主要参数进行分类 学生间的相似度是重点。采用余弦相似度公式 3)算法计算相似度的改进。在上面的算法中, (1)计算。 W=IN(u)N() 假设了选择同一门课程的学生具有同样的兴趣,实 (1) 际上这样的假设是不准确的,选择同一门课程的学 √TN(u)WN(o) 生可能是选择了自己专业的必修课,因此在进行算 式中:W表示学生u和学生之间的兴趣相似度, 法设计时,只为学生推荐选修、限选、任选和全校通 N(u)和N()分别表示学生u和学生v曾经选过 选课4种类型的课程,并且将全校通选课程作为判 的课程集合。 断学生兴趣的重要课程类型,进行加权处理。因为 根据W计算学生u对课程i的感兴趣程度: 全校通选课列表中的课程全部与专业无关,除上课 P(u,)=∑esa3nwW。 (2) 时间等强制因素,是完全依据学生爱好进行选择的 式中:S(u,K)表示与学生u的兴趣相似度最高 课程。对式(1)进行了改进,如式(3),可以看到 的K个“邻居”学生,N()表示所有选过课程i的 1/八g1+|N(i)|用于降低学生u和学生v共同兴趣 学生集合。如果为学生山推荐课程i,则 课程列表中专业课程对相似度[)的影响。 P(u,i)表示学生u对这门课程的感兴趣程度。 通过计算P(u,)获取目标学生u最感兴趣的课 W= ∑lgl+NO (3) 程,并推荐给他。 √W(u)TN(w)
本文提出一种基于学生属性和课程特征的协同 过滤推荐算法。 该算法以协同过滤为基础,融合了 人口统计学特征,采取离线计算和在线推荐协调合 作的方法,满足了课程推荐的实时性、准确性要求。 2.1 基于学生的协同过滤基本算法 根据 商 业 系 统 中 基 于 用 户 的 协 同 过 滤 算 法[5-6] ,本文提出了基于学生的协同过滤基本算法, 其原理是分析所有学生的历史选课数据,找出与目 标学生的选课爱好相似的 K 名“邻居”学生,将这 K 名学生所选的课程推荐给目标学生。 图 3 是基于学 生的协同过滤基本算法的原理图。 图 3 基于学生的协同过滤基本算法 Fig. 3 Principle diagram of the Collaborative filtering algorithm based on students 该算法主要包含 2 个主要步骤: 1)找出与目标学生的选课爱好相似的“邻居” 学生集合; 2)找出目标学生没选,但“邻居”学生选择的课 程进行推荐。 不难发现,在步骤 1)中计算目标学生与其他 学生间的相似度是重点。 采用余弦相似度公式 ( 1)计算。 Wuv = N(u) ∩ N(v) N(u) N(v) (1) 式中:Wuv表示学生 u 和学生 v 之间的兴趣相似度, N(u) 和 N(v) 分别表示学生 u 和学生 v 曾经选过 的课程集合。 根据 Wuv计算学生 u 对课程 i 的感兴趣程度: P(u,i) = ∑v∈S (u,K ) ∩N(i) Wuv (2) 式中: S (u,K) 表示与学生 u 的兴趣相似度最高 的 K 个“邻居”学生,N( i)表示所有选过课程 i 的 学 生 集 合。 如 果 为 学 生 u 推 荐 课 程 i, 则 P (u,i) 表示学生 u 对这门课程的感兴趣程度。 通过计算 P (u,i) 获取目标学生 u 最感兴趣的课 程,并推荐给他。 2.2 问题分析与算法改进 从 2.1 中描述的基本算法可以获取学生对课程 的感兴趣程度,但是存在以下优缺点: 1)作为数据源,准确的学生选课历史信息为算 法提供了数据支持,这些选课历史不会发生改变,而 每学期需要选课的学生也是固定的,因此,可以将学 生对课程的感兴趣程度在选课前进行离线计算,得 到目标学生可能感兴趣的课程列表。 离线计算弱化 了算法复杂度的重要性,是课程推荐引擎设计时的 最大特征优势。 2)数据前期处理。 尽管本算法对时间复杂度 要求 不 高, 但 是 每 学 期 选 课 的 学 生 数 庞 大, 以 2011—2012 学年度第 1 学期为例,本科生选课人数 达到 11 697 人,这些学生要在选课系统上进行查 询、选课、取消等一系列操作,可操作课程有 1 247 门,这里的课程已经经过处理,其中只包含选修、限 选、任选和全校通选课,不包含必修课、专业必修课、 课程设计、试验课、论文、社会实践等性质的课程。 容易看到,如果每位学生都与其他一万多名学生 进行计算相似度是没有必要的,因此,在进行协 同过滤算法之前可以引入人口统计学规律,利用 学生基本信息对学生进行分类,首先将学生分为 不同的类,然后以类为单位计算该类学生对某门 课程的感兴趣程度,这样简化算法的同时并不会 影响到推荐的准确度。 这里进行如下假设:a)假设同一个院系同一个 专业的学生对课程的喜好有更多的相似;b)假设历 史课程成绩平均值接近的同学拥有相同的实力。 基 于这 2 个假设,聚类算法主要以学生所在专业与学 生历史成绩作为主要参数进行分类 3)算法计算相似度的改进。 在上面的算法中, 假设了选择同一门课程的学生具有同样的兴趣,实 际上这样的假设是不准确的,选择同一门课程的学 生可能是选择了自己专业的必修课,因此在进行算 法设计时,只为学生推荐选修、限选、任选和全校通 选课 4 种类型的课程,并且将全校通选课程作为判 断学生兴趣的重要课程类型,进行加权处理。 因为 全校通选课列表中的课程全部与专业无关,除上课 时间等强制因素,是完全依据学生爱好进行选择的 课程。 对式( 1) 进行了改进,如式( 3),可以看到 1 / lg1 + N(i) 用于降低学生 u 和学生 v 共同兴趣 课程列表中专业课程对相似度[7]的影响。 Wuv = ∑i∈N(u ) ∩N(v) 1 lg1 + N(i) N(u) N(v) (3) ·372· 智 能 系 统 学 报 第 10 卷
第3期 沈苗,等:北京大学课程推荐引擎的设计和实现 ·373. 4)冷启动问题的解决。基于学生的协同过滤 2013一2014学年度第1学期的学生作为推荐样本, 基本算法与基于用户的协同过滤算法相同,存在冷 是因为该批学生的选课情况已经成为历史,可以根 启动问题,当新学生要进行选课时,由于其没有历史 据这些学生的历史选课结果与推荐结果进行对比, 选课记录,无法从分类后的学生类中找到与其最相 判断算法准确度。算法中没有描述一年级新生的选 似的K名“邻居”学生,本文从实际出发,单独处理 课信息,按冷启动问题的解决方法直接进行推荐。 新生。鉴于新生第1学期课程量少的特点,将一年 2.3算法测评 级学生以专业、生源地、入学成绩分类,然后将二年 一个好的推荐引擎包含学生、课程和载体(选 级、三年级、四年级学生在一年级时选过的课程推荐 课系统)三方面,推荐引擎首先要为学生推荐其感 给目标学生。通过实验发现推荐结果的覆盖率达到 兴趣、能获取最大知识和综合技能的课程:其次学校 了95%以上,从而解决了冷启动问题。 开设的课程要能够被推荐给感兴趣的学生,而不是 总结以上问题,基于学生分类的协协同过滤算 覆盖面小,只推荐几门热门课程:最后,好的推荐引 法SuCF的流程如下。 擎可以通过推荐系统获取学生反馈,从而修改、完善 算法1基于学生分类的协同过滤SuCF。 推荐结果,一般可以从学校的教学评估、问卷调查获 输入:学生基本信息、课程基本信息、学生选课 取到。不同于传统的商业推荐系统,课程推荐不仅 信息。 要求准确预测学生的行为,而且能够帮助学生发现 输出:学生与对应推荐课程列表。 他们感兴趣的课程:同时为了平衡学校教学资源,还 数据源:12096名在读本科生的所有选课记录。 需要克服“长尾问题”。因此,准确度、覆盖率成为 推荐样本:2013一2014学年度第1学期10682 评测SuCF推荐算法的2个重要指标。 名待选课本科生。 1)预测准确度。 协同过滤,离线计算: 基于选课系统SuCF算法最终提供给学生提供 1)学生分类:以专业和成绩进行分类: 1个个性化的课程推荐列表,这种推荐也被成为 2)共119个专业的学生 TopN推荐,预测准确度通过准确率/召回率度量。 3)专业人数在40人以下的不使用成绩分类: 根据图4分析准确率P与召回率R的概念。 4)共分324类,每类学生数低于40,记为集 已选课程未选课程 合U。 推荐的课程 A 5)根据集合U找“邻居”学生集合K: 未推荐的课程 C 0 6)根据式(3)计算每位学生“与集合U中的 其他学生间的兴趣相似度: 图4课程推荐的4种情况 7)取相似度最高的K名“邻居”学生。 Fig.4 Four cases of course recommendation system 8)计算学生对课程的感兴趣程度: A表示系统推荐学生也选择了的课程列表,B 9)获取K名“邻居”学生的所选课程集合1: 10)只关注“邻居”学生已选,学生“未选的 表示系统推荐了学生未选择的课程列表,C表示系 选修课程。 统未推荐学生选择了的课程列表,D表示系统未推 11)根据式(2)计算学生u对集合I中的课程i 荐学生未选择的课程列表。召回率指已选课程中是 的感兴趣程度: 推荐的课程数量越多越好,可以被记录为 12)获取每位学生对应的推荐课程列表R。 A/(A+C),准确率可表示推荐的课程中,真正被选 选课系统,实时推荐: 择的越多越好,用A/(A+B)表示。 13)以选课系统为平台,获取每个推荐样本的 R= ∑.tlRm)nT)l 学号: ∑.elTw)l 14)实时过滤课程最新状态,剔除停开课,上课 时间与必修课冲突课程: P=- tlR(u)nTw)l (5) 15)实现推荐。 ∑R(w)川 本算法给学生推荐那些与他有共同专业、相同 式中:R(u)是所有推荐的课程列表,T(u)是学生 兴趣、一致实力的学生选过的课程,推荐结果着重反 已选的课程列表。 映与学生最相似的小群体的共同点。之所以选择 2)覆盖率1
4)冷启动问题的解决。 基于学生的协同过滤 基本算法与基于用户的协同过滤算法相同,存在冷 启动问题,当新学生要进行选课时,由于其没有历史 选课记录,无法从分类后的学生类中找到与其最相 似的 K 名“邻居”学生,本文从实际出发,单独处理 新生。 鉴于新生第 1 学期课程量少的特点,将一年 级学生以专业、生源地、入学成绩分类,然后将二年 级、三年级、四年级学生在一年级时选过的课程推荐 给目标学生。 通过实验发现推荐结果的覆盖率达到 了 95%以上,从而解决了冷启动问题。 总结以上问题,基于学生分类的协协同过滤算 法 StuCF 的流程如下。 算法 1 基于学生分类的协同过滤 StuCF。 输入:学生基本信息、课程基本信息、学生选课 信息。 输出:学生与对应推荐课程列表。 数据源:12 096 名在读本科生的所有选课记录。 推荐样本:2013—2014 学年度第 1 学期 10 682 名待选课本科生。 协同过滤,离线计算: 1)学生分类:以专业和成绩进行分类: 2) 共 119 个专业的学生 3) 专业人数在 40 人以下的不使用成绩分类; 4) 共分 324 类,每类学生数低于 40,记为集 合 U。 5)根据集合 U 找“邻居”学生集合 K: 6) 根据式(3)计算每位学生 u 与集合 U 中的 其他学生间的兴趣相似度; 7) 取相似度最高的 K 名“邻居”学生。 8)计算学生对课程的感兴趣程度: 9) 获取 K 名“邻居”学生的所选课程集合 I: 10) 只关注“邻居”学生已选,学生 u 未选的 选修课程。 11)根据式(2)计算学生 u 对集合 I 中的课程 i 的感兴趣程度; 12) 获取每位学生对应的推荐课程列表 R。 选课系统,实时推荐: 13)以选课系统为平台,获取每个推荐样本的 学号; 14)实时过滤课程最新状态,剔除停开课,上课 时间与必修课冲突课程; 15 )实现推荐。 本算法给学生推荐那些与他有共同专业、相同 兴趣、一致实力的学生选过的课程,推荐结果着重反 映与学生最相似的小群体的共同点。 之所以选择 2013—2014 学年度第 1 学期的学生作为推荐样本, 是因为该批学生的选课情况已经成为历史,可以根 据这些学生的历史选课结果与推荐结果进行对比, 判断算法准确度。 算法中没有描述一年级新生的选 课信息,按冷启动问题的解决方法直接进行推荐。 2.3 算法测评 一个好的推荐引擎包含学生、课程和载体(选 课系统)三方面,推荐引擎首先要为学生推荐其感 兴趣、能获取最大知识和综合技能的课程;其次学校 开设的课程要能够被推荐给感兴趣的学生,而不是 覆盖面小,只推荐几门热门课程;最后,好的推荐引 擎可以通过推荐系统获取学生反馈,从而修改、完善 推荐结果,一般可以从学校的教学评估、问卷调查获 取到。 不同于传统的商业推荐系统,课程推荐不仅 要求准确预测学生的行为,而且能够帮助学生发现 他们感兴趣的课程;同时为了平衡学校教学资源,还 需要克服“长尾问题”。 因此,准确度、覆盖率成为 评测 StuCF 推荐算法的 2 个重要指标。 1)预测准确度。 基于选课系统 StuCF 算法最终提供给学生提供 1 个个性化的课程推荐列表,这种推荐也被成为 TopN 推荐,预测准确度通过准确率/ 召回率度量。 根据图 4 分析准确率 P 与召回率 R 的概念。 图 4 课程推荐的 4 种情况 Fig. 4 Four cases of course recommendation system A 表示系统推荐学生也选择了的课程列表,B 表示系统推荐了学生未选择的课程列表,C 表示系 统未推荐学生选择了的课程列表,D 表示系统未推 荐学生未选择的课程列表。 召回率指已选课程中是 推 荐 的 课 程 数 量 越 多 越 好, 可 以 被 记 录 为 A / (A + C) ,准确率可表示推荐的课程中,真正被选 择的越多越好,用 A / (A + B) 表示。 R = ∑u∈U R(u) ∩ T(u) ∑u∈U T(u) (4) P = ∑u∈U R(u) ∩ T(u) ∑u∈U R(u) (5) 式中: R(u) 是所有推荐的课程列表, T(u) 是学生 已选的课程列表。 2)覆盖率[ 8 ] 。 第 3 期 沈苗,等:北京大学课程推荐引擎的设计和实现 ·373·
.374 智能系统学报 第10卷 预测准确度是最关键的算法评测标准,即系统 京文充河学:靠可能感兴整的楼程 推荐的课程最终被学生选择的比率。但是存在的问 湖很名愁 03831220 法国历史 题是,假设学生本来计划选择一门课程,那么实际上 03831092 法遇泛二) 03631251 法国报干科击(一) 这个推荐是没有意义的,因此,不但要准确预测学生 0433021 硬更又时代朗次两音历 的预期,还要扩展学生的视野,帮助学生认识更多被 02330000 营华导论 04332590 中国传蚊装艺术与无文化 埋没的精品课程,挖掘他们可能感兴趣的课程。采 01233170 地睡根论 00432270 大气极论 用覆盖率C来表示推荐系统能够推荐出来的课程 02240540 中国考古发现与标素 占总课程集的比例: C=I.uR()I 图5选课系统中的推荐界面 (6) Fig.5 The recommended interface of Elective system 式中:J表示所有课程的集合,U为学生集合。 4 结束语 3选课系统中的课程推荐服务 本文提出的基于选课系统的课程推荐引擎填补 了国内高校智能校园、人性化教育方面的空白,将推 本课程推荐引擎主要为已有选课历史的学 荐引擎的技术应用到课程推荐中,不但均衡了学校 生样本进行推荐,以2013一2014学年度第1学 期的选课为例,计算其准确率、召回率和覆盖率, 的教学资源,也为学生量身定制最适宜的培养方案, 分析算法结果。 起到了非常好的辅助作用。从纵向来说,对于课程 本系统实现时,难点是K值的判断。K表示与 推荐还存在很多地方可以深入探讨,如由于算法限 目标学生最相似的学生数,以目标学生未选择而这 制,本系统没有给出课程推荐原因,对学生缺乏说服 K名学生已选择的课程为预推荐名单,分析目标学 力:另外分类算法相对简单,以假设为基础,未能综 生对这些课程的兴趣程度,最终选出8~10门目标 合考虑每位学生的个性化特点。横向来说,可以应 学生可能最感兴趣的课程进行推荐。这里K的选 用到图书馆借书系统中,为学生做图书推荐,因此下 取很重要,当K取值较小时,可能造成算法复杂度 一步的研究重点也可以放在对学生属性的特征详细 的增加以及覆盖率的降低,K值很大时推荐准确度 分析和加权统计上,通过对学生属性特征的分析找 会受到影响,表1详细给出了基于SuCF算法和新 到一套自适应的聚类模式,不但可以应用到课程推 生的课程推荐实验结果。 荐,还可以应用到图书推荐等方面。 表1不同K值下的StuCF算法实验结果 参考文献: Table 1 Experimental results of StuCF algorithm under different K value [1]赵晨婷,马春娥.探索推荐引擎内部的秘密,第1部分: K 准确率/% 召回率/% 覆盖率/% 推荐引擎初探[EB/0L].[2014-09-25].htp://www.ibm. com/developerworks/cn/web/1103_zhaoct_recommstudy1/ 17.23 8.43 48.63 index.html. 10 25.36 9.87 41.74 [2]张瑶,陈维斌,傅顺开.基于大数据的高校图书馆推荐 15 32.95 10.98 34.82 系统仿真研究[J].计算机工程与设计,2013,34(7): 34.60 11.65 29.47 2533-2541. 25 34.90 11.05 28.30 ZHANG Yao,CHEN Weibin,FU Shunkai.Simulation study of recommendation system for university library based on big 从表1可以看出,课程推荐系统的准确率和召 data[J].Computer Engineering and Design,2013,34(7): 2533-2541. 回率并不是与K值成线性关系,选择K为20左右 [3]祁褒然,潘志成,罗敬,等.大学选课推荐系统的数学 会得到较准确的推荐结果。而随着K的增大,系统 模型[J].南开大学学报:自然科学版,2011,44(4):50- 越来越倾向于推荐热门课程,导致覆盖率降低。 55. 以北京大学选课系统为平台,在进入选课系统 QI Youran,PAN Zhicheng,LUO Jing,et al.The mathe- 后,页面会弹出“你可能感兴趣的课程”对话框,其 matical model of the university course recommendation sys- 中列出为该学生量身定制的课程名称。图5是选课 tem[J].Acta Scientiarum Naturalium Universitatis Nan- 系统中的推荐界面。 kaiensis,2011,44(4):50-55
预测准确度是最关键的算法评测标准,即系统 推荐的课程最终被学生选择的比率。 但是存在的问 题是,假设学生本来计划选择一门课程,那么实际上 这个推荐是没有意义的,因此,不但要准确预测学生 的预期,还要扩展学生的视野,帮助学生认识更多被 埋没的精品课程,挖掘他们可能感兴趣的课程。 采 用覆盖率 C 来表示推荐系统能够推荐出来的课程 占总课程集的比例: C = ∪u∈UR(u) J (6) 式中:J 表示所有课程的集合,U 为学生集合。 3 选课系统中的课程推荐服务 本课程推荐引擎主要为已有选课历史的学 生样本进行推荐,以 2013—2014 学年度第 1 学 期的选课为例,计算其准确率、召回率和覆盖率, 分析算法结果。 本系统实现时,难点是 K 值的判断。 K 表示与 目标学生最相似的学生数,以目标学生未选择而这 K 名学生已选择的课程为预推荐名单,分析目标学 生对这些课程的兴趣程度,最终选出 8 ~ 10 门目标 学生可能最感兴趣的课程进行推荐。 这里 K 的选 取很重要,当 K 取值较小时,可能造成算法复杂度 的增加以及覆盖率的降低,K 值很大时推荐准确度 会受到影响,表 1 详细给出了基于 StuCF 算法和新 生的课程推荐实验结果。 表 1 不同 K 值下的 StuCF 算法实验结果 Table 1 Experimental results of StuCF algorithm under different K value K 准确率/ % 召回率/ % 覆盖率/ % 5 17.23 8.43 48.63 10 25.36 9.87 41.74 15 32.95 10.98 34.82 20 34.60 11.65 29.47 25 34.90 11.05 28.30 从表 1 可以看出,课程推荐系统的准确率和召 回率并不是与 K 值成线性关系,选择 K 为 20 左右 会得到较准确的推荐结果。 而随着 K 的增大,系统 越来越倾向于推荐热门课程,导致覆盖率降低。 以北京大学选课系统为平台,在进入选课系统 后,页面会弹出“你可能感兴趣的课程” 对话框,其 中列出为该学生量身定制的课程名称。 图 5 是选课 系统中的推荐界面。 图 5 选课系统中的推荐界面 Fig. 5 The recommended interface of Elective system 4 结束语 本文提出的基于选课系统的课程推荐引擎填补 了国内高校智能校园、人性化教育方面的空白,将推 荐引擎的技术应用到课程推荐中,不但均衡了学校 的教学资源,也为学生量身定制最适宜的培养方案, 起到了非常好的辅助作用。 从纵向来说,对于课程 推荐还存在很多地方可以深入探讨,如由于算法限 制,本系统没有给出课程推荐原因,对学生缺乏说服 力;另外分类算法相对简单,以假设为基础,未能综 合考虑每位学生的个性化特点。 横向来说,可以应 用到图书馆借书系统中,为学生做图书推荐,因此下 一步的研究重点也可以放在对学生属性的特征详细 分析和加权统计上,通过对学生属性特征的分析找 到一套自适应的聚类模式,不但可以应用到课程推 荐,还可以应用到图书推荐等方面。 参考文献: [1]赵晨婷, 马春娥. 探索推荐引擎内部的秘密, 第 1 部分: 推荐引擎初探[EB/ OL]. [2014⁃09⁃25]. http: / / www.ibm. com/ developerworks/ cn / web / 1103_ zhaoct _ recommstudy1 / index.html. [2]张瑶, 陈维斌, 傅顺开. 基于大数据的高校图书馆推荐 系统仿真研究[ J]. 计算机工程与设计, 2013, 34( 7): 2533⁃2541. ZHANG Yao, CHEN Weibin, FU Shunkai. Simulation study of recommendation system for university library based on big data[J]. Computer Engineering and Design, 2013, 34(7): 2533⁃2541. [3]祁褎然, 潘志成, 罗敬, 等. 大学选课推荐系统的数学 模型[J]. 南开大学学报:自然科学版, 2011, 44(4): 50⁃ 55. QI Youran, PAN Zhicheng, LUO Jing, et al. The mathe⁃ matical model of the university course recommendation sys⁃ tem [ J]. Acta Scientiarum Naturalium Universitatis Nan⁃ kaiensis, 2011, 44(4): 50⁃55. ·374· 智 能 系 统 学 报 第 10 卷
第3期 沈苗,等:北京大学课程推荐引擎的设计和实现 .375. [4]陆刚.数字信息资源利用中的“马太效应”及消除策略 作者简介: [J].图书馆建设,2003(6):43-45. 沈苗,女,1985年生,工程师,主要 LU Gang.The Matthew effect of the digital information re- 研究方向为高校信息化。 sources using in the library and its solutions[J].Library Development,2003(6):43-45. [5]GOLDBERG D,NICHOLS D,OKI B M,et al.Using col- laborative filtering to weave an information tapestry[J]. Communications of the ACM,1992,35(12):61-70. 来天平,男,1977年,高级工程师, [6]RESNICK P,IACOVOU N.SUCHAK M,et al.Grouplens: an open architecture for collaborative filtering of netnews 主要研究方向为高校信息化。 [C]//Proceedings of the 1994 ACM Conference on Com- puter Supported Cooperative Work.New York,USA,1994: 175-186. [7]项亮.推荐系统实践[M].北京:人民邮电出版社 2012. 王素美,女,1980年生,工程师,主 [8]GE M Z,DELGADO-BATTENFELD C,JANNACH D.Be- 要研究方向为高校信息化,负责和参与 yond accuracy:evaluating recommender systems by coverage 信息管理系统的设计开发工作10余 and serendipity [C]//Proceedings of the 4th ACM Confer- 项,曾获“北京大学第五届实验技术成 ence on Recommender Systems.New York,USA,2010: 果奖”二等奖,发表学术论文10篇。 257-260. 2015年EEE国际计算机视觉大会 2015 IEEE International Conference on Computer Vision 13-16 December,2015,Santiago,Chile ICCV is the premier international Computer Vision event comprising the main ICCV conference and several co-located workshops and short courses.With its high quality and low cost,it provides an exceptional value for students,academics and industry researchers. ICCV 2015 is seen as a special conference that will cover the topics of Electronics,Electronics,Engineering,Science and Technology and alot more. ICCV 2015 is going to be organized in between 13 December,2015 and 16 December,2015.It will take place at the Cen- troParque Convention Center in Santiago,Chile. Important dates: Early Registration Deadline:October 9,2015 Main Conference:December 13-16,2015 Workshops/Short Courses:December 11-12 and 17-18,2015 Camera-ready Deadline:tober 16,2015 Website:hutp://pamitc.org/iccv15/
[4]陆刚. 数字信息资源利用中的“马太效应” 及消除策略 [J]. 图书馆建设, 2003(6): 43⁃45. LU Gang. The Matthew effect of the digital information re⁃ sources using in the library and its solutions [ J]. Library Development, 2003(6): 43⁃45. [5]GOLDBERG D, NICHOLS D, OKI B M, et al. Using col⁃ laborative filtering to weave an information tapestry [ J ]. Communications of the ACM, 1992, 35(12): 61⁃70. [6]RESNICK P, IACOVOU N, SUCHAK M, et al. Grouplens: an open architecture for collaborative filtering of netnews [C] / / Proceedings of the 1994 ACM Conference on Com⁃ puter Supported Cooperative Work. New York, USA, 1994: 175⁃186. [7]项亮. 推荐系统实践 [ M]. 北京: 人民邮电出版社, 2012. [8]GE M Z, DELGADO⁃BATTENFELD C, JANNACH D. Be⁃ yond accuracy: evaluating recommender systems by coverage and serendipity[C] / / Proceedings of the 4th ACM Confer⁃ ence on Recommender Systems. New York, USA, 2010: 257⁃260. 作者简介: 沈苗,女,1985 年生,工程师,主要 研究方向为高校信息化。 来天平,男,1977 年,高级工程师, 主要研究方向为高校信息化。 王素美,女,1980 年生,工程师,主 要研究方向为高校信息化,负责和参与 信息管理系统的设计开发工作 10 余 项,曾获“北京大学第五届实验技术成 果奖”二等奖,发表学术论文 10 篇。 2015 年 IEEE 国际计算机视觉大会 2015 IEEE International Conference on Computer Vision 13-16 December, 2015, Santiago, Chile ICCV is the premier international Computer Vision event comprising the main ICCV conference and several co⁃located workshops and short courses. With its high quality and low cost, it provides an exceptional value for students, academics and industry researchers. ICCV 2015 is seen as a special conference that will cover the topics of Electronics, Electronics, Engineering, Science and Technology and alot more. ICCV 2015 is going to be organized in between 13 December, 2015 and 16 December, 2015. It will take place at the Cen⁃ troParque Convention Center in Santiago, Chile. Important dates: Early Registration Deadline: October 9, 2015 Main Conference: December 13-16, 2015 Workshops/ Short Courses: December 11-12 and 17-18, 2015 Camera⁃ready Deadline: tober 16, 2015 Website: http: / / pamitc.org / iccv15 / 第 3 期 沈苗,等:北京大学课程推荐引擎的设计和实现 ·375·