xap/SelfCode
收藏Hugging Face2024-04-30 更新2024-06-12 收录
下载链接:
https://hf-mirror.com/datasets/xap/SelfCode
下载链接
链接失效反馈官方服务:
资源简介:
SelfCode数据集是一个用于代码理解任务的数据集,特别关注学生解释代码关键步骤的能力。该数据集包含1,770对学生和专家对JAVA代码示例的自我解释句子对,以及专家提供的语义相似性评分。数据集的结构包括代码行、众包解释、专家解释和注释评分。数据集的统计数据展示了不同注释标签的句子对数量。
SelfCode数据集是一个用于代码理解任务的数据集,特别关注学生解释代码关键步骤的能力。该数据集包含1,770对学生和专家对JAVA代码示例的自我解释句子对,以及专家提供的语义相似性评分。数据集的结构包括代码行、众包解释、专家解释和注释评分。数据集的统计数据展示了不同注释标签的句子对数量。
提供机构:
xap
原始信息汇总
数据集概述
数据集名称
SelfCode
数据集内容
包含1,770对学生和专家对JAVA代码示例的自解释句子,以及专家提供的语义相似度评分。
数据集结构
| 字段 | 描述 |
|---|---|
| Line of Code | 代码行 |
| Crowd Sourced Explanation | 学生解释 |
| Expert Explanation | 专家解释 |
| Annotation Score | 评分 |
数据集示例
| Line of Code | Crowd Sourced Explanation | Expert Explanation | Annotation Score |
|---|---|---|---|
| int [] arr = { 1, 2, 3}; | Declares the array we want to use for our assignment | We initialize the array of type int to hold the specified numbers. | 4 |
| int num = 15; | variable decleration: declares the number we are trying to divide | We could initialize it to any positive integer greater than 1. | 1 |
| divisor += 1; | if the loop condition is true, then we increment the divisor by 1 | When the divisor is not a factor of the number, we increment the variable divisor by 1. | 3 |
| int seconds = scan.nextInt(); | Get the number entered by the user. | We read the seconds by calling the nextInt() method because this input is an integer. | 2 |
| System.out.println("Enter an integer: "); | Ask the user to enter an integer. | We prompt the user to enter an integer. | 5 |
数据集统计
| Annotation Label | No. of sentence pairs |
|---|---|
| 1 | 529 |
| 2 | 507 |
| 3 | 419 |
| 4 | 253 |
| 5 | 62 |
搜集汇总
数据集介绍

构建方式
在代码理解研究领域,为评估学生自我解释能力,SelfCode数据集通过系统化流程构建。该数据集收集了1,770对JAVA代码示例的学生解释与专家解释句子对,并邀请领域专家为每对句子提供语义相似性评分。构建过程中,专家依据严格标准对解释内容进行标注,评分范围从1至5分,确保了数据标注的权威性与一致性。
特点
SelfCode数据集的核心特点在于其专注于代码自我解释的语义评估,为教育技术领域提供了珍贵的标注资源。数据集包含丰富的学生与专家解释对比,覆盖多种代码结构场景,且评分分布呈现多样性,有助于深入分析解释质量差异。其结构化设计支持对代码理解过程中认知状态的量化研究,为自动化评估模型开发奠定了数据基础。
使用方法
该数据集适用于训练与评估自然语言处理模型,特别是语义相似度计算与自动评分任务。研究人员可将学生解释与专家解释作为输入,利用标注分数监督模型学习,以构建自动化反馈系统。使用时应遵循数据划分原则,确保模型泛化能力,并可结合预训练语言模型进行微调,以提升代码解释评估的准确性与可靠性。
背景与挑战
背景概述
在编程教育领域,代码理解能力的培养是计算机科学教学的核心环节之一。SelfCode数据集由Jeevan Chapagain、Vasile Rus等研究人员于2023年构建,旨在通过收集学生与专家对JAVA代码片段的自我解释句子对,并辅以专家提供的语义相似度评分,为自动化评估学生解释质量提供标注数据。该数据集包含1,770个句子对,覆盖了从基础变量声明到复杂控制结构的多种代码场景,其核心研究问题聚焦于如何利用自然语言处理技术量化学生解释与专家知识之间的语义差距,从而推动智能辅导系统的发展,对编程教育中的个性化反馈机制构建具有重要影响力。
当前挑战
SelfCode数据集致力于解决编程教育中自动化评估学生自我解释的挑战,这要求模型不仅能理解代码的语法结构,还需捕捉解释文本的语义细微差别,例如区分概念性误解与表述不准确。在构建过程中,研究人员面临标注一致性的难题,因为语义相似度评分依赖于专家主观判断,需通过多轮校准来减少偏差;同时,数据集的规模相对有限,且集中于JAVA语言,可能限制了模型在其他编程语言或复杂代码模式上的泛化能力。此外,学生解释的多样性与非规范性表达也为自动化处理带来了额外的复杂性。
常用场景
经典使用场景
在代码理解与教育技术领域,SelfCode数据集为自动化评估学生代码自解释能力提供了关键资源。该数据集通过收集学生与专家对JAVA代码片段的解释句子对,并辅以专家提供的语义相似度评分,构建了一个包含1,770条样本的标注语料库。其经典使用场景集中于训练机器学习模型,以自动分析学生在代码理解过程中产生的自解释文本,从而评估其解释的准确性与深度,为智能教育系统中的实时反馈机制奠定基础。
解决学术问题
SelfCode数据集主要解决了代码教育中自动化评估的学术挑战。传统上,依赖人工评估学生代码解释既耗时又主观,该数据集通过提供大规模标注数据,支持开发AI模型来客观量化学生解释与专家标准之间的语义差距。这不仅有助于识别学生的知识漏洞与常见误解,还为个性化学习路径的设计提供了数据驱动的方法,推动了智能辅导系统与自适应学习环境的研究进展。
衍生相关工作
围绕SelfCode数据集,衍生了一系列经典研究工作,主要集中在自然语言处理与教育技术的交叉领域。例如,基于该数据集的语义相似度模型被用于开发更精准的代码解释评估算法;同时,研究者利用其标注结构探索了多模态学习框架,结合代码文本与自解释文本以增强理解能力。这些工作进一步推动了自动化代码反馈系统的发展,并为后续数据集如CodeXGlue等提供了灵感,巩固了其在代码智能教育中的基石地位。
以上内容由遇见数据集搜集并总结生成



