摘要
在线编程评测系统(Online Judge,OJ)是一种被广泛应用于计算机编程教学与竞赛的代码测评系统。用户在规模庞大的题库中寻找适合当前学习阶段的题目时,往往会感到迷茫。如何为用户推荐合适的题目和规划学习路径,是在线编程测评系统研发中的一个重要研究课题。传统推荐算法存在可解释性和准确性难以兼顾的问题。文中提出了基于知识图谱与协同过滤混合策略的在线评测系统推荐模型(A Hybrid Programming Task Recommendation Model Based on Knowledge Graph and Collaborative Filtering,HKGCF)。该模型通过推荐与用户当前知识和技能掌握程度相匹配的题目,来帮助用户提升学习效果。文中设计和实现了该模型,并将其集成到了北京航空航天大学在线编程测评系统中,以适应OJ平台特有的交互形式。线上测试和离线测试实验的结果表明,提出的HKGCF模型在准确率和可解释性方面均优于典型传统算法。
The online judge(OJ)is a widely used system for programming education,learning and contests.Users often get lost in searching for tasks of interest in the massive database.How to recommend suitable programming tasks to the users and plan the learning path is a significant research topicin the development of online programming evaluation system.Existing traditional recommendation methods have the limitation of making a trade-off between interpretability and effectiveness.This paper proposes a task-recommending model for the OJ platform-hybrid programming task recommendation model based on knowledge graph and collaborative filtering for online judge(HKGCF).The HKGCF model can help users improve their learning effect by recommending questions that match their current knowledge levels and skills.The model is designed based on a hybrid strategy that integrates the knowledge graph representation learning with an improved collaborative filtering algorithm.The model is implemented and integrated into the OJ platform of Beihang University,and meet the specific interaction formats of the OJ platform.We conducted two experiments,an online and an offline test,to validate the proposed model and its implementations.The results show that the proposed model outperforms the representative conventional recommendation algorithm interms of interpretability and accuracy.
作者
刘泽京
邬楠
黄抚群
宋友
LIU Zejing;WU Nan;HUANG Fuqun;SONG You(School of Software,Beihang University,Beijing 100191,China;Centre for Informatics and Systems,University of Coimbra,Coimbra 3000-115,Portugal)
出处
《计算机科学》
CSCD
北大核心
2023年第2期106-114,共9页
Computer Science
基金
国家自然科学基金面上项目(61977002)
国家自然科学基金青年科学基金项目(62107002)
河北省重点研发计划(21310101D)。
关键词
编程教育
在线编程评测系统
个性化推荐
知识图谱
协同过滤
特征融合
Programming education
Online judge systems
Personalized recommendations
Knowledge graph
Collaborative filtering
Feature fusion