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

个人项目

时间:2024-03-14 13:24:11浏览次数:17  
标签:getSimHash 20 个人 项目 30 simhash2 Test SimHash

我的Gitcode地址

这个作业属于哪个课程 <软件工程2024>
这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering2024/homework/13136
这个作业的目标 <设计一个论文查重算法>
PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 20 30
· Estimate · 估计这个任务需要多少时间 20 920
Development 开发 660 900
· Analysis · 需求分析 (包括学习新技术) 100 150
· Design Spec · 生成设计文档 20 30
· Design Review · 设计复审 10 10
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 20 20
· Design · 具体设计 30 30
· Coding · 具体编码 420 600
· Code Review · 代码复审 30 30
· Test · 测试(自我测试,修改代码,提交修改) 30 50
Reporting 报告 60 60
· Test Repor · 测试报告 20 25
· Size Measurement · 计算工作量 20 15
· Postmortem & Process Improvement Plan · 事后总结, 并提出过程改进计划 20 20
· 合计 720 960

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

本项目中使用的核心算法为simhash计算文本相似度

主要的类

  • Main: 主流程的类
  • ReadTxt:读入文本写入答案的类
  • SimHash:计算SimHash 值的类
  • Calculation:最终计算相似度的类

计算模块接口部分的性能改进

通过JProfiler分析得到性能图:

计算模块部分单元测试展示。

测试SimHash和Calculation类

import org.junit.jupiter.api.Test;

public class test{
    @Test
    public void test(){
        String str1=" 我比现在年轻十岁的时候,获得了一个游手好闲的职业,去乡间收集民间歌谣。那一年的整个夏天,我如同一只乱飞的麻雀,游荡在知了和阳光充斥的村舍田野。我喜欢喝农民那种带有苦味的茶水,他们的茶桶就放在田埂的树下,我毫无顾忌地拿起漆满茶垢的茶碗舀水喝,还把自己的水壶灌满,与田里干活的男人说上几句废话,在姑娘因我而起的窃窃私笑里扬长而去。";
        String str2="  我比渺现在年轻十岁的时候,件获得了一个游手好闲的职业,去乡间筛收集民间歌洽谣胰。那一服年倍的整个夏天,我畴如同一危只乱焊飞的爷麻雀,游荡奔在知寡了氮和阳光充斥的村舍田野。扭我喜欢喝岗农民眷那睁种矗带有苦味急的茶水,他状们泅的茶桶我就游放在田埂拜的姑树下,我毫无挺顾钨忌地拿起漆飘满茶垢的巢茶碗舀水喝,还捉把猎自己的水壶灌满,与田里犹干活的男人说迹上咋几句废话,在凋姑娘讳因我肘而起的窃窃私笑里扬长而去濒。";
        String simhash1=SimHash.getSimHash(str1);
        String simhash2=SimHash.getSimHash(str2);
        System.out.println(Calculation.getSimilarity(simhash1,simhash2));
        str2=str1;
        simhash1=SimHash.getSimHash(str1);
        simhash2=SimHash.getSimHash(str2);
        System.out.println(Calculation.getSimilarity(simhash1,simhash2));
    }

}

测试结果

计算模块部分异常处理说明

文本过短提示异常

        // 文本长度太短时HanLp无法取得关键字
        try{
            if(str.length() < 100) throw new shortTextException("文本过短!");
        }catch (shortTextException e){
            e.printStackTrace();
            return null;
        }

标签:getSimHash,20,个人,项目,30,simhash2,Test,SimHash
From: https://www.cnblogs.com/jw30018/p/18072642

相关文章

  • 个人项目
    个人项目|这个作业属于哪个课程||https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering2024||--这个作业要求在哪里--|----|--https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering2024/homework/13136--||这个作业的目标||......
  • 小白学习微信小程序的开发流程和项目架构
    微信小程序的开发流程和项目架构可以分为以下几个步骤:准备工作下载并安装微信开发者工具(微信开发者工具是一个集成了编辑器、调试器、自动编译等功能的开发工具,用于开发和调试小程序)。注册微信开放平台账号,并创建一个小程序。创建小程序项目打开微信开发者工具,点击......
  • 个人项目
    这个作业属于哪个课程软工4班这个给作业要求在哪里作业的要求这个作业的目标实现论文查重一、GitHub链接https://github.com/weilong181/weilong181二、PSP表格PSP2.1PersonalSoftwareProcessStages预估耗时(分钟)实际耗时(分钟)Planning计划60......
  • 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)房屋......