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

个人项目

时间:2024-03-13 17:55:05浏览次数:18  
标签:20 https 个人 项目 30 计算 SimHash com

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering2024/
这个作业要求在哪里 https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering2024/homework/13136
这个作业的目标 了解项目开发的过程,学习github的使用方法

GitHub链接:https://github.com/sunwu12/3122004579

P2P表格

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

程序与实现

程序采用的主要算法是SimHash原理
主要分为3个功能
1、文件的读入与写出
2、分词得到hash值并计算SimHash值
3、利用SimHash值得到海明距离并计算出相似度
算法的优点:文本处理速率快,计算后的指纹能够存储于数据库,因此对海量文本相似判定非常适合。
算法的缺点:由于短文本的用于哈希计算的数据源较少,因此短文本相似度识别率低。

算法原理

https://www.cnblogs.com/xujunkai/p/12038649.html

结构

接口设计

说明:计算相似度的模块需要调用计算海明距离的模块
计算SimHash值的模块需要调用将分好的词转换为hash的模块

覆盖率

内存检测

程序中函数的消耗

其中开销最多的函数是因其多次使用了String toString(),将StringBuilder类型转换为string类型
采用了将读入字节信息转换为字符流来提高性能
并通过BufferedReader类的缓存机制,可以在读取文本数据时,提高读取效率

部分单元测试

在该单元测试中,调用了原文档与添加了部分内容的文档,并计算出它们的相似度

测试结果

综合测试直接在终端中输入原文文件绝对路径,其他文件绝对路径,输出文件绝对路径

异常处理

说明:当文本过短时,未处理
当写入的目标文档路径错误时,报错

标签:20,https,个人,项目,30,计算,SimHash,com
From: https://www.cnblogs.com/130L/p/18070430

相关文章

  • 【分享】记一次项目迁移(docker java | docker python)
    项目:前端Vue3,后端Python+Java,数据库Redis+MySQL原先部署在centos7里面的,使用的宝塔面板部署的,还算方便。但是服务器要到期了,要将项目迁移到另外一台服务器。另外一台服务器是opencloudos+1plane本来想构建一个jdk1.8+python3.12+Nodejs环境的镜像奈何本人没学过docker,操作起......
  • 项目示例 - 3.服务网关 - 3.Gateway
    项目示例-3.服务网关-3.Gateway关联知识:分布式微服务-3.服务网关-4.Gateway内容提要:基本使用自定义断言自定义局部、全局过滤器基本使用建Module:微服务起名为gateway-server改pom:引入以下依赖<dependencies><!--gateway--><dependency......
  • mac 本地搭建Larval + node 项目
    一、服务端+前段代码 二、安装环境2.1开发环境版本准备PHP7.4.3MySQL5.7.37node14.17.6npm6.14.11cnpm6.1.1 2.2.1mac本地安装brew工具/bin/bash-c"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"2.2.2brew安装p......
  • IDEA中Mavan项目导入,点刷新也没反应
    当在IDEA中导入Maven项目,进入pom.xml文件中点击刷新,项目依然没有反应解决办法,大家可以选择下面其中之一进行尝试第一:尝试点击IDEA右侧的Maven,然后再点击reloadallmaven第二:删除IDEA的缓存,重启IDEA......
  • 新建vite + bootstrap 5 项目
    1.新建vite项目,直接按照官方教程,新建一个vite+typescript的项目就可,它默认就是vue的; 2.项目创建好之后,开始添加bootstrap的相关模块:其实bootstrap的官网上面也有关于vite的集成:Bootstrap&Vite·Bootstrapv5.2(getbootstrap.com)在之前的步骤都已经完成的前提......
  • AI应用开发之路-准备:发起第2个开源小项目 SemanticKernel.DashScope
    上周我们发布了与AI应用开发相关的第1个开源小项目——DashScopeSDKfor.NET,今天我们再发布一个开源小项目——SemanticKernel.DashScope,今天这个项目才是主角,因为我们想基于SemanticKernel开发大模型应用。首先分享几个与SemanticKernel与DashScope相关的消息:Ja......
  • yii2项目连接多个数据库
    web.php配置,引入或者直接设置db我的是引入$db=require__DIR__.'/db.php';components下设置'db'=>$db['db'],'db2'=>$db['db2'], db.php文件,设置成自己的数据库配置<?phpreturn['db'=>[......
  • 某电信公司组织结构优化咨询项目成功案例纪实
    ——构建前后端组织结构,提升组织运营效率随着企业的不断发展,行业的竞争也越来越激烈,企业只能不断调整自身的战略才能更好的适应这样的大环境。在战略调整的过程中,企业往往会面临这样的问题:管理层的经营理念各不相同很难形成一致性的公司总体战略目标、管理成本居高不下、组织......
  • 【人力资源开发】某主题公园人力资源开发管理咨询项目纪实
    虽然很多企业将“人事部”改为“人力资源部”,但是企业的人力资源管理水平却仍停留在“人事管理”的阶段。该主题公园也是如此。随着公园的不断发展,其人力资源管理问题逐渐显露,而管理者也不清楚问题的根源在哪里,只能采取“头疼医头、脚痛医脚”的策略,久而久之,问题还是层出不穷,严......
  • 项目分享|基于ELF 1开发板的远程监测及人脸识别项目
    今天非常荣幸地向各位小伙伴分享一个由共创社成员完成的远程监测及人脸识别项目,该项目依托ELF1开发板为核心硬件平台,构建了一套完整的视频监控系统,并在此基础上集成了人脸识别功能。接下来,就为各位小伙伴详尽展示这一项目的相关细节。项目实现步骤1.视频监控这一步骤中需......