基于相似度计算的编程题自动评判方法研究

作者:
孙鸿伟

关键词:
自动评判 相似度计算 程序特征向量 模式定义

摘要:
近年来C语言编程题的自动评判没有较好的解决办法,编程题的阅卷往往采用一种单凭输出结果给定成绩这种方法虽然简便,但不科学,完全忽略了考生的源代码,有些基于源代码的自动阅卷方法也存在不足之处。要想得到较好的阅卷效果,必须对考生源代码的结构进行深入处理。 针对这个问题,通过对C语言编程题自动评判方法的国内外现状以及相关技术的研究,本文提出一种基于相似度计算的自动评判方法,并通过以此建立的编程题自动评判方法框架模型对考生的源代码的结构进行控制分析和相似度计算。首先,为了实现C程序的解析,本文细化了的C语言结构的XML模式定义,设计并实现了C程序到XML文档的解析算法,通过解析算法将C程序转换为XML文档。同时,为了提高评判的时间效率,本文提出了程序特征向量的概念,设计并实现了程序特征向量的提取及其相似度计算的算法;之后,对考生程序进行测试用例测试,将测试用例全对的考生程序和标准答案的XML文档及特征向量录入答案库,根据答案的采分点,对答案库中标准答案的XML文档的节点进行加权,实现智能的自动评分;最后,通过计算提取的程序特征向量的相似度找到与考生答案最相似的标准答案,本文根据课题需求设计并实现了XML文档相似度计算算法,通过此算法计算两者XML文档的相似度,获得考生答案的成绩。 实验结果表明,本文提出的评判方法具有一定的可执行性和有效性,但也存在一些影响评分准确率的问题,通过对实验数据的分析提出了相应的解决方案。

在线下载

相关文章:
在线客服:
对外合作:
联系方式:400-6379-560
投诉建议:feedback@hanspub.org
客服号

人工客服,优惠资讯,稿件咨询
公众号

科技前沿与学术知识分享