第一次个人编程作业

GitHub链接

PSP表格

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

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

算法流程图

主要实现思路

采用基于gensim库的TF-IDF算法来实现余弦相似度,通过Similiarity()函数计算出每句话的相似度,根据权重求出整篇文章相似度

关键函数

数据字符处理模块

文本分词处理模块

计算相似度(图太大没截全)

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

使用VS2019的性能分析工具测试该程序

计算模块部分单元测试

部分单元测试代码

测试结果

代码覆盖率


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

定义NoWord类,当文本没有汉字时跳转到这个类并输出

总结

之前没学过用python编程,在接到这次作业之后显得有些手足无措,只能强行恶补python知识并结合搜索引擎一步一步地进行编码以及排错,磕磕绊绊在截止时间之前完成了这次的任务。

posted @ 2020-09-24 23:50  步行鸟  阅读(126)  评论(0编辑  收藏  举报