论文查重
2021/9/20 23:28:09
本文主要是介绍论文查重,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
论文查重
这个作业属于哪个课程 | 计科国际班软工 |
这个作业要求在哪里 | 个人项目 - 作业 - 计科国际班 - 班级博客 - 博客园 (cnblogs.com) |
这个作业的目标 | 论文查重 |
一、作业链接
我的github:guoyongjia/3119009430: homework (github.com)
二、PSP表格
PSP2.1 |
Personal Software Process Stages |
预估耗时(分钟) |
实际耗时(分钟) |
Planning |
计划 |
40 |
40 |
· Estimate |
· 估计这个任务需要多少时间 |
1500 |
1530 |
Development |
开发 |
300 |
280 |
· Analysis |
· 需求分析 (包括学习新技术) |
300 |
320 |
· Design Spec |
· 生成设计文档 |
50 |
40 |
· Design Review |
· 设计复审 |
30 |
40 |
· Coding Standard |
· 代码规范 (为目前的开发制定合适的规范) |
20 |
35 |
· Design |
· 具体设计 |
80 |
80 |
· Coding |
· 具体编码 |
130 |
130 |
· Code Review |
· 代码复审 |
40 |
55 |
· Test |
· 测试(自我测试,修改代码,提交修改) |
100 |
120 |
Reporting |
报告 |
180 |
170 |
· Test Repor |
· 测试报告 |
60 |
50 |
· Size Measurement |
· 计算工作量 |
20 |
20 |
· Postmortem & Process Improvement Plan |
· 事后总结, 并提出过程改进计划 |
30 |
30 |
|
· 合计 |
1500 |
1530 |
三、计算模块接口的设计与实现过程
余弦相似度 (Cosine Similarity)
通过计算两个向量的夹角余弦值来评估他们的相似度。将向量根据坐标值,绘制到向量空间中,求得他们的夹角,并得出夹角对应的余弦值,此余弦值就可以用来表征这两个向量的相似性。夹角越小,余弦值越接近于1,它们的方向越吻合,则越相似。
四、部分代码展示与测试:
#定义一个类
class getText():
def __init__(txts,f11,f22,K=1000):
txts.f1 = f11
txts.f2 = f22
#构造词和权重的关系
def vector(txts):
cut1 = jieba.analyse.extract_tags(txts.f1,topK = txts.topK, withWeight = True)
cut2 = jieba.analyse.extract_tags(txts.f2,topK = txts.topK, withWeight = True)
#构建向量
for key,value in cut1:
txts.vector1[key] = value
for key,value in cut2:
txts.vector2[key] = value
#利用余弦相似的公式计算相似度
def similar(txts):
txts.vector()
txts.delsim()
sum = 0
for key in txts.vector1:
sum += txts.vector1[key]*txts.vector2[key]
a = sqrt(reduce(lambda x,y: x+y, map(lambda x: x*x, txts.vector1.values())))
b = sqrt(reduce(lambda x,y: x+y, map(lambda x: x*x, txts.vector2.values())))
sum = sum/(a*b)
return sum
五、计算模块部分的性能改进
单元测试部分:
测试单元代码:
异常处理
1)文件为空
2)文件不存在
这篇关于论文查重的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解
- 2024-11-23Java对接阿里云智能语音服务入门教程
- 2024-11-23JAVA对接阿里云智能语音服务入门教程
- 2024-11-23Java副业入门:初学者的简单教程
- 2024-11-23JAVA副业入门:初学者的实战指南