一个学生作业处理工具集,使用python和aardio实现。
- 设置工作空间
- 工作空间用于存一些缓存文件和一些数据文件,最终生成的数据结果也在其中
- 作业解包
- 针对docx文档、xlsx文档、pptx文档和zip文档等文档进行解包,把里面的资源分为两类:媒体资源和文本资源,统一放到文件池中(目前暂支持docx)
- 作业分类
- 输入班级学生名单
- 通过文件名分析、文件路径分析和文件内容(主要是文本)确定此文件所属学生
- 通过文件名分析、文件路径分析和文件内容分析确定作业所属次数(哪一次的作业)
- 作业分析
- 文本对比:
- 余弦相似度(Cosine Similarity):计算两个向量之间的夹角余弦值,值越接近1表示相似度越高。
- 编辑距离(Edit Distance):计算将一个字符串转换成另一个字符串所需的最少操作次数,操作包括插入、删除和替换字符等。
- Jaccard相似度(Jaccard Similarity):计算两个集合交集与并集之间的比例,值越接近1表示相似度越高。
- 词向量模型(Word Embedding Model):将文本中的单词映射到向量空间中,然后计算两个文本向量之间的距离或相似度。
- 图像对比:
- 均方误差(MSE):计算两张图片每个像素点之间的差异,然后将这些差异平方并求平均值。MSE越小表示两张图片越相似。
- 结构相似性指数(SSIM):SSIM考虑了亮度、对比度和结构等因素,能够更好地反映人眼对图像相似度的感知。SSIM的取值范围在-1到1之间,值越接近1表示两张图片越相似。
- 峰值信噪比(PSNR):PSNR是评估图像质量的一种常用指标,它衡量了原始图像与压缩图像之间的差异程度。PSNR越高表示两张图片越相似。
- 感知哈希算法(Perceptual Hashing):感知哈希算法通过将图像转换为二进制字符串来比较两张图片的相似度。该算法考虑了图像的颜色、纹理和形状等特征,能够更好地适应不同场景下的图片比较。
- 文本对比:
- 结果整理
- 将学生作业检测情况汇总处理成一个JSON文件
- 将JSON文件转换成Excel表格(xlsx)文件输出,格式如下:
- 学生名字
- 学生作业次数1
- 作业文件编号 - 作业文件 - 相似度最高的作业文件编号 - 相似度 - 备注
- 作业文件编号 - 作业文件 - 相似度最高的作业文件编号 - 相似度 - 备注
- …………
- 学生作业次数2
- 作业文件编号 - 作业文件 - 相似度最高的作业文件编号 - 相似度 - 备注
- 作业文件编号 - 作业文件 - 相似度最高的作业文件编号 - 相似度 - 备注
- …………
- 学生作业次数3
- 作业文件编号 - 作业文件 - 相似度最高的作业文件编号 - 相似度 - 备注
- 作业文件编号 - 作业文件 - 相似度最高的作业文件编号 - 相似度 - 备注
- …………
- 学生作业次数……
- 作业文件编号 - 作业文件 - 相似度最高的作业文件编号 - 相似度 - 备注
- 作业文件编号 - 作业文件 - 相似度最高的作业文件编号 - 相似度 - 备注
- …………
- 学生作业次数1
- 学生名字