第二次作业
这个作业属于哪个课程 | 第二次作业 |
---|---|
这个作业要求在哪里 | 作业要求 |
这个作业的目标 | 完成论文查重程序 |
Github仓库地址
https://github.com/Simonysc-123/3123004761
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟 | 实际耗时(分钟) |
---|---|---|---|
·Planning | 计划 | 10 | 15 |
Estimate | 估计这个任务需要多少时间 | 90 | 120 |
Development | 开发 | 30 | 30 |
Analysis | 需求分析 (包括学习新技术) | 30 | 40 |
Design Spec | 生成设计文档 | 10 | 15 |
Design Review | 设计复审 | 10 | 10 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 10 | 10 |
Design | 具体设计 | 20 | 25 |
Coding | 具体编码 | 30 | 45 |
Code Review | 代码复审 | 5 | 5 |
Test | 测试(自我测试,修改代码,提交修改) | 10 | 10 |
Reporting | 报告 | 20 | 10 |
Test Repor | 测试报告 | 10 | 10 |
Size Measurement | 计算工作量 | 15 | 15 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 10 | 10 |
合计 | 310 | 380 |
使用说明
从命令行参数给出:python main.py [原文文件绝对路径] [抄袭版论文的文件绝对路径] [答案文件绝对路径]
重点模块
1. 读取文件:用UTF-8格式读取文件内容;异常处理:读取失败则报错退出
2. 错误排除:读取失败,读取文本为空,路径错误时均有退出报错功能
3.文件预处理:去除常用,无需计入查重的惯用词
4.计算查重度:
- 特征转换:将两文本合并拟合生成TF-IDF矩阵
- 相似度计算:使用余弦相似度比较两个向量
5.主函数:
1.参数校验:必须传入3个参数(原文路径、抄袭文件模式、输出路径)
2.原文处理:读取原文并预处理为标准格式
3.文件匹配:
•直接路径:检查是否为有效文件
4.遍历处理:
•读取抄袭文件 → 预处理 → 计算相似度 → 记录结果
5.结果写入:按文件名:评分格式输出到文件
性能分析
性能分析图
单元测试覆盖率