毕设
想法
1 | 1. 首先确定从0到1的产出具体步骤是怎么样的,也就是他的生命周期是怎么样的,时间安排是怎么样的 |
ToDo
1 | 1. 收集研究生入学考试历年试题数据 |
提纲
面向研究生入学考试英语试题数据分析的可视系统设计与实现
随着研究生入学考试的日益竞争激烈,对英语试题的数据分析成为了提高教学质量和帮助考生备考的关键。本课题旨在设计并实现一个面向研究生入学考试英语试题数据分析的可视系统,
通过数据可视化手段帮助教育机构和考生深入了解考试趋势、知识点覆盖情况等信息。课题的设计目标包括:
(1)数据收集与整理: 开发数据收集模块,从研究生入学英语考试的历年试题中抽取相关数据,并进行整理和标准化。
(2)知识点分析: 进行试题中涉及的各个知识点的分析,包括知识点的覆盖频率、考察难度等信息。
(3)趋势分析: 通过时间序列分析,揭示考试题型和难度的变化趋势,帮助教育机构更好地调整教学方向。
(4)个体表现: 提供考生个体成绩分析,支持对每个考生在不同知识点上的表现进行深入挖掘。
(5)可视化报告:设计直观的可视化报告,以图表和图形的形式呈现分析结果,使用户能够迅速理解和利用数据
数据收集与整理
- 首先,确定数据来源,例如研究生入学英语考试的历年真题。
- 利用网络爬虫技术或手动方式收集历年真题,并将其存储在数据库中。
- 对收集到的数据进行清洗、去重和标准化,以便后续分析。
知识点分析
- 定义知识点分类体系,如词汇、语法、阅读理解、写作等。
词频分析
整体思路:
1 | 首先读取docx文件并获得docx文件列表 |
文件结构:
word版
– docx文件
词频提取.py
1 | from docx import Document |
结果截图展示:
遇到的问题1:
1 | ValueError: file './word版/2020年考研英语一真题.docx' is not a Word file, content type is 'application/vnd.ms-word.document.macroEnabled.main+xml' |
这个报错就是docx在2007年之前的word版本创建的文件python里面的docx第三方库不支持打开
遇到的问题2:
1 | File "/usr/lib/python3.6/zipfile.py", line 1198, in _RealGetContents |
这个代码修改一下就行
1 | load_workbook("a.xlsx")----> wb = Workbook() # 加载文件 |
效果展示
缺憾:
有道翻译的API调用有些解释翻译有问题
分析每道试题所属的知识点,并统计各个知识点的覆盖频率和考察难度。
可以使用Excel或Python等工具进行数据处理和分析。
趋势分析
- 按照时间顺序整理试题数据,形成时间序列。
- 利用时间序列分析方法(如ARIMA模型)预测考试题型和难度的变化趋势。
- 结合可视化工具(如Matplotlib、Seaborn等)绘制趋势图,展示分析结果。
个体表现
- 针对每个考生,统计其在不同知识点上的正确率、得分等指标。
- 利用聚类、分类等机器学习算法对考生进行分组,分析不同组别在知识点上的表现。
- 可使用Python的scikit-learn库进行算法实现。
可视化报告
设计简洁明了的报表模板,包括以下部分:
- 概述:简要介绍分析目的、数据来源和分析方法。
- 知识点覆盖情况:列出各知识点的覆盖频率和考察难度。
- 趋势分析:展示时间序列分析和预测结果。
- 考生个体表现:展示不同考生在知识点上的表现差异。
- 使用Python的echarts等库生成可视化报告。
相关文档:
1 | https://blog.csdn.net/wardseptember/article/details/82015147 |
第三周
要求:
学习自然语言处理中的话题建模算法,对每一年的试题文本进行话题提取
什么是主题模型?
主题模型(Topic Model)是通过学习一系列的文档,发现抽象主题的一种统计模型。从词频的角度来讲,如果一篇文章包含某个主题,那么一定存在一些特定的词语会频繁出现。通常情况下,一篇文章中包含多个主题,而且每个主题所占的比例各不相同。
比如:“美国对伊朗再度实施单边制裁,这将对伊朗的出口贸易造成严重影响”。这里可以归为政治主题,因为描述国家的词语频繁出现。也可以归为经济主题,因为出现了制裁、出口贸易等词。我们可以预估一下,政治主题的比例为 0.7,经济主题的比例为 0.3。
主题模型是对文本中隐含主题的一种建模方法,每个主题其实是词表上词语的概率分布。主题模型是一种生成模型,一篇文章中每个词都是通过“以一定概率选择某个主题,并从这个主题中以一定概率选择某个词语”这样一个过程得到的。
比如,我们写文章一般先选定一个主题,然后用和这个主题有关的词语进行组合形成文章。
LDA 主题模型
LDA 是一种无监督学习方法,在训练时不需要手工标注的训练集,需要的仅仅是文档集以及指定主题的数量 k 即可。此外,LDA 的另一个优点是,对于每一个主题均可找出一些词语来描述它。
LDA实现原理
通过文档集生成主题集,通过主题集生成词语
code
1 | from gensim import corpora, models, similarities |
输出
引用文章
[1] 王祖超, 袁晓如. 轨迹数据可视分析研究[J]. 计算机辅助设计与图形学学报, 2015, 27(1): 9-25.
[2] 刘明吉, 王秀峰. 数据挖掘中的数据预处理[J]. 计算机科学, 2000, 27(4): 54-57.
[3] 周水庚, 李丰, 陶宇飞, 等. 面向数据库应用的隐私保护研究综述[J]. 计算机学报, 2009, 32(5): 847-861.
[4] 徐宝文, 张卫丰. 数据挖掘技术在 Web 预取中的应用研究[J]. 计算机学报, 2001, 24(4): 430-436.
[5] 周庆, 牟超, 杨丹. 教育数据挖掘研究进展综述[J]. 软件学报, 2015, 26(11): 3026-3042.
[6] Souri A, Hosseini R. A state-of-the-art survey of malware detection approaches using data mining techniques[J]. Human-centric Computing and Information Sciences, 2018, 8(1): 1-22.
[7] Hasan M K, Ghazal T M, Alkhalifah A, et al. Fischer linear discrimination and quadratic discrimination analysis–based data mining technique for internet of things framework for Healthcare[J]. Frontiers in Public Health, 2021, 9: 737149.
[8] Lin G, Zhang J, Luo W, et al. Software vulnerability discovery via learning multi-domain knowledge bases[J]. IEEE Transactions on Dependable and Secure Computing, 2019, 18(5): 2469-2485.
[9] Eckhart M, Ekelhart A, Weippl E. Automated security risk identification using AutomationML-based engineering data[J]. IEEE Transactions on Dependable and Secure Computing, 2020, 19(3): 1655-1672.
[10] Luo Y, Qin X, Tang N, et al. Deepeye: Towards automatic data visualization[C]//2018 IEEE 34th international conference on data engineering (ICDE). IEEE, 2018: 101-112.
第四周
主题建模出结果;调研story telling可视化,下载代码跑一个示例
story telling代码示例
1 | from bokeh.plotting import figure, show |
效果展示