这个作业属于哪个课程 | 2023软件工程—双学位 |
---|---|
这个作业要求在哪里 | 个人项目作业-论文查重 |
这个作业目标 | 写一个论文查重程序 |
其他参考文献 | python获取命令行参数方法 git教程 等 |
1.Gitcode仓库链接
gitcode:https://gitcode.net/weixin_60699079/3120001847
2.PSP表格
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 60 | 55 |
Estimate | 估计这个任务需要多少时间 | 660 | 1087 |
Development | 开发 | 60 | 139 |
Analysis | 需求分析 (包括学习新技术) | 60 | 124 |
Design Spec | 生成设计文档 | 30 | 52 |
Design Review | 设计复审 | 30 | 15 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 30 | 65 |
Design | 具体设计 | 60 | 33 |
Coding | 具体编码 | 60 | 243 |
Code Review | 代码复审 | 60 | 75 |
Test | 测试(自我测试,修改代码,提交修改) | 60 | 127 |
Reporting | 报告 | 30 | 24 |
Test Repor | 测试报告 | 30 | 36 |
Size Measurement | 计算工作量 | 30 | 53 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 60 | 46 |
合计 | 660 | 1087 |
3.计算模块接口的设计与实现过程
3.1jieba.cut
jeiba是优秀的中文分词第三分库
jieba分词有三种模式:精确模式,全模式,搜索引擎模式
精确模式:将文本精确切分开,不存在冗余单词
全模式:把文本多有可能的词语都扫描出来,有冗余
搜索引擎模式:在精确模式基础上,对长词进行再次切分
原文链接:https://blog.csdn.net/m0_55679583/article/details/124108024
代码:
利用jieba.lcut函数对文章进行了分词
3.2gensim.similarities.Similarity
代码:
利用函数对相似度进行了计算
3.3Python获取命令行参数的方法
sys 模块是一个非常常用且十分重要的模块,通过模块中的 sys.argv 就可以访问到所有的命令行参数,它的返回值是包含所有命令行参数的列表(list),
代码:
利用sys模块对命令行中的参数进行读取并,赋值给path
4.计算模块接口部分性能改进
利用pycharm中自带的profile进行的性能分析
4.1各部分花费时间
4.2流程图
5.计算模块部分单元测试
在作业要求中提到:
Python: python main.py [原文文件] [抄袭版论文的文件] [答案文件]
python要以这种形式进行测试,所以进行了以下测试
6.计算模块部分异常处理
在编程中遇到了以下问题:未定义参数。
再修改后,得出以下结论:main中参数不能直接引用def中参数,需要进行全局定义。
反思:这是第一次做一个完整的项目,其中很多代码都是对网上现有代码进行的引用,如sys的命令行参数的引用。
标签:查重,30,命令行,个人,代码,论文,60,参数,模块 From: https://www.cnblogs.com/Chirace/p/17216874.html