智慧教育开放知识数据集

智慧教育开放知识数据集

作者:王嘉宁  QQ:851019059  Email:lygwjn@126.com,本文原名“中学学科知识点数据集”

⚠️ 所有有关智慧教育的项目已完结停更,不再维护,感谢您的支持


  智慧教育知识图谱的研究是近年来十分热门的领域,本人自从开辟智慧教育知识图谱博文账号至今,已收到多个博友的信息,对关于智慧教育知识图谱开放知识数据的渴望十分强烈!本人也持续在的NLP和CV相关领域内研究,并试图能在智慧教育领域有所建树。
  本文主要提供开放知识数据集,主要以中学学科、高等教育学科为主。截止2019年10月17日,目前已提供中学数学、数据结构相关NLP数据集。
  如果本文及提供的开放数据集对您的研究(应用开发、算法研究、毕设等)有很大帮助,请在引文引用该博文。

一、数据下载

  可以直接在下面的链接列表中选择相应的数据集并下载,列表中简要描述了数据集的格式,部分数据正在整理中,实时更新,敬请关注。

由于各个学科的性质及领域知识结构不同,博主个人无法完成所有中小学以及大学专业的相关学科图谱的数据集构造,欢迎广大各领域的博主加入到我们的智慧教育自然语言处理数据集的构建中,延续开源的理念,造福广大程序员!!

序号数据集文件大小句子数量实体数量实体对数量发布日期下载地址
1初中数学(NER+RE)501kb6661706112502019.02.19csdn下载
2高中数学(NER+RE)506kb22322399112502019.02.19csdn下载
3数据结构(RE)15.5mb176919657168262019.11.11csdn下载

*数据结构数据集具体使用说明请下载后见README.txt。
  仍需要预训练中文词向量作为模型的微调,我们提供了预训练的三种词向量,分别为word2vec、glove和GWE。

序号词向量类型文件大小下载地址
1word2vec45.65MBword2vec中文词向量
2glove41.24MBglove中文词向量
3GWE56.94MBGWE中文词向量

其中GWE为中文汉字字形特征提取方法构建中文词向量。

二、数据说明

  1. 数据来源于网络资源中,包括百度百科、百度文库、维基百科等包含学科知识点的语句。
  2. 数学、物理学科由于含有公式,因此涉及公式的句子可能语法上读不通,但不妨碍模型的训练学习;
  3. 文件中包含原始数据集样本(context_entity),实体(entity),训练集(train_data),测试集(test_data)以及实体关系数据库sql文件;

      (1) 数据集样本(context_entity):每一行代表一个样本,每个样本包含两部分,一部分为原始句子,一部分为该句子的所有实体。实体是按照其在句子中首次出现的位置排序而成。格式例如:

平方根是开方运算的基础,是引入无理数的准备知识。 平方根,开方,无理数

     (2)实体(entity):包含该数据集涉及的所有实体,即知识点。实体分为两类,“1”表示该学科切实存在的实体,例如“三角形”、“对数函数”等,标注符号为“KNOW”,“2”表示该学科的定理、定律、法则、求解方法等逻辑概念,例如“点差法”、“正弦定理”等,标注符号为“PRIN”。
     (3)训练集和测试集(train_data和test_data):本人通过程序将数据集按照out of beg抽样方法将context_entity划分训练集合测试集,测试集为袋外样本。两个文件格式如图所示:
在这里插入图片描述
    (4)sql数据库文件:本人自行设计web程序手动的为每一个样本的每一个实体进行了关系分类,并存储在sql中。sql包含context、entity、entity_relation和relation四个表,其中entity可忽略。大家可以自己设计sql代码获取关系。

  1. 关系种类:本人设计知识点的关系一共12种,如下表:
序号英文符号关系名称说明
1rely依赖某个知识点依赖于另一个知识点,两个知识点有必要的前后顺序关系,或者某个知识点的存在必须依赖于另一个知识点的存在
2b-rely被依赖某个知识点被依赖于另一个知识点,两个知识点有必要的前后顺序关系
3belg属于某个知识点内容从属于另一个知识点范畴内
4b-belg包含某个知识点包含另一个知识点内容
5syno同义两个知识点名称不同但指代同一个内容
6anto反义两个知识点意义相反
7simi近义两个知识点有相似的内容
8attr属性某个知识点(或名词)是另一个知识点的属性,例如“面积”和“矩形”
9b-attr拥有某个知识点拥有的属性是另一个知识点
10Appo同位两个知识点在一定范围内具有相同的父节点
11other其他两个知识点具备其他关系
12none无关两个知识点没有关系
  1. 标注规则

  在命名实体识别任务中,需要有标注过的数据集,按照绝大多数的科研标注规范,以B表示该实体中首字符的标识,I表示该实体其他字符的标识。若该词只有一个字则仅为B。例如“三角形”标注为“B-KNOW I-KNOW I-KNOW”,而“正弦定理”则标注为“B-PRIN I-PRIN I-PRIN”。

  备注:因为该数据为人工标注,因此在数据集中的sql数据库中,relation_id=12代表“无关”,同时两个实体若没有关系记录的默认为“无关”。当然存在两个实体从来没有组成对,但它们有关联的这种的可能,因此这部分数据需要进行实体链接和知识推理步骤完成。

