猫史档案馆


【py大事件】余弦定理与空间向量图

用户:四九圣尊四九圣尊查看:0 回复:2 评论:0 创建时间:2017-11-10T23:42:38


我成功的做出了一款以这两个为基础的文本相似度对比程序。

感谢jieba库,感谢猫老祖对jieba的教学。

其余均为100%自主研发,献上代码:

import jieba #一段区分 word = input("输入") cutt = jieba.lcut(word) print(cutt) #二段区分 word2 = input("输入") cut2 = jieba.lcut(word2) copy_cut2 = jieba.lcut(word2) #合并 b = len(cutt) for i in range(b): copy_cut2.append(cutt[i]) words = list(set(copy_cut2)) #生成向量 xiangliang1 = [] xiangliang2 = [] #第一阶段向量图 aa = len(words) a = len(cutt) bbc = len(cut2) for i in range(aa): number = 0 for aaa in range(a): if cutt[aaa] == words[i]: number = number+1 xiangliang1.insert(i,number) #第二阶段向量图 for i in range(aa): number = 0 for aaa in range(bbc): if cut2[aaa] == words[i]: number = number+1 xiangliang2.insert(i,number) #分析结果 print("第一段分词:" + str(cutt)) print("第二段分词:" + str(cut2)) print("整合分词:" + str(words)) print("第一阶段向量:" + str(xiangliang1)) print("第二阶段向量:" + str(xiangliang2)) shang = 0 chengci = len(xiangliang1) for i in range(chengci): shu1 = xiangliang1[i] shu2 = xiangliang2[i] shang = shang + shu1 * shu2 xia1 = 0 xia2 = 0 for i in range(chengci): xia1 = xia1 + int(xiangliang1[i]) ** 2 xia2 = xia2 + int(xiangliang2[i]) ** 2 xia1 = xia1 ** 0.5 xia2 = xia2 ** 0.5 xiaa = xia1 * xia2 print("文本相似度为:" + str((shang / xiaa) * 100))

有不懂的可以问我,我太感动了,一晚上的努力没有白费!终于可以不用来因斯坦库了。现在我也在自主研发出来了!



回复

上一页1 页 / 共 1下一页
四九圣尊四九圣尊



点赞0


评论


四九圣尊四九圣尊

这周的大事件程序比较简单,但是很有用

点赞0


评论