软工作业2:Python实现论文查重

news/发布时间2024/5/21 3:24:29

Java实现论文查重

软件工程|https://edu.cnblogs.com/campus/gdgy/CSGrade21-12?page=4
作业要求|https://edu.cnblogs.com/campus/gdgy/CSGrade21-12/homework/13014
作业目标|计一个论文查重算法,给出一个原文文件和一个在这份原文上经过了增删改的抄袭版论文的文件,在答案文件中输出其重复率。
作业目标|学习代码实现论文查重,并学会PSP模式
Github链接|https://github.com/13ugYellow/13ugYellow

PSP2.1

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

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

创建get_file_contents函数获取指定路径的文件内容

创建filter函数将读取到的文件内容先进行jieba分词,然后再把标点符号、转义符号等特殊符号过滤掉

创建calc_similarity函数传入过滤之后的数据,通过调用gensim.similarities.Similarity计算余弦相似度

测试代码

性能测试

内存占用

get_file_contents函数

filter函数

calc_similarity函数

耗时

分析

由结果可知,整个程序耗时约1.33s,其中用来文件查重的余弦算法耗时最长,占用内存最多,花了1.1362s,占用内存159.4MB。可以通过将余弦算法换为simhash算法,提高性能。

模块异常分析

本模块只会在读文件时发生异常,不过由于查重材料是给定的,直接将其绝对路径作为测试素材,故不会出现异常。

导包

最终结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ulsteruni.cn/article/54686340.html

如若内容造成侵权/违法违规/事实不符,请联系编程大学网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

RRRRRc4

moectf{y0u_r3a11y_understand_rc4!!!!}RRRRRc4根据字符串锁定关键的判断语句 f5进入根据伪代码逻辑发现:byte_140196000[j]为加密后的数据,且点击查看数据得到sub_140075052((unsigned int)v5, (unsigned int)v6, (unsigned int)byte_140197260, 38, (__int64)v7, 10);为rc…

​ 合肥先进光源国家重大科技基础设施项目及配套工程启动会纪念

国器西北扩新地,家校又添新区园:合肥先进光源的场地建在现在合肥光源的西北方,依托的家校中科大同时又在新光源周边建了个新校区​ 合肥先进光源国家重大科技基础设施项目及配套工程启动会纪念 卡西莫多合肥长丰岗集里 肥鸭从此别泥塘 先平场地设围栏 进而工地筑基忙 光阴似…

13 模块

1 导入模块 import模块名称[as 别名] from 模块名称 import 函数/变量/类 2 以主程序形式运行 在每个模块的定义中都包括一个记录模块名称的变量 name程序可以检查该变量,以确定他们在哪个模块中执行。 如果一个模块不是被导入到其它程序中执行,那么它可能在解释器的顶级模块…

k8s安装Dashboard出现了 pod 状态为CrashLoopBackOff

1、问题现象2、解决办法 (1) 先看一下pods日志信息 kubectl logs -f -n kubernetes-dashboard kubernetes-dashboard-658485d5c7-h75rs(2) 错误信息: Get "https://10.96.0.1:443/api/v1/namespaces/kubernetes-dashboard/secrets/kubernetes-dashboard-csrf": di…

第一次个人编程作业

作业概述这个作业属于哪个课程 软件工程这个作业要求在哪里 个人项目这个作业的目标 了解项目设计以及工作流程一.Github作业链接 github 二.PSP表格PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)Planning 计划 30 20 Estimate估计这个任务需要…