第一次个人编程作业

发布时间:2022-07-05 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了第一次个人编程作业脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
这个作业属于哪个课程 信安1912
这个作业要求在哪里
作业要求
这个作业的目标
利用GIT管理项目+PSP表格规划+查重算法设计+代码性能分析+单元测试

目录
  • 1. Github 链接
  • 2. 计算模块接口的设计与实现过程
    • 2.1 实现思路
    • 2.2 余弦相似度计算原理:
  • 3. 计算模块接口部分的性能改进
  • 4. 计算模块部分单元测试展示
  • 5. 计算模块部分异常处理说明
  • 6.PSP表格

1. Github 链接

Github:仓库链接

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

2.1 实现思路

第一次个人编程作业

思路:

  1. 读文档:读入文档。
  2. 数据清洗:清除标点符号,正则表达式不太会,所以直接用字符简单粗暴,学会之后优化更改。
  3. 文本分词:jieba库分词。
  4. 词频计算:计算每个词的频率
  5. 余弦相似度计算:利用两个词频向量直接计算余弦值。

用到的库:

  1. jieba分词
  2. numpy规范矩阵以及余弦值计算
  3. time计算运行时间

2.2 余弦相似度计算原理:

【举一个例子,来说明余弦计算文本相似度】

举一个例子来说明,用上述理论计算文本的相似性。为了简单起见,先从句子着手。

句子A:这只皮靴号码大了。那只号码合适

句子B:这只皮靴号码不小,那只更合适

怎样计算上面两句话的相似程度?

基本思路是:如果这两句话的用词越相似,它们的内容就应该越相似。因此,可以从词频入手,计算它们的相似程度。

第一步,分词。

句子A:这只/皮靴/号码/大了。那只/号码/合适。

句子B:这只/皮靴/号码/不/小,那只/更/合适。

第二步,列出所有的词。

这只,皮靴,号码,大了。那只,合适,不,小,很

第三步,计算词频。

句子A:这只1,皮靴1,号码2,大了1。那只1,合适1,不0,小0,更0

句子B:这只1,皮靴1,号码1,大了0。那只1,合适1,不1,小1,更1

第四步,写出词频向量。

  句子A:(1,1,2,1,1,1,0,0,0)

  句子B:(1,1,1,0,1,1,1,1,1)

到这里,问题就变成了如何计算这两个向量的相似程度。我们可以把它们想象成空间中的两条线段,都是从原点([0, 0, ...])出发,指向不同的方向。两条线段之间形成一个夹角,如果夹角为0度,意味着方向相同、线段重合,这是表示两个向量代表的文本完全相等;如果夹角为90度,意味着形成直角,方向完全不相似;如果夹角为180度,意味着方向正好相反。因此,我们可以通过夹角的大小,来判断向量的相似程度。夹角越小,就代表越相似。

第一次个人编程作业

参考博客

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

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

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

6.PSP表格

PSP2.1 PErsonal Software PRocess Stages 预估耗时(分钟) 实际耗时
Planning@H_512_165@ 计划 20 30
- EstiMATE - 估计这个任务需要多少时间 20 30
Development 开发 595 760
- Analysis 需求分析(包括学习新技 30 200
- Design Spec 生成设计文档 5 15
- Design review 设计复审 5 10
- Coding Standard 代码规范(为目前的开发制定合适的规范) 15 5
- Design 具体设计 120 30
- Coding 具体编码 180 260
- Code Review 代码复审 120 120
- test 测试 120 120
Reporting 报告 110 165
- Test Repor 测试报告 30 60
- Size Measurement 计算工作量 20 10
- Postmortem & Process Improvement Plan 事后总结,并提出过程改进计划 60 95
合计 725 955

脚本宝典总结

以上是脚本宝典为你收集整理的第一次个人编程作业全部内容,希望文章能够帮你解决第一次个人编程作业所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。