三、数据使用

  数据在训练时使用train_data文件,例如使用python代码需要先读取文件,再对每一个样本划分两个部分:原始句子sentence和该句子的所有实体entitys。
(1) 读取数据集:

with open('./context_entity','r',encoding="utf-8") as f:
    for i in f.readlines():
        sentence , entitys = i.split(' ')

(2) 数据集标注:

def getTag(dataset):
    #根据数据集原始样本及对应所有实体,进行序列标注,生成已标注的样本
    #参数:dataset:已读取的数据集
    #返回格式: [ ['原始样本','原始样本的序列标注序列'],... ]
    entity_dict = readEntitys()
    context_tag = []
    for i in dataset:
        raw_context = i[0]
        entitys = i[1]
        tag = ['O']*len(raw_context)
        entitys.sort(key=lambda x: len(x))
        entitys.reverse()
        for j in entitys:
            label = kind_dict[entity_dict[j]]
            label_start = 'B-' + label
            label_ = 'I-' + label            
            for k in re.finditer(j,raw_context):
                if 'O' in tag[k.start():k.end()]:
                    tag[k.start():k.end()]=[label_start] + [label_]*(len(j)-1)
        context_tag.append([raw_context,tag])
    return context_tag

(3) 实验测试:
  本人暂时仅进行了命名实体识别的测试,模型采用BiLSTM+CRF+word2vec,以初中和高中数学测试集为例,相应的精度、召回率和F1值如下:

序号数据集结果
1初中数学在这里插入图片描述
2高中数学在这里插入图片描述

(4)应用测试:
在这里插入图片描述
  备注:数据可能存在一些噪声,因为在对每一个样本进行实体标注时是采用模式匹配实现的,可能存在标注错误问题,例如对于句子“一元二次方程组成的方程组是一元二次方程组”,很容易把前头的“一元二次方程”标注为“一元二次方程组”,而这里的“组”应该与“成”字为“组成”。类似的问题可能会存在,大家下载后可以再做更细的处理。

四、自定义创建数据集

  授人以鱼不如授人以渔,简单教大家如何制作这一类的数据集,简要概括如下:

  1. 确定学科领域的范围。例如确定初中数学学科的知识范围为人教版。
  2. 搜集相关的知识点。例如初中数学内有知识点“全等三角形”,而高中数学里面有“导数”等。
  3. 通过百科、文档或者网页爬取等方式获取句子级别的数据,简单进行清理后组成数据集。
  4. 首先通过已搜集的实体对每一个句子进行模式匹配,搜索出每个句子中所有的实体。
  5. 对每个句子的每个实体进行检查,并为每一个实体对划分关系类别。这一步骤可通过web程序实现,已分过的实体对下一次就不用重新划分了。

  博客记录着学习的脚步,分享着最新的技术,非常感谢您的阅读,本博客将不断进行更新,希望能够给您在技术上带来帮助。欢迎转载,转载请注明出处。

内容概要:本文介绍了一个来自孟加拉国独立大学(IUB)的学生问题数据集,这些问题是2023年夏季学期收而来,经过去重、分类以及根据布鲁姆分类法评分后的共计8,811个独特问题,涵盖了'数据结构'与‘计算机引论与研究’两门课程。该数据集旨在辅助AI模型培训,并帮助研究人员探索学生的求知欲激发和批判思维培养的有效方式。文章介绍了数据采工具 'Palta Question'、收流程,包括Levenshtein距离算法排除相似度高的题目。它详细展示了对学生问题模式、学术疑问和学习盲区的研究,同时探讨了未来提高数据处理和评估效率的方法。该资源为改进教学方法提供了重要参考依据,并对开发智能教育辅助工具有潜在价值。 适合人群:教育科技研究者、教育工作者、机器学习开发者、对提升学生参与度及批判思维有兴趣的人群。 使用场景及目标:该数据集可以用于改进学生参与度的激励机制,帮助教师识别课堂上需要特别注意的问题点,同时提供给开发人员训练人工智能模型所需的真实用户交互数据,优化人机互动体验和技术解决方案。除此之外,它还是进行教育质量评估、预测学业成就的理想选择。 其他说明:尽管该研究局限于特定地区和背景的学生群体及其上下文,但是它的发现可能对于理解更广泛范围内学习者的提问行为具有一定的启示意义。需要注意的是,在应用该数据库时应该谨慎对待泛化其结论的可能性。作者还公开了相关算法的Python代码供他人重复实验或者在此基础上进行创新探索。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

华师数据学院·王嘉宁

$感谢支持$

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值