首页 > 其他分享 >个人项目

个人项目

时间:2024-03-14 12:55:43浏览次数:16  
标签:10 15 String 个人 项目 20 文本 分词

这个作业属于哪个课程 软工4班
这个给作业要求在哪里 作业的要求
这个作业的目标 实现论文查重

一、GitHub链接

https://github.com/weilong181/weilong181

二、PSP表格

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

三、接口设计及实现过程

SimhashDuplicateDetector 类:

  • 功能:这个类是一个用于检测文本重复的工具。它使用 Simhash 算法来生成文本的 Simhash 值,并计算两个文本之间的相似度。它还提供了方法来读取文件内容、计算文本相似度,并将结果写入文件。

  • 方法和属性:tokenizer: 一个分词器对象,用于将文本分词。

  • calculateSimhash(String text): 计算给定文本的 Simhash 值。

  • hammingDistance(long hash1, long hash2): 计算两个 Simhash 值之间的 Hamming 距离。

  • calculateDuplicateRate(String text1, String text2): 计算两个文本之间的重复率。

  • main(String[] args): 主方法,用于执行重复检测并将结果输出到文件。

  • readFileContent(String filePath): 从文件中读取文本内容。

  • writeToFile(String filePath, String content): 将内容写入文件。

Tokenizer 类:

  • 功能:这个类是一个简单的分词器,用于将文本分成单词或者词语。在示例中,它只是简单地根据空格进行分词,但在实际应用中,可能会使用更复杂的分词算法。
  • 方法和属性:tokenize(String text): 将给定的文本按照空格进行分词,并返回分词后的结果数组。

MurmurHash类

  • 用于计算字符串的 hash 值。

四、性能图

五、单元测试

test1~test5依次为orig文件与add,del,del_1,del_10,del_15进行

  • test1

  • test2

  • test3

  • test4

  • test5

六、异常说明

输入文件不存在时:

标签:10,15,String,个人,项目,20,文本,分词
From: https://www.cnblogs.com/dwl888/p/18071928

相关文章

  • YOLOv9改进策略 | 代码逐行解析(一)| 项目目录构造分析
    一、本文介绍本文给家带来的是YOLOv9系列的代码逐行解析,对于一个新发布的项目来说,我们首先需要做的就是去了解它的项目结构,然后再去了解其代码(例如代码从训练文件开始->yaml文件定义->模型定义->yaml文件解析->模型结构定义->训练->损失计算->反向传播),这一整个流程下来我们如......
  • 个人项目
    这个作业属于哪个课程软件工程2024这个作业要求在哪里个人项目这个作业的目标设计一个论文查重算法,给出一个原文文件和一个在这份原文上经过了增删改的抄袭版论文的文件,在答案文件中输出其重复率。PSP表格PSP2.1PersonalSoftwareProcessStages预估耗时......
  • 2024-03-11-Nodejs(4-大事件项目)
    4.大事件项目4.1项目初始化项目整体架构图大事件项目 |--- db | |---index.js |---router | |---user.js |---router_handler | |---user.js |---schema | |---user.js |---app.js |---config.js4.1.1创建项目新建api_server文件夹作为项目......
  • C语言项目--**客户信息管理系统
    C语言项目–客户信息管理系统实现一个客户信息管理系统,功能包括添加客户、修改客户、删除客户、显示客户列表。1.1需求说明1.1.1主菜单进入系统,展示主菜单,输入各功能对应的数字编号选择要进行的操作,如下图:1.1.2添加客户输入1,进入“添加客户”界面,需要填写姓名、性......
  • 肖sir_搭项目实战之电商_22.1
    一、了解电商(架构组成)https://www.cnblogs.com/xiaolehong/protected/p/17503385.html  二、参考链接电商(用户端、运营端、商家端)https://www.axureshop.com/ys/2266518讲解前端:a、https://www.axureshop.com/ys/2132110电商的前端b、https://www.woshipm.com/ev......
  • 个人项目:论文查重
    这个作业属于哪个课程软件工程2024这个作业要求在哪里个人项目这个作业的目标了解软件项目开发的整体流程,实现自己的个人项目,学习单元测试、性能优化和git操作,学会使用PSP表格 Github地址:点击此处,进入我的仓库一、项目需求题目:论文查重设计一个论文......
  • python基于flask房产中介房屋供求系统django毕业设计项目lw附源码
    本设计要设计一个简单的网页,在研究的过程中具体有以下5个步骤:下面简要分析房产中介系统的业务:(1)注册、登录:注册普通账号登录。(2)用户个人信息修改:登录后可以修改用户的基本信息,也可以退出。(3)用户留言管理:用户填写留言的主题、联系人、电话、邮箱、留言内容。 (4)房屋......
  • django-crontab项目源码阅读
    文章同步首发个人公众号菩提老鹰,欢迎大家订阅一、知识点这边源码阅读分析,可以获得如下知识点1、django-crontab的原理2、django-crontab任务ID如何生产3、django-crontab使用限制很早之前写过关于django-crontab的文章,比如django任务管理之crontabDjango实现c......
  • 界面控件DevExpress ASP.NET Scheduler - 助力快速交付个人信息管理系统(下)
    DevExpressASP.NETScheduler组件能完全复制MicrosoftOutlookScheduler的样式和功能,具有日、周、月和时间轴视图,并包括内置的打印支持,因此用户可以在尽可能短的时间内交付全功能的个人信息管理系统。在上文中(点击这里回顾>>)主要介绍了DevExpressASP.NETScheduler组件的日、......
  • Idea里开发遇到所有项目的所有代码爆红的问题与解决
    问题:不知道自己在Idea上做了什么操作,所有项目的所有代码统统爆红,但是能够正常运行。过程:刚开始以为单个项目出现问题,疯狂搜索,1、清缓存重启2、改变编码格式3、更换jdk但是都无济于事,正当放弃这个项目之时,我打开其他项目,发现所有的项目都爆红,顿时崩溃,一顿搜索。解决:最终发现是......