智慧教育开放知识数据集
智慧教育开放知识数据集
作者:王嘉宁 QQ:851019059 Email:lygwjn@126.com,本文原名“中学学科知识点数据集”
⚠️ 所有有关智慧教育的项目已完结停更,不再维护,感谢您的支持
智慧教育知识图谱的研究是近年来十分热门的领域,本人自从开辟智慧教育知识图谱博文账号至今,已收到多个博友的信息,对关于智慧教育知识图谱开放知识数据的渴望十分强烈!本人也持续在的NLP和CV相关领域内研究,并试图能在智慧教育领域有所建树。
本文主要提供开放知识数据集,主要以中学学科、高等教育学科为主。截止2019年10月17日,目前已提供中学数学、数据结构相关NLP数据集。
如果本文及提供的开放数据集对您的研究(应用开发、算法研究、毕设等)有很大帮助,请在引文引用该博文。
一、数据下载
可以直接在下面的链接列表中选择相应的数据集并下载,列表中简要描述了数据集的格式,部分数据正在整理中,实时更新,敬请关注。
由于各个学科的性质及领域知识结构不同,博主个人无法完成所有中小学以及大学专业的相关学科图谱的数据集构造,欢迎广大各领域的博主加入到我们的智慧教育自然语言处理数据集的构建中,延续开源的理念,造福广大程序员!!
序号 | 数据集 | 文件大小 | 句子数量 | 实体数量 | 实体对数量 | 发布日期 | 下载地址 |
---|---|---|---|---|---|---|---|
1 | 初中数学(NER+RE) | 501kb | 6661 | 706 | 11250 | 2019.02.19 | csdn下载 |
2 | 高中数学(NER+RE) | 506kb | 2232 | 2399 | 11250 | 2019.02.19 | csdn下载 |
3 | 数据结构(RE) | 15.5mb | 176919 | 657 | 16826 | 2019.11.11 | csdn下载 |
*数据结构数据集具体使用说明请下载后见README.txt。
仍需要预训练中文词向量作为模型的微调,我们提供了预训练的三种词向量,分别为word2vec、glove和GWE。
序号 | 词向量类型 | 文件大小 | 下载地址 |
---|---|---|---|
1 | word2vec | 45.65MB | word2vec中文词向量 |
2 | glove | 41.24MB | glove中文词向量 |
3 | GWE | 56.94MB | GWE中文词向量 |
其中GWE为中文汉字字形特征提取方法构建中文词向量。
二、数据说明
- 数据来源于网络资源中,包括百度百科、百度文库、维基百科等包含学科知识点的语句。
- 数学、物理学科由于含有公式,因此涉及公式的句子可能语法上读不通,但不妨碍模型的训练学习;
- 文件中包含原始数据集样本(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代码获取关系。
- 关系种类:本人设计知识点的关系一共12种,如下表:
序号 | 英文符号 | 关系名称 | 说明 |
---|---|---|---|
1 | rely | 依赖 | 某个知识点依赖于另一个知识点,两个知识点有必要的前后顺序关系,或者某个知识点的存在必须依赖于另一个知识点的存在 |
2 | b-rely | 被依赖 | 某个知识点被依赖于另一个知识点,两个知识点有必要的前后顺序关系 |
3 | belg | 属于 | 某个知识点内容从属于另一个知识点范畴内 |
4 | b-belg | 包含 | 某个知识点包含另一个知识点内容 |
5 | syno | 同义 | 两个知识点名称不同但指代同一个内容 |
6 | anto | 反义 | 两个知识点意义相反 |
7 | simi | 近义 | 两个知识点有相似的内容 |
8 | attr | 属性 | 某个知识点(或名词)是另一个知识点的属性,例如“面积”和“矩形” |
9 | b-attr | 拥有 | 某个知识点拥有的属性是另一个知识点 |
10 | Appo | 同位 | 两个知识点在一定范围内具有相同的父节点 |
11 | other | 其他 | 两个知识点具备其他关系 |
12 | none | 无关 | 两个知识点没有关系 |
- 标注规则
在命名实体识别任务中,需要有标注过的数据集,按照绝大多数的科研标注规范,以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-' + labellabel_ = '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)应用测试:
备注:数据可能存在一些噪声,因为在对每一个样本进行实体标注时是采用模式匹配实现的,可能存在标注错误问题,例如对于句子“一元二次方程组成的方程组是一元二次方程组”,很容易把前头的“一元二次方程”标注为“一元二次方程组”,而这里的“组”应该与“成”字为“组成”。类似的问题可能会存在,大家下载后可以再做更细的处理。
四、自定义创建数据集
授人以鱼不如授人以渔,简单教大家如何制作这一类的数据集,简要概括如下:
- 确定学科领域的范围。例如确定初中数学学科的知识范围为人教版。
- 搜集相关的知识点。例如初中数学内有知识点“全等三角形”,而高中数学里面有“导数”等。
- 通过百科、文档或者网页爬取等方式获取句子级别的数据,简单进行清理后组成数据集。
- 首先通过已搜集的实体对每一个句子进行模式匹配,搜索出每个句子中所有的实体。
- 对每个句子的每个实体进行检查,并为每一个实体对划分关系类别。这一步骤可通过web程序实现,已分过的实体对下一次就不用重新划分了。
博客记录着学习的脚步,分享着最新的技术,非常感谢您的阅读,本博客将不断进行更新,希望能够给您在技术上带来帮助。欢迎转载,转载请注明出处。
智慧教育开放知识数据集相关推荐
- 计算机辅助教育会议,子会议1:学习科学、计算机辅助合作学习、智慧教育
子会议1:学习科学.计算机辅助合作学习.智慧教育 一.目的 学习科学(learning sciences)是在反思认知科学等学科.关于学习方法的研究方法和观点的基础上兴起的,从90年代逐渐发展后,迅即 ...
- 智慧城市开放数据的发展趋势分析及探讨
智慧城市开放数据是指将政府.企业.非营利性组织等掌握的各类数据主动向公众公开,供用户查询.下载.应用,以实现智慧城市数据信息在网络空间的公开.共享与重用.本文首先对智慧城市开放数据的内涵进行了阐述,通 ...
- 智慧校园是实现智慧教育的必由之路
何为智慧教育? 随着信息技术从数字化向智能化方向发展,IBM在2008年提出"智慧地球(Smart Planet)"概念并将其应用于教育领域. 智慧教育是利用新一代信息技术更好地实 ...
- 靠智慧教育“飞升”,科大讯飞前路漫漫
科大讯飞,AI第一股,百亿营收,千亿市值,13亿利润,4亿政府补贴. 技术领先,但与竞争对手差距变小,智能语音技术成熟,难言壁垒.智能语音技术作为人工智能领域的重要赛道,巨头涌入,竞争激烈. 7月12 ...
- 演讲实录丨王士进 人工智能开启智慧教育新模式
人工智能开启智慧教育新模式 王士进 科大讯飞研究院副院长,智学网副总经理 王士进:各位嘉宾上午好!我是讯飞研究院的王士进.非常高兴能够根据汇的嘉宾一起分享讯飞在人工智能以及人工智能和智慧教育结合的一些 ...
- 亮相教育装备展丨AI赋能,汉王科技助力智慧教育新基建
2021年10月23日,第80届中国教育装备展示会在四川成都拉开帷幕.在本次教育装备展上,汉王科技携多款智慧教育智能终端产品及解决方案闪耀亮相.260平方米的大型"智慧教育"展区, ...
- ACL 2020 | 用于链接预测的开放知识图谱嵌入
©PaperWeekly 原创 · 作者|舒意恒 学校|南京大学硕士生 研究方向|知识图谱 当前大量的知识图谱都是通过文本直接构建的.由于当前的知识图谱构建方法的局限性,其中难免包含对同一实体或关系的 ...
- 论文浅尝 - ACL2020 | 用于链接预测的开放知识图谱嵌入
本文转载自公众号:PaperWeekly. 作者:舒意恒,南京大学硕士,研究方向:知识图谱. 当前大量的知识图谱都是通过文本直接构建的.由于当前的知识图谱构建方法的局限性,其中难免包含对同一实体或关系 ...
- 互联网晚报 | 3月1日 星期二 | 2022年苹果可能推出三款Apple Watch;“国家中小学智慧教育平台”投入试运行...
小米投资纽迪瑞 3月1日消息,近日,深圳纽迪瑞科技开发有限公司发生工商变更,新增小米关联公司瀚星创业投资有限公司为股东.据公开资料显示,纽迪瑞成立于2011年4月,是一家压力感应触控技术解决方案 ...
最新文章
- WindowsPhone基础琐碎总结-----数据绑定(一)
- php正则的练习(持续跟新)
- Python闭包及其作用域
- 谢欣伦 - OpenDev原创教程 - 蓝牙设备查找类CxBthRemoteDeviceFind
- python实现进度条的3种方式
- LeetCode面试必刷题目总结 持续更新中...
- python 迭代器、生成器、yield、iter
- Android 解析JSON
- P4838 P哥破解密码
- JAVA高并发服务器工作笔记0001---Java中InetAddress与InetSocketAddress的基本用法
- html 设置两个标签的相对距离_如何准确计算一div相对另一div的相对距离?
- UVM中factory机制的使用
- POJ 2718 Smallest Difference(dfs,剪枝)
- 树链剖分(bzoj 1036: [ZJOI2008]树的统计Count)
- 宜信正式开源其 AIOps 落地三大利器
- [礼仪大赛常识]酒店客房服务礼仪
- 教你如何快速查询快递物流,并自动识别已签收单号
- 腾讯(Tencent)2022实习笔试算法题
- Linux静态库和动态库区别
- 利用python库moviepy,快速剪辑视频
热门文章
- JDBC学习笔记-使用全过程
- 偏差(Bias)与方差(Variance)详解
- 5 个不为人知的 PDF 技巧
- 广和通“投资换市场”,收购标的净利率下滑/车载业务上半年亏损数千万
- NLP-Highway Network代码实现
- php调用itchat,itchat和matplotlib的结合使用爬取微信信息的实例
- 电表4G无线红外抄表器使用说明和技术指南
- python 艺术照片滤镜_Python批量为照片应用灰度滤镜
- 微软云游戏专利:利用服务器为平板、手机游戏加速
- Android入门(1) 安卓相关概念及版本