论文查重(基于余弦相似和Sim-Hash)
个人项目
PSP表
*PSP2.1* | *Personal Software Process Stages* | *预估耗时(分钟)* | *实际耗时(分钟)* |
---|---|---|---|
Planning | 计划 | 20 | 17 |
· Estimate | · 估计这个任务需要多少时间 | 120 | 70 |
Development | 开发 | 240 | 240 |
· Analysis | · 需求分析 (包括学习新技术) | 300 | 200 |
· Design Spec | · 生成设计文档 | 30 | 15 |
· Design Review | · 设计复审 | 30 | 60 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 60 | 20 |
· Design | · 具体设计 | 30 | 30 |
· Coding | · 具体编码 | 180 | 120 |
· Code Review | · 代码复审 | 120 | 240 |
· Test | · 测试(自我测试,修改代码,提交修改) | 60 | 120 |
Reporting | 报告 | 60 | 60 |
· Test Repor | · 测试报告 | 60 | 40 |
· Size Measurement | · 计算工作量 | 30 | 30 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 30 | 120 |
· 合计 | 1370 | 1382 |
GitHub
计算模块接口的设计与实现过程
本程序采用了三种算法来实现论文对照查重
1.余弦相似
2.Sim-hash
3.Jaccard算法
关键函数是:
filePreprocessing()
文件预处理函数 接收一个文件路径 返回经过预处理的字符串getSimilarity()
求相似度jieBaSegmentation()
分词统计
计算模块接口部分的性能改进
使用多线程加速程序运行
采用缓冲区读入文件
计算模块部分单元测试展示
部分测试代码截图
覆盖率
计算模块部分异常处理说明
当遇到异常时,统一往上级调用函数抛出,最后中断程序,返回异常原因。
本文作者:昼阳Helios
本文链接:https://www.cnblogs.com/Q316/p/17710244.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步