第一次个人编程作业:论文查重
论文查重
这个作业属于哪个课程 | 软件工程 |
---|---|
这个作业要求在哪里 | 作业要求 |
这个作业目标 | 论文查重 |
1.Github地址 | |
(https://github.com/PharaohAustin?tab=repositories) | |
2.PSP表格 | |
PSP2.1 | Personal Software Process Stages |
--------------------------------------- | -------------------------------- |
Planning | 计划 |
· Estimate | · 估计这个任务需要多少时间 |
Development | 开发 |
· Analysis | · 需求分析 (包括学习新技术) |
· Design Spec | · 生成设计文档 |
· Design Review | · 设计复审 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) |
· Design | · 具体设计 |
· Coding | · 具体编码 |
· Code Review | · 代码复审 |
· Test | · 测试(自我测试,修改代码,提交修改) |
Reporting | 报告 |
· Test Repor | · 测试报告 |
· Size Measurement | · 计算工作量 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 |
· 合计 | |
3.计算模块接口的设计与实现过程 | |
这里用到的是从网上学习的余弦相似度查论文算法【参考文章】(http://www.manongjc.com/article/34134.html) | |
先对句子进行分词,分词后的句子变为向量,再对这些向量进行余弦操作,余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似 | |
4.计算模块接口部分的性能改进 | |
这里放上pycharm自带profile跑的图 | |
想来想去优化需要更好的分词法,但是在网上没学会,只能先这样了 | |
5.计算模块部分单元测试展示 | |
单元测试覆盖率 | |
经测试已覆盖95% | |
6.计算模块部分异常处理说明 | |
空文本测试异常(对输入两篇空文本,求得的向量为零向量就会导致除零异常,所以要进行异常处理) | |
7.总结 | |
PSP表格真的难搞,网上的方法也有很多因为编译器不同而造就的错误 | |
github上传文件和测试搞不会,只能以后慢慢学了 |