首页 > 其他分享 >论文查重

论文查重

时间:2024-03-14 14:13:09浏览次数:15  
标签:查重 文件 20 读取 10 代码 论文

论文查重算法

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering2024
这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering2024/homework/13136
这个作业的目标 开发个人项目

githubhttps://github.com/0turnsole0/0turnsole0/tree/main/3122004702-task1

PSP表格

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

设计与实现
Check完成论文查重功能

  • mian函数为主要的执行函数
  • generateWordsFrequency用来生成单词频率映射
  • calculateSimilarity用来计算相似度
  • writeToFile用来将结果写入文件

CheckTest用于单元测试

性能改进
这个进行优化或可能存在性能不足的地方有以下几点:

  1. 读取文件操作:程序中使用的文件读取操作是同步的,也就是阻塞的。如果读取大文件,这可能会导致程序在等待操作完成时无法进行其他任务。为此,可以将文件读取操作改为异步的,例如使用Java NIO(非阻塞I/O)库。
  2. 计算相似度:在计算文件的单词频率向量大小时,程序对每个文件都进行了完全独立的计算。这在文件数量增加、复杂性增加时可能会成为性能瓶颈。可以考虑使用并行处理方法,如Java流(Java 8 及以后)中并行流的使用,让计算任务在多核心的机器上并行执行,从而提高性能。
  3. 错误处理:当前的错误处理方式只是简单的输出堆栈信息。这并不是一个很好的做法,可能需要更复杂的错误处理和恢复策略。对于文件操作,应当处理各种可能的异常,例如文件未找到、无法读取、无法写入等等。对于其他可能的异常(如算法异常、类型转换异常、资源耗尽等),也应当有相应的处理方式。
  4. 代码重用和模块化:代码中有几个重复的代码块,例如读取文件和处理IO异常的部分。这些部分可以被重构为单独的方法,以增强代码的重用性和可读性。
  5. 对于HashMap,在并发环境下可能会存在线程安全的问题。如果需要提供线程安全性,可以考虑使用并发集合类,比如ConcurrentHashMap。

单元测试
测试函数,主要针对论文查重的三个方法进行测试



单元测试使用的工具是Junit,需要导入相关的依赖

覆盖率

异常处理
检查输入的文件数量是否正常

标签:查重,文件,20,读取,10,代码,论文
From: https://www.cnblogs.com/0turnsole0/p/18072712

相关文章

  • 简单查重系统
    作业要求作业所属班级软件工程2024链接作业要求作业要求链接作业目标设计一个论文查重算法,给出一个原文文件和一个在这份原文上经过了增删改的抄袭版论文的文件,在答案文件中输出其重复率。PSPPSP2.1PersonalSoftwareProcessStages预估耗时(分钟)实际......
  • 基于Django(python+sql)的校园二手交易系统设计与实现(完整程序+开题报告+论文)
    摘要        随着互联网的迅猛发展,校园内的二手交易市场也逐渐呈现出蓬勃的发展态势。学生们在校园生活中会产生大量的闲置物品,而其他学生也有可能需要这些物品。本论文研究了校园二手交易系统的需求分析、系统实现和测试三个部分,旨在提高校园二手交易系统的开发和测......
  • 【图像拼接/视频拼接】论文精读:Eliminating Warping Shakes for Unsupervised Online
    第一次来请先看这篇文章:【图像拼接(ImageStitching)】关于【图像拼接论文精读】专栏的相关说明,包含专栏使用说明、创新思路分享等(不定期更新)图像拼接系列相关论文精读SeamCarvingforContent-AwareImageResizingAs-Rigid-As-PossibleShapeManipulationAdaptiveAs......
  • 个人项目:论文查重
    这个作业属于哪个课程软件工程2024这个作业要求在哪里个人项目这个作业的目标了解软件项目开发的整体流程,实现自己的个人项目,学习单元测试、性能优化和git操作,学会使用PSP表格 Github地址:点击此处,进入我的仓库一、项目需求题目:论文查重设计一个论文......
  • 论文查重算法
    论文查重算法这个作业属于哪个课程https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering2024这个作业要求在哪里https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering2024/homework/13136这个作业的目标开发个人项目github:https://github.com/hhuang......
  • 【ICCV2023】MOT论文阅读笔记:MeMOTR: Long-Term Memory-Augmented Transformer for Mu
    文章目录......
  • 【转载】学术科研无从下手?27 条机器学习避坑指南,让你的论文发表少走弯路
    原作者链接:https://blog.csdn.net/HyperAI/article/details/128866164 内容一览:如果你刚接触机器学习不久,并且未来希望在该领域开展学术研究,那么这份为你量身打造的「避坑指南」可千万不要错过了。关键词:机器学习科研规范学术研究机器学习学术小白,如何优雅避坑坑、让自己的......
  • Adaptive Diffusion in Graph Neural Networks论文阅读笔记
    AdaptiveDiffusioninGraphNeuralNetworks论文阅读笔记Abstract​ 最近提出了图扩散卷积(GDC),利用广义图扩散来扩展传播邻域。然而,GDC中的邻域大小是通过在验证集上进行网格搜索来手动对每个图进行调整的,这使得其泛化实际上受到了限制。为了解决这个问题,我们提出了自适应扩散......
  • 清风数学建模论文写作方法学习笔记
    标题对论文题目的要求是:简短精炼、高度概括、准确得体、恰如其分。既要准确表达论文内容,恰当反映所研究的范围和深度;又要尽可能概括、精炼,力求题目的字数少。论文题目的字数一般不要超过20个字。不过,当希望题目字数少与恰当反映论文内容两者发生矛盾时,宁可多用几个字也要力......
  • ApeGNN: Node-Wise Adaptive Aggregation in GNNs for Recommendation论文阅读笔记
    Abstract​ 说明现有的问题:现有的gnn平等地对待用户和项目,不能区分每个节点的不同局部模式,这使得它们在推荐场景中并不理想。​ 提出本文的工作:为了解决这一挑战,我们提出了一个节点级自适应图神经网络框架ApeGNN。ApeGNN开发了一种用于信息聚合的节点级自适应融合机制,使每个节点......