个人项目
| 这个作业属于哪个课程 | 网工1934-软件工程 |
|---|---|
| 这个作业要求在哪里 | 作业要求 |
| 这个作业的目标 | 设计一个论文查重算法,给出一个原文文件和一个在这份原文上经过了增删改的抄袭版论文的文件,在答案文件中输出其重复率。 |
| GitHub链接 |
一、PSP表格
| PSP2.1 | Personal Software Process tages | 预估耗时(分钟) | 实际耗时(分钟) |
|---|---|---|---|
| Planning | 计划 | 40 | 30 |
| · Estimate | ·估计这个任务需要多少时间 | 15 | 10 |
| Development | 开发 | 240 | 200 |
| · Analysis | · 需求分析 (包括学习新技术) | 300 | 300 |
| · Design Spec | · 生成设计文档 | 20 | 60 |
| · Design Review | · 设计复审 | 30 | 30 |
| · Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 30 | 10 |
| · Design | · 具体设计 | 120 | 60 |
| · Coding | · 具体编码 | 240 | 200 |
| · Code Review | · 代码复审 | 60 | 30 |
| · Test | · 测试(自我测试,修改代码,提交修改) | 60 | 90 |
| Reporting | 报告 | 60 | 90 |
| · Test Repor | · 测试报告 | 30 | 30 |
| · Size Measurement | · 计算工作量 | 10 | 10 |
| · Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 110 | 50 |
| · 合计 | 1375 | 1150 |
二、计算模块接口的设计与实现过程
1.文件结构

2.设计思路
1从关键文档中读取当中的文本内容
2使用 jieba算法对文本的内容进行分词
3接下来计算每个文本的词频和逆文本频率
4最后通过余弦向量来计算得出文本相似度
3.实现过程

三、计算模块部分单元测试展示
单元测试代码

测试分词函数:先随意输入一段文本,此函数会将文本的内容进行划分,并提取出关键的词汇。

测试词频函数:将分词后的数据传入该函数,计算出该关键词的词频。

测试主函数:获取两个文本后都进行分词,然后计算关键词的词频,再计算tf-idf,最后得出词向量从而获取文本相似度。

测试抄袭文本

功能展示




单元测试覆盖率

四、计算模块接口部分的性能改进
性能测试


五、计算模块部分异常处理说明


论文路径出错:要求重新输入

论文为空


浙公网安备 33010602011771号