ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

个人项目

2021-09-19 14:04:15  阅读:231  来源: 互联网

标签:120 个人 项目 30 余弦 60 Design 分词


软件工程 19网工34
作业要求 作业要求
作业目标 设计论文查重算法,github代码管理,测试代码

github地址

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

文件读写类

文件读写类封装了读入和写出的方法.

分词类

分词类中封装了读取词库的类,以及读取论文中词语的类

获取词向量类

封装了获取词向量的类

计算查重率的类


计算出余弦相似度作为查重率

程序流程

实现逻辑

通过查找网上的资料,查到可以使用余弦相似度来作为查重的依据,主要参考TF-IDF与余弦相似性的应用
利用余弦相似度可以计算两个句子的相似性,同理我们可以类比到整个文章。所以我们需要做的第一步是进行分词,并统计词频。但是这里用的是位置向量分析。主要思路是,每一个词在全文的分布大概是如何的,从宏观上来分析两篇文章的相似度。这里我用到的是hanlp分词。然后遍历存放着词与词频信息的map,计算cos值。最后比对得出答案。

注意

这里有一个点需要注意的是分词之后统计的时候还需要对字符char进行判断,值判断汉字。[\u4e00-\u9fa5]

异常

结果






性能测试


char 和 String 占用了最多的内存 因为遍历论文和比对时创建了很多。

psp

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

标签:120,个人,项目,30,余弦,60,Design,分词
来源: https://www.cnblogs.com/csk1/p/15311419.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有