基于CEP的校园推荐系统设计与实现
2018-06-20周苾,卢山,汤鲲
周 苾,卢 山,汤 鲲
(1.武汉邮电科学研究院,湖北 武汉 430000;2.南京烽火软件科技有限公司,江苏 南京 210000;3.东南大学 计算机教学实验中心,江苏 南京 210000)
0 引 言
随着科技的快速发展,当前正步入大数据时代,智慧校园的发展成为教育改革的一个热点。高校学生在学习基础课程和专业知识的同时,也面临越来越多的课外资源的选择。一个好的课外资源推荐系统旨在向学生实时地推荐近期公开课、知识讲座、社团活动等,有效地解决信息资源过载的问题,对大学生的全面发展起到了重要作用。
推荐算法作为推荐系统的核心环节,对推荐系统的性能好坏起着至关重要的作用。协同过滤算法作为最常用的推荐算法,一定程度上提升了推荐的精度和准度,但依然存在着冷启动、稀疏性等问题[1]。基于协同过滤算法的推荐系统大多只考虑了相邻用户或推荐内容的相似性,而没有将用户的位置信息作为影响因子。
近年来,随着智能移动终端的普及和无线网络的全面覆盖,国内外学者开始在推荐系统中引进地理位置信息。Karatzoglou A等[2]在2010年提出了考虑用户位置信息、情绪、天气、环境等因素的高维张量分解模型,建立基于情境信息的推荐系统。Seo等[3]在2013年提出通过用户的轨迹信息挖掘用户之间的关联性,结合内容推荐的相关算法,提高了推荐系统的精度。
然而,考虑用户地理位置信息的推荐系统带来了新的挑战,其中实时性和准确率成为亟待解决的问题。针对这两个问题,文中提出基于CEP的课外资源推荐系统。基于高校学生基本信息及GPS地理位置信息,结合复杂事件处理(complex event processing,CEP)技术,构建学生课外资源推荐系统模型,向教学楼附近的学生推荐该楼近期的学辅资源,实现大数据环境下对课外资源的个性化推荐,旨在提高推荐的准确率和实时性。
1 相关工作
1.1 复杂事件处理
CEP最初源于主动数据库研究,是近年来新兴的一种数据处理技术[4]。它能够高效、实时地处理输入的动态事件流,将简单事件流入到复杂事件处理引擎中,经过处理引擎中相应规则匹配后形成更具体的高级事件[5]。其核心是通过设定时间窗口,根据事件之间的因果、层次等关系,使用事件处理语言(event processing language,EPL)进行事件的抽象及关联,得出利于决策的数据或预警等信息。
CEP不仅可以实现对事件流的实时响应,而且能处理多维数据源、异构数据源,对输入的数据流没有限制,并且打破了以往推荐系统只能处理单一数据源的局限。
1.2 协同过滤算法
协同过滤算法是最常用的个性化推荐算法,它利用用户反馈回来的对Item的评分信息,查找用户或Item之间的关联性,然后再根据这些关联进行相关推荐[6]。协同过滤的基本思想是:对某个Item评分接近的用户,很有可能对另一些Item的评分也相近。比如:两个喜欢同一风格衣服的用户很有可能都喜欢同一品牌的包包。
计算用户与用户之间相似度的常用方法包含基于余弦、皮尔森相关系数、矫正余弦等[7]。后面将选取最常用的基于余弦相似度的协同过滤算法与文中推荐系统进行准确度比较。
(1)
2 课外资源推荐系统设计
选取高校智慧校园为研究背景,对学生课外资源推荐系统作实证分析。高校学生课外资源推荐是一个复杂事件,推荐系统的准确度受到多方面因素的影响。引入学生的实时位置信息、往常签到信息,有利于更准确地捕捉到学生潜在更倾向的资源地点[9]。学生的日常行为、同学之间的相互影响,也会在一定程度上决定学生对资源的选择。
考虑到这些影响因素,下面构造四种条件作为向学生个性化推荐讲座、公开课等课外资源的依据:
在校园内选定常用教学楼作为位置点,当学生距离某栋教学楼较近时,优先推送该教学楼近期资源;根据学生在不同楼的签到信息,转换成学生对该栋楼的评分,常去的楼评分较高,在推荐时加大权重;根据学生在图书馆的借阅信息,推测他近期可能感兴趣的方向;考虑关系关联,将同一宿舍的学生作为一个亲密好友集,向处于一个亲密好友集的学生推荐同一资源。推荐系统流程如图1所示。
图1 个性化推荐系统流程
这里将从运营商处获得的移动终端设备的学生地理位置信息及学生个人基本信息数据流作为输入事件流,并对学生课外资源推荐系统中的相关变量、基本事件和复杂事件进行定义。
(1)变量定义。
系统中用到的变量名定义如表1所示。
表1 变量名定义
(2)推荐系统基本事件定义。
设A为课外资源推荐系统中的事件集合,a为事件属性集[10]:
A={an|n=1,2,…,n},an={id,e,t}
SE(SourceEvent)为人群移动状态事件,SE={an|n=1,2,…,n},an={id,e,t},e={ID,RmNo,PhnNo,Lng,Ltd,Dist,B,S,LK,SK,SI}。
(3)推荐系统复杂事件定义。
事件1:将高校内常用的教学楼、图书馆等六个建筑分别以A、B、C、D、E、F标记,学生移动至某楼监测范围内。
事件2:根据学生一段时间内的签到信息,选出六栋教学楼中评分最高的一栋作为该学生最喜欢去的教学楼。
用类似TF-IDF(term frequency-inverse document frequency)的方法[11]将学生在某栋楼签到的次数转换成学生对该楼的评分。假设数据集中包含M个学生,其中有N个在Buildingi处签过到,用户uj在Buildingi处签到次数为K,则uj对Buildingi的评分为K×log(M/(1+N))。从教务系统中获取100名学生一周内在6个地点的1 752条签到信息,经过评分转换预处理后的部分数据集见表2。
表2 部分预处理后的签到评分数据集
事件3:根据图书馆系统的数据库信息,由学号获取该学生一段时间T内的借书记录,根据借书种类推测该学生近期可能感兴趣的方向。
事件4:向同一宿舍的学生推荐同一资源。根据社交影响理论[12],推荐系统可以利用学生之间的各种关系(友谊关系、信任关系等)进行有效推荐。这里选取同一个宿舍的同学为亲密好友集[13],在事件1发生时,该学生及其舍友的事件4记为1,其他学生的事件4记为0。
这里选取的事件所占权重如表3所示,当某一个课外资源在该学生处的占比不小于70%时,确定向其推送该资源。
表3 事件所占权重表
每个事件所占的权重可以根据实际情况进行调整,以适应不同时期不同环境下的学生需求。比如毕业季来临时,可适当加大各种招聘信息的权重,建党节前夕,增加党建会议及宣传讲座的权重。
3 资源推荐系统的实现及分析
复杂事件描述语言(EPL)是CEP技术的核心,它是一种类SQL语言,主要包含数据流查询语言、事件代数表达式和产生式规则三种不同类型[14]。EPL可以通过设定不同时间窗口来描述事件之间的条件、关联等关系。
3.1 EPL规则定义
根据推荐课外资源事件的相关变量定义及事件描述,使用EPL定义相应的规则。
规则1:对应事件1,监测学生与选定的教学楼之间的距离,当学生与某栋楼之间的距离小于50 m时[15],可以判断该学生事件1记为1。对应的EPL语句为:
Select Distance(B,ID) as Dist from SE.win:time(30 min) where Distance(B,ID)<=50
规则2:对应事件2,学号为ID的学生,选出该学生评分最高的教学楼,向他推送更倾向去的教学楼的课外资源。对应的EPL语句为:
Select ID,B,max(S) as maxS from SE.win:time(60 min) group by ID
规则3:对应事件3,将课外资源信息的关键字与学生图书馆借阅信息的关键字进行匹配,匹配到关键字的课外资源信息记为1,否则记为0。对应的EPL语句为:
Select e.SI as SI from SE.win:time(100 sec) where e.SK=(select LK from Library where a.LK = LK)
规则4:对应事件4,当学生移动至距离某教学楼50 m以内时,系统更倾向于将该楼里的课外资源推荐给该学生亲密好友集里的学生。对应的EPL语句为:
Select ID,a.RmNo as RmNo from SE.win:time(100 sec) where (b=SE(b.RmNo=a.RmNo))
3.2 实验结果及分析
部分运行结果如图2和图3所示。
图2 输入事件流运行图
图3 推荐结果运行图
根据实验推荐结果,以学号为009的学生为例,对推荐过程进行分析。从输入的事件流看出,该学生距离任意教学楼的距离都在50 m以外,最常去的教学楼为F,根据图书馆借阅信息检索到的关键字为英语,宿舍号为19楼201室,与学号为002的学生是室友。根据事件4,学号为002的学生距离D楼在50 m以内,则学号009的学生由于与002的学生属于同一亲密好友集,D楼资源也占20%。对于该学生来说,D教学楼内的英语方面的资源评分为0.3+0+0.3+0.2=0.8>0.7,所以系统向其推荐地点在D教学楼的英语资源。
3.3 推荐系统评价指标
平均绝对偏差(mean absolute error,MAE)是统计度量方法中的一种,通常被用来作为衡量推荐系统好坏的指标[16]。MAE通过计算用户预测评分和真实评分之间的偏差来度量系统的准确度。MAE值越小,表明该系统推荐质量越好。MAE定义为:
(2)
其中,{p1,p2,…,pn}为预测评分集合;{q1,q2,…,qn}为真实评分集合。
以邮科院2017年6月份学生数据信息为试验对象,随机抽取了1 000名学生进行线上问卷调查,以校内邮件的形式采集到学生对校内100个课外资源的2 878个评分作为真实评分,将推荐系统的推荐结果转换成预测评分,计算两者之间的MAE,并选取基于余弦的协同过滤推荐算法与文中算法进行对比。通过计算MAE,推荐系统准确度比较如图4所示。
通过图4观察到,相对于基于协同过滤算法的推荐系统,文中系统具有更小的MAE值,一定程度上提高了推荐系统的准确度。
图4 MAE随样本数量变化曲线
在不同的输入流速率下,测试系统的响应时延,如图5所示。
图5 处理时延随输入流速率变化曲线
由图5可知,文中基于CEP的课外资源推荐系统相比协同过滤,具有更小的平均时延。当输入流速率为1 000条/秒时,随着输入流速率的增大,基于协同算法的推荐系统处理平均时延接近9 ms[17]。文中预期将处理时延的均值缩短到7 ms以内,经过实验达到了预期效果,输入事件流速率为1 000条/秒时,将处理时延缩短至6.8 ms。
4 结束语
大数据时代下为学生提供海量资源不再是难题,但是却带来了信息过载的问题。个性化课外资源推荐系统对于构建智慧校园,培养学生全面发展具有重要意义。文中引入CEP技术,设计高校推荐情境,构造复杂事件和关联匹配规则,基于Esper平台使用EPL语句编写程序,实现了学生课外资源的实时推荐。与基于协同过滤算法的推荐系统相比,该系统提升了推荐的准确性和实时性,验证了所构建的推荐模型的可行性和实用性,为个性化推荐系统的实现和研究提供了一种新的思路。
参考文献:
[1] 王 义,马尚才.基于用户行为的个性化推荐系统的设计与应用[J].计算机系统应用,2010,19(8):29-33.
[2] KARATZOGLOU A,AMATRIAIN X,BALTRUNAS L,et al.Multiverse recommendation:n-dimensional tensor factorization for context-aware collaborative filtering[C]//Proceedings of the fourth ACM conference on recommender systems.Barcelona,Spain:ACM,2010:79-86.
[3] SEO Y,AHN J.Novel method for enhancing contents recommendation accuracy using LBS-based users viewing path similarity[J].International Journal of Multimedia & Ubiquitous Engineering,2013,8(2):8-15.
[4] 祝锡永,韩会平.基于CEP的消防物联网火警误报监测[J].计算机系统应用,2015,24(3):57-62.
[5] 汤玲丽.复杂事件处理引擎关键技术研究[D].哈尔滨:哈尔滨工程大学,2012.
[6] 张应辉,司彩霞.基于用户偏好和项目特征的协同过滤推荐算法[J].计算机技术与发展,2017,27(1):16-19.
[7] 刘树栋,孟祥武.基于位置的社会化网络推荐系统[J].计算机学报,2015,38(2):322-336.
[8] 陈宗言,颜 俊.基于稀疏数据预处理的协同过滤推荐算法[J].计算机技术与发展,2016,26(7):59-64.
[9] 孙冬婷,何 涛,张福海.推荐系统中的冷启动问题研究综述[J].计算机与现代化,2012(5):59-63.
[10] 荆 心,张 璟,李军怀.复杂事件处理技术及其在物流物联网中的应用[J].计算机应用,2013,33(7):2026-2030.
[11] 王中主.智慧校园中基于位置服务的教育资源推荐系统研究[D].上海:华东师范大学,2016.
[12] 房 旋,陈升波,宫 婧,等.基于社交影响力的推荐算法[J].计算机技术与发展,2016,26(6):31-36.
[13] LEE D H,BRUSILOVSKY P.Improving personalized recommendations using community membership information[J].Information Processing & Management,2017,53(5):1201-1214.
[14] 祝锡永,潘 悦.基于CEP的物联网智能水表实时漏水监测研究[J].成组技术与生产现代化,2015,32(1):23-28.
[15] GUO Jianhui,LIU Xianzhong,WANG Zhongzhu.Optimized indoor positioning based on WIFI in mobile classroom project[C]//International conference on natural computation.Zhangjiajie,China:IEEE,2015:1208-1212.
[16] PARK H,PARK D,JEONG I J.An effects analysis of logistics collaboration in last-mile networks for CEP delivery services[J].Transport Policy,2016,50:115-125.
[17] 梁向阳,张博伦.协同过滤推荐技术归类分析与探讨[J].计算机与现代化,2016(12):67-72.