第一次个人编程作业

| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/gdgy/CSGrade22-34 |

| ----------------- |--------------- |

| 这个作业要求在哪里| https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/homework/13229 |

| 这个作业的目标 | 通过编程实现论文查重并保存在github仓库中,创作博客文章|
github地址:https://github.com/chenlinen/3122004558
题目
题目:论文查重

描述如下:

设计一个论文查重算法,给出一个原文文件和一个在这份原文上经过了增删改的抄袭版论文的文件,在答案文件中输出其重复率。

原文示例:今天是星期天,天气晴,今天晚上我要去看电影。
抄袭版示例:今天是周天,天气晴朗,我晚上要去看电影。
要求输入输出采用文件输入输出,规范如下:

从命令行参数给出:论文原文的文件的绝对路径。
从命令行参数给出:抄袭版论文的文件的绝对路径。
从命令行参数给出:输出的答案文件的绝对路径。
PSP表格

PSP2.1

Personal Software Process Stages

预估耗时(分钟)

实际耗时(分钟)

Planning

计划

 60

 65

· Estimate

· 估计这个任务需要多少时间

 30

 45

Development

开发

 510

 605

· Analysis

· 需求分析 (包括学习新技术)

 60

 75

· Design Spec

· 生成设计文档

 30

 40

· Design Review

· 设计复审

 20

 20

· Coding Standard

· 代码规范 (为目前的开发制定合适的规范)

 20

 30

· Design

· 具体设计

 60

 90

· Coding

· 具体编码

 120

 150

· Code Review

· 代码复审

 30

 25

· Test

· 测试(自我测试,修改代码,提交修改)

 30

 45

Reporting

报告

 45

 40

· Test Repor

· 测试报告

 20

 30

· Size Measurement

· 计算工作量

 30

 20

· Postmortem & Process Improvement Plan

· 事后总结, 并提出过程改进计划

 45

 40

 

· 合计

 750

 860

计算模块接口的设计与实现过程
流程图

模块导入

进行文件内容读取的函数

进行文件内容的读取并处理异常输入

消除掉文本的标点符号,用jieba进行分词处理

调用gensim.similarities.Similarity计算余弦相似度

将结果保存至文件中

性能分析以及代码覆盖率
可以看到,有百分九十的代码覆盖率

异常处理
在输入文件路径时,判断输出路径是否存在

posted @ 2024-09-14 18:20  linchen_611  阅读(5)  评论(0编辑  收藏  举报