基于知识图谱的微信智能刷题系统

时间:2019-04-16 22:50:15 编辑:神器团队

针对各类做题软件中做题模式单一导致学生复习效率低下的问题,将传统的协同过滤算法与知识图谱进行融合,构建了一套微信智能刷题系统。
猜你喜欢
基于知识图谱的微信智能刷题系统
王家辉a,文欣秀a,赵敏a,范贵生a,唐佳诚b,张嘉寅a
(华东理工大学a.信息科学与工程学院;b.理学院,上海200237)
摘要:针对各类做题软件中做题模式单一导致学生复习效率低下的问题,将传统的协同过滤算法与知识图谱进行融合,构建了一套微信智能刷题系统。在知识图谱中构建出用户、题目、知识点三类节点之间的关系,将用户、题目之间的相似度作为图的权重。考虑到未掌握知识点是学生答错题的主要原因,采用基于知识的方法作为主要推荐方式,从知识图谱中查询出错题所涉及的知识点加入队列等待推荐。根据用户历史的刷题数据,每天定时将相似用户的错题进行推荐。近2年的实验结果表明,该模式受到了学生的广泛青睐,可以有效地提升学生的复习效率。
Keywords:knowledgegraph;recommendationsystem;collaborativefiltering;auxiliaryteaching;WeChatplatform
收稿日期:2018-01-08
基金项目:国家自然科学基金(61702334、61772200);教育部产学合作协同育人项目(201701003063);2017年上海市教委本科重点课程项目(130);华东理工大学教育教学规律与方法研究项目(ZH1726108)作者简介:王家辉(1995-),男,上海人,硕士生,研究方向:知识图
谱、推荐算法、计算机教育。
Tel.:18721063532;E-mail:wjh@piclass.cn
通信作者:文欣秀(1975-),女,河南新乡人,博士,讲师,研究方
向:软件工程、形式化方法、计算机教育。
Tel.:13361876389;E-mail:wenxinxiu@ecust.edu.cn0引言
随着智能手机和4G网络的普及,海量教学资源触手可及,各类辅助教学工具也得到了广泛的发展。
手机智能做题软件(例如猿题库,扇贝单词,粉笔公考等),发挥移动端的优势,打破时间空间的束缚,帮助用户利用一切碎片化的时间进行学习,因此受到了用户的广泛青睐。大数据已经成为当下的一个研究热
关键词:知识图谱;推荐系统;协同过滤;辅助教学;微信平台中图分类号:TP391文献标志码:A
文章编号:1006-7167(2018)11-0125-04
IntelligentWeChatExerciseSystemBasedonKnowledgeGraph
WANGJiahuia,WENXinxiua,ZHAOMina,FANGuishenga,TANGJiachengb,ZHANGJiayina
(a.SchoolofInformationScienceandEngineering;b.SchoolofScience,EastChinaUniversityofScienceandTechnology,Shanghai200237,China)
Abstract:Focusingontheproblemofstudents'lowefficiencyintraditionexercisesystemswhicharewithasimilarmode,anintelligentexercisesystembasedonWeChatplatformwasdeveloped.Thesystemcombinestraditionalcollaborativefilteringrecommendationalgorithmandknowledgegraph.First,therelationshipamonguser,questionandknowledgepointintheknowledgegraphisconsidered,andthesimilaritybetweenquestionanduser'sanswerisusedtoyieldweights.Consideringthattherelatedknowledgepointhavingnotacquiredisthemainreasonofgettingthewronganswer,aknowledge-basedrecommendationschemeisusedasthemainmethod.Relatedknowledgepointsandsimilarquestionsqueriedfromknowledgegraphwillbepushedintotoqueueandwaitforrecommendation.Furthermore,accordingtothehistoricalexercisedata,thewrongquestionsofthesimilaruserswillberecommendedeverydayaswell.Itwasusedfortwoyears,andexperimentalresultsshowthatthismodehasreceivedwidefavoramongstudentsanditcanraisethereviewefficiency.
126第37卷
点,各类辅助教学软件也正朝着智能化方向不断前行,例如利用推荐算法对每个用户进行个性化推荐,致力于帮助学生寻找到学习的最佳路径等。
目前推荐算法已广泛应用于电商行业、视频网站等,作为推荐算法的鼻祖亚马逊,其35%的收入来源于推荐,Netflix宣称60%的用户是通过其推荐系统找到自己感兴趣的电影和视频的[1]。在电商、电影等领域,主要利用用户在网站中的行为数据,根据用户或者物品相似度,给特定用户推荐对应的商品,吸引用户点击并发生点击行为;在教育领域中,虽然用户的答题数据背后依然隐含着题目之间的关联信息,但是追溯根源还是归因于学生没有掌握相应的知识点,因此需要构建出题目与知识点之间的强关联关系。
尤其是对于《C程序设计》这类需要深入理解的课程,单纯地利用行为数据和协同过滤算法来推荐相似的题目和相似用户做错的题目效果一般,因为做错题目还是由于相应的知识点没有掌握,在这种情况下做再多相似的题目也是徒劳的[2,3]。因此本文将在协同过滤思想的基础上融合Google在2012年提出的知识图谱的概念[4],将用户-题目-知识点作为图的节点,用户和题目之间的相似度作为边的权重,将知识与用户行为结合起来进行个性化推荐。
1相关工作
随着互联网的兴起,海量的教学资源触手可及,借鉴在电商行业中对于商品资源的推荐,在教学领域也兴起了大量关于教学资源推荐的研究,帮助用户快速的从海量资源中找到与自己相关的内容,提升学习的效率。
协同过滤算法的思想是通过用户的行为数据来计算出用户、物品之间的相似度,然后推荐相似用户所感兴趣的内容,目前已广泛应用于各类教学资源的推荐,并且取得了较好的效果。例如文献[5-6]中利用协同过滤算法对于课程进行了推荐,文献[7-8]中对于学习资源进行了推荐。协同过滤算法在资源推荐领域受到了广泛的应用,并且取得了较好的效果。虽然教学资源的推荐非常重要,在信息化教学系统中对于习题的推荐同样非常重要,可以帮助学生快速地掌握所学的知识。然而习题的推荐与资源推荐存在着一定的差异,用户做错题的本质是因为知识的欠缺,如果不停地推荐相似用户的错题并未从根源上解决问题,目前对于这方面的研究目前较少。
吴云峰等[9]把电子商务中的用户对商品的评分方式加以修改应用到中学教学中学生对习题的评分,并利用协同过滤算法进行习题推荐。徐琳等[10]设计了一个基于Prim改进用户聚类的推荐算法。郭红霞[11]利用Apriori算法针对学生错题挖掘出学生薄弱知识点的关联关系,并利用K-Means算法将推荐试题与原错误试题进行聚类,结合学生自身对错题的评分,预测学生对推荐试题的评分进行推荐。
目前对于习题的推荐也主要还是利用用户行为数据来隐式地反映出题目的内在关联进而进行推荐,随着Google知识图谱概念的提出,知识图谱越来越多的被用于知识表示,基于图的搜索与推荐也逐渐兴起[12-13]。文献[14-15]中分别利用知识图谱进行了标签和学习资源的推荐。陆星儿等[16]通过分析所构建的教学知识图谱,帮助教师反思教学设计与学生认知过程中产生的问题。刷题系统与传统的资源推荐不同,所关注的并不是用户是否对所推荐的内容感兴趣,诱导用户产生点击行为,提高转换率,而是如何帮助提升复习的效率。除了行为数据外,知识同样占据着重要的地位,因此本文融合知识图谱和协同过滤算法,构建了一套智能刷题系统,旨在帮助用户寻找到复习的捷径。
2知识图谱构建
2.1节点定义
智能刷题系统中,用户U、题目Q、知识点K之间形成了一个三元关系,其中:用户集用U={u1,u2…um}表示;题目集用Q={q1,q2,…,qn}表示;知识点集用K={k1,k2,…,ko}表示。
2.2关系定义&权重设置
(1)题目-知识点M(Q,K):权重表示知识点对于该题目的重要程度,分别用0.1,0.3,0.5,0.7,0.9表示。
(2)用户-题目M(U,Q):权重表示用户对题目
的掌握程度,M(U,Q)=∑αq1+βq2(其中q1、q2分别表示用户答对、答错该题的次数,α,β为权重系数。
(3)用户-知识点M(U,K):权重表示用户对知
识点的掌握程度,M(U,K)=∑αq1+βq2(其中q1,q2表示用户答对、答错该知识点的次数,α,β为权重系数。
(4)用户-用户M(U1,U2):用户u1,u2的答题集合为Q1,Q2,令Q=Q1∪Q2={q1,q2,…,qn},定义用户ui答题序列Wi,…,w,…,w2n],其中w1i表示该用户答对qi题的次数,w2i表示该用户答错qi题的次数。定义用户u之间的相似度Mu1,u2=
W1W2
,并设定阈值C,若大于阈值C,则定义u1,u2
为相(槡W21)似用(+W22)户,在图中创建相应的边并为其设定权重。
第11期王家辉,等:基于知识图谱的微信智能刷题系统127
(5)题目-题目M(I1,I2):假设做错题目i1,i2的用户集合为U1,U2,定义Jaccard距离:J(A,B)=A∩B,若J(A,B)大于阈值C,则定义i1,i2为相似
A∪B
题,在图中创建相应的边并为其设定权重。
其中:①手工标定了题目-知识点之间的联系,②、③根据用户的做题记录定义了用户对于题目和知识点的掌握程度,④、⑤参考协同过滤的思想,计算出了题目和用户之间的相似度,并且通过阈值设定的方法来计算出用户之间的相似度。
图1所示通过Echarts可视化地呈现了知识图谱中的子图-题目与知识点之间的关系,包括了题目-知识点,题目-题目之间的关系。
图1题目-知识点知识图谱
3智能推荐
3.1基于知识推荐
针对每个独立的用户在Redis中创建一个题目队列,当用户做错一道题目的时候,去知识图谱中查询与该题目所相关的知识点和关联题,并加入该用户的刷题队列中,来进行推荐。
例子:用户做错了题目7004,
5(int)((double)9/2)-9%2A.0B.3C.4D.5
步骤1查询相关概念知识点。利用cypher语句
去知识图谱中查询该题目所涉及的知识点,即matchp=(question)-[r]-(knowledgePoint)wherequestion.name="7004,5"andr.name="qk_1"returnp。结果将返回该题目所涉及的概念知识点(求余运算和强制转换)
C语言的基本运算符有加、减、乘(*)、除(/)、求余
类型的强制转换表示形式:(表达式)步骤2查询相关基础题知识点
由于知识点过于抽象,因此又针对概念设置了基础题知识点,查询结果如下:
9%2的值是
(double)9/2的值是
(int)(4.5)
步骤3查询相似题。在知识图谱中定义了题目与题目之间的关系M(I_1,I_2),该关系表示两道题目同时做错的概率达到了某个特定的阈值。利用语句matchp=(q1)-[r]-(q2)whereq1.name="7004,5"returnq2即可获取相似题的数据,结果如下:
表达式3.6-5/2+1.2+5%2的值是
A4.3B4.8C3.3D3.8若有以下程序段doublex=5.16894;printf("%f\n",
(int)(x*1000+0.5)/(double)1000);则程序段的输出结果是
A5.170000B5.175000C5.169000
D5.168000
步骤4推荐过程。在Redis中针对每个用户设置了一个刷题队列,将上述所有的关联题目lpush进队列(见图2)。并且从队列中rpop出一道题目作为下一道推荐的题目。
图2推荐过程示意图
3.2基于用户推荐
利用知识图谱中存储的用户-用户的M(U1,U2)关系,从图谱中寻找出与当前用户所相似的用户集合U={u1,u2,…,un},同时利用M(U,Q)关系,遍历用户集合查询出每个用户ui未掌握的题目集合Qi并且将该题目加入用户队列中。
3.3基于物品属性
知识图谱中M(U,K)关系存储了用户对于知识点的掌握程度,造成用户做错题的主要原因还是因为知识点没有掌握,因此根据该用户未掌握的知识点可以反向推荐出所涉及该知识点的题目。
上述3种方法分别从用户-题目(基于知识),用户-用户(基于用户),用户-知识点(基于物品属性)3个角度对于每个用户进行了个性化推荐。由于用户的刷题数据是实时更新的,后两种方式中所依托的M(U1,U2)以及M(U,K)计算复杂度较高,无法做到实时的推荐,因此最终选择以基于知识的推荐为主要推荐方式,并且每天定时对图谱进行更新并将后两种方法的计算结果加入队列进行推荐。
第37卷
4实验结果及分析
利用第2节中所构建的知识图谱和第3节中提到的基于知识图谱的推荐方案,在我校进行了小规模的测试来对模型进行验证,通过分析用户使用情况、考试成绩等数据论证了该模型的有效性。
4.1用户使用情况
表1统计了我校2016、2017两年《C程序设计》课程的刷题情况,在2017年我们邀请了2位教师所任教的5个班级参与智能模式的测试。从表1数据可以看出,随着系统的不断测试与完善,微信刷题受到了全校师生的广泛认可,在1年时间内,刷题总数从5.6万题提升到12.1万题,总计提升了2.16倍。此外基于知识图谱的推荐方式较之传统的顺序、随机等模式,用户忠诚度更高,使用智能模式比传统模式的人均刷题数提升了41道。
表1用户总体使用情况统计
刷题总数刷题人数人均
2016普通5628594159.81
2017普通90219121774.13
2017智能31241271115.28
进一步分析每位学生的刷题数目,图3所示为刷题数目与占比的关系图,普通模式下刷题数目在30题以下占比约为40%而在智能模式下约为15%,当刷题数超过60题时,智能模式明显高于普通模式,说明智能刷题的用户忠诚度更加高,也从侧面体现出该学生对该模式的认可。
图3刷题数目分布情况
4.2期末成绩
表2为我校某位老师《C程序设计》课程的成绩分布数据,总计186名学生使用了刷题系统,其中35名学生使用了智能刷题模式。从表中数据可以看出使用智能刷题的同学均分高了3.97分,此外统计每个分数段学生占比情况可见智能模式占比远高于普通模式,说明使用智能刷题模式对成绩提高有一定的帮助。
进一步分析刷题数目与成绩的关系,如图4所示,可以看出刷题数目与成绩大致呈正比关系,并且除60分以下外,相同分数段智能刷题的刷题数目低于整体
表2成绩分布情况
分数段所占比/%
90~10080~10070~10060~10050~100平均分
普通6.6224.5058.2875.5092.0571.00
智能14.2940.0065.7180.0094.2974.97
图4刷题数与成绩关系图
的刷题平均数和普通模式平均数,说明该方法复习的效果更加好。
4.3学生答题情况分析
为了帮助每个学生更好地了解自身的情况,系统提供了各类分析报表如图5所示,包括每个章节的刷题数目,掌握情况以及所有未掌握的知识点,另外支持个人错题集的导出,帮助学生提高复习效率。
图5个人刷题情况
5结语
本文讨论了教学领域中对题目的推荐与传统电商等领域对于资源推荐的差异。阐述了在信息化教学系统中单纯地利用行为数据存在一定的问题,应当融合进题目与知识点的强关联规则。利用知识图谱构建出用户、题目、知识点三者之间的关系,通过计算用户、题目之间的相似度来设定的图权重。融合了传统的基于用户行为和基于知识的推荐方法,搭建了一套微信智能刷题系统。通过对我校近2年刷题数据的分析,发现该方法受到了学生的广泛信赖,人均刷题数提升了
41道,此外智能模式较传统模式平均分高了3.97分,
80分以上所占比也有了显著提升。通过一系列实验
(下转第140页)
140第37卷
的设备[5]。
为了弥补常规有线解决方案的不足,网络平台将采用SCALANCEW700系列无线模块,实现工业网络的进一步完善。无线模块可用于对数据要求严格的过程应用(IWLAN)和一般通信应用(WLAN)。W700系列接入点独有的iPCF功能,能够以非常短的时间间隔定期轮询其无线覆盖区域内的客户端,可以保证每个注册客户端有固定的通信资源用于数据传输,从而保证了确定性和实时性[11-12]。另外,使用带有两个无线接口的接入点,可以搭建冗余WLAN,这样接入点可在两个频率上传输数据,同时确保了高数据速率和高可靠性[13-14]。
4结语
本次实验平台的搭建,采用了西门子交换机构成工业冗余以太环网,当网络上存在节点故障时,仍可维持系统正常运行,增强了自动化网络系统的可靠性。经过测试,网络平台可以基本满足工业环境模拟要求,可开展大型综合课程设计。总之,自动化全集成网络平台有力推动了"卓越工程师教育培养计划"的实施,提高了课堂教学的综合实践能力和创新能力,培养了学生解决复杂工程问题的能力[15-16]。
参考文献(References):
[1]蔡述庭,吴敏.工业以太网及其嵌入式应用研究[J].可编程
[2]段明祥.工业控制与自动化的创新与技术进展[J].自动化博览,2003(S1):59-62.
[3]崔桂梅,龙刚领,刘丕亮.网络控制综合集成实验平台[J].实验室研究与探索,2013(12):112-114.
[4]李俊,薄翠梅,王鑫国,等.卓越工程师培养创新实验平台建设[J].电气电子教学学报,2012(3):81-82,115.
[5]赵欣.西门子工业网络交换机应用指南[M].北京:机械工业出版社,2008.
[6]冯若寅.西门子SCALANCEX系列交换机在湛江钢铁EMS项目的应用[J].冶金自动化,2014,38(6):90-93.
[7]王超,孙万麟.基于博途软件的PLC电梯监控系统设计[J].实验室研究与探索,2016(4):74-77,81.
[8]赵德瑞.基于Web的PLC控制系统远程监控技术的研究[D].天津:河北工业大学,2011.
[9]潘世永,郑萍,饶蜀华.工业控制网络的体系结构[J].电气自动化,2003(4):3-5,12.
[10]崔桂梅,顾婧弘,刘丕亮.基于西门子PLC网络化实验平台的设计[J].实验室研究与探索,2015(3):212-215.
[11]SCALANCEW工业移动通讯技术在自动化立体仓库中的应用
[J].物流技术与应用,2006(7):95-97.
[12]胡兵,南新元,高丙朋.工业无线技术在流速仪检定车控制系统中的应用[J].水文,2017,37(5):54-59.
[13]周海君,崔健,邹伟.基于工业交换机的无线网络实验室建设[J].实验室研究与探索,2011(8):74-77,84.
[14]陈建锐,何增颖.基于虚拟机的VPN实验环境构建[J].实验室研究与探索,2010(1):59-61.
[15]刘淼.基于PLC的网络化控制系统实验平台的设计与研究
[D].沈阳:沈阳工业大学,2014.
控制器与工厂自动化,2005(5):6-14.
檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿檿
[16]阎群,李擎,崔家瑞,等.大学生解决复杂工程问题能力的培养[J].实验技术与管理,2017,34(11):178-181,186.
(上接第128页)
论证了该方法的有效性,可以更好地帮助学生提升复习效率。下一步将结合算法实现知识点的自动标注,使得系统更加智能化。
参考文献(References):
[1]项亮.推荐系统实践[M].北京:人民邮电出版社,2012.
[2]文欣秀,顾春华,王家辉,等.改革程序设计课程,探索计算思维能力培养[J].实验室研究与探索,2017,36(8):207-210,229.
[3]何文广,周珂,熊刚强.程序设计课程实验教学改革与实践
[J].实验室研究与探索,2016,35(6):163-165,169.
[4]刘峤,李杨,段宏,等.知识图谱构建技术综述[J].计算机研究与发展,2016,53(3):582-600.
[5]PANGY,JINY,ZHANGY,etal.CollaborativefilteringrecommendationforMOOCapplication[J].ComputerApplicationsinEngineeringEducation,2017,25(1):120-128.
[6]HANJW,JOJC,JIHS,etal.Acollaborativerecommendersystemforlearningcoursesconsideringtherelevanceofalearner'slearningskills[J].ClusterComputing,2016,19(4):2273-2284.
[7]MANOUSELISN,VUORIKARIR,ASSCHEFV.Collaborativerecommendationofe-learningresources:anexperimentalinvestigation[J].JournalofComputerAssistedLearning,2010,26
(4):227-242.
[8]叶树鑫,何聚厚.协作学习中基于协同过滤的学习资源推荐研究[J].计算机技术与发展,2014(10):63-66,70.
[9]吴云峰,冯筠,孙霞,等.基于多分类器的迁移Bagging习题推荐[J].计算机应用,2013(7):1950-1954.
[10]徐琳,杨姝.基于改进的协同过滤算法的练习测试推荐系统[J].沈阳师范大学学报(自然科学版),2015,33(2):
270-273.
[11]郭红霞.中学生错题数据挖掘系统的研究与开发[D].北京:北方工业大学,2012.
[12]陈海蛟,努尔布力.协同推荐研究前沿与发展趋势的知识图谱分析[J].小型微型计算机系统,2018(4):814-819.
[13]徐增林,盛泳潘,贺丽荣,等.知识图谱技术综述[J].电子科技大学学报,2016(4):589-606.
[14]吴幸良,涂风华.采用图模型的个性化标签推荐方法[J].计算机工程与应用,2015(9):142-146.
[15]曹正强.网络教育作业中基于本体的智能推荐系统模型研究
[J].软件导刊·教育技术,2010,9(4):93-95.
[16]陆星儿,曾嘉灵,章梦瑶,等.知识图谱视角下的MOOC教学优化研究[J].中国远程教育(综合版),2016(7):5-9.
 
本文链接: http://www.sffbj.com/534.html(转载请注明出处)若无特别注明,本站内容均为原创。评选活动,需要微信投票“神器团队”为您助力
上一篇:厚植青春底色投票争做服务标兵下一篇:微信不"微"--使用微信莫任性 返回列表

最新文章

热门文章