第一次个人编程作业

所属课程 软件工程导论
作业要求 个人项目
作业目标 学会github的使用,熟悉markdown格式,熟悉个人开发流程,了解项目单元测试

github地址: https://github.com/agentdong/3121005000

一、PSP表格

PSP2.1 PSP2.1 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 20 30
·Estimate 估计这个任务需要多少时间 20 30
Development 开发 410 490
·Analysis 需求分析 (包括学习新技术) 60 90
·Design Spec 生成设计文档 30 40
·Design Review 设计复审 20 30
·Coding Standard 代码规范 (为目前的开发制定合适的规范) 10 30
·Design 具体设计 60 30
·Coding 具体编码 180 210
·Code Review 代码复审 30 40
·Test 测试(自我测试,修改代码,提交修改) 20 20
Reporting 报告 30 30
·Test Repor 测试报告 10 10
·Size Measurement 计算工作量 10 10
·Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 10 10
合计 460 550

二、需求分析

设计一个查重算法,计算两篇文档的重复率。

三、设计文档

3.1 查重算法

  • 先将待处理的数据(中文文章)进行分词,得到一个存储若干个词汇的列表
  • 接着计算并记录出列表中词汇对应出现的次数,将这些次数列出来得到了一个向量
  • 将两个数据对应的向量代入夹角余弦定理
  • 计算的值意义为两向量的偏移度,即两个数据的相似度

3.2 实现思路

先从本地读取两篇比较文章,然后将读取到的文件内容先进行jieba分词,然后再把标点符号、转义符号等特殊符号过滤掉,最后通过调用gensim.similarities.Similarity计算余弦相似度

3.3接口及功能说明

接口 说明
get_file_contents 读取路径下的文件
filter 将文件分词,并过滤标点符号
calc_similarity 计算相似度

四、测试报告

性能测试

测试结果

文件 相似度
orig_0.8_add 0.9917
orig_0.8_del 0.5539
orig_0.8_dis_1 0.6396
orig_0.8_dis_10 0.6390
orig_0.8_dis_15 0.6371

结果截图:

posted @ 2023-09-17 22:25  lhd东  阅读(26)  评论(0)    收藏  举报