第一次个人编程作业
第一次个人编程作业:论文查重
GitHub链接:https://github.com/biqingl/031802116
一、计算模块借口的设计与实现过程
流程图:
TF-IDF算法:
TF-IDF的主要思想是:如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。
1)计算词频TF(term frequency):表示一个词语与一篇文章的相关性
TF=该词在一篇文章中出现的次数/文章的总词数
2)计算逆文档频率IDF(inverse document frequency):表示一个词语的出现的普遍程度。
IDF=log(总文章数/出现该词语的文章数)
3)计算文章中某个词语的重要程度,即词频和逆向文件词频的乘积TF-IDF。
TF-IDF = TF * IDF
实现过程:
1)jieba分词;
句子A:我/喜欢/看/电视,不/喜欢/看/电影。
句子B:我/不/喜欢/看/电视,也/不/喜欢/看/电影。
2)使用TF-IDF算法,取出若干个关键词,合并成一个集合;
我,喜欢,看,电视,电影,不,也。
3)计算每篇文章对于这个集合中的词的词频;
句子A:我 1,喜欢 2,看 2,电视 1,电影 1,不 1,也 0。
句子B:我 1,喜欢 2,看 2,电视 1,电影 1,不 2,也 1。
4)生成两篇文章各自的词频向量;
句子A:[1, 2, 2, 1, 1, 1, 0]
句子B:[1, 2, 2, 1, 1, 2, 1]
5)计算两个向量的余弦相似度,值越大就表示越相似;
![](https://img2020.cnblogs.com/blog/2145989/202009/2145989-20200917143815438-265639026.png
二、计算模块部分单元测试
四、PSP表格
五、总结
此次作业让我清楚的认识到了,,建构框架与单纯写和算法和代码和代码不是一个级别的,为了了解性能分析测试与GitHub用法等,疯狂看博客,各种百度,但是不懂的东西太多了,最后也没做出来,汗颜。。清楚得认识到了自己与别人的差距,,总之此次作业对我来说有难度。。