即使没有月亮,心中也是一片皎洁!|

昼阳Helios

园龄:1年6个月粉丝:0关注:0

论文查重(基于余弦相似和Sim-Hash)

个人项目

这个作业属于哪个课程 计科21级2班
这个作业要求在哪里 个人项目
这个作业的目标 熟悉单人开发软件整体流程

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 中国大陆许可协议进行许可。

posted @   昼阳Helios  阅读(29)  评论(0编辑  收藏  举报
   
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起