java 向量相似度计算 tf-idf_利用tfidf计算文本相似度

利用TF-IDF及余弦公式处理文本相似性的计算

https://www.jianshu.com/p/68b0b3126e8c

2018.03.18 21:36* 字数 967 阅读 171评论 0喜欢 4

1 思路

要计算相似性,首先将文本转换成可计算的数。

比较简单的一种方式是把所有文章中的词作为坐标,在一篇文章上,对应词的词频作为在该坐标上的值,即可将一篇文章按词频转换成词向量——有了向量,相似性就好算了:距离公式、余弦都可以直接用。

更进一步:词频作权重过于简单,TF-IDF更有代表性。使用TF-IDF相当于考虑了词的重要性,计算出的相似性效果有使用价值了。

后续:要更精确,就需要考虑词与词之间相对位置的影响,涉及语义模型了,本篇暂不涉及。

2 处理过程

前置过程:已爬取约100篇文本存入MongoDB中,通过访问数据库直接取用对应文本。

2.1 首先要把文章分词

直接用大名顶顶的jiba分词,并使用哈工大停用词表+部分手工整理的停用词进行无效词剔除。

最终:将每篇文章转换成一个有分割符的词列(str),把词列并至一个list变量中输出待用。

defstopWords():stopwords = []forlineinopen('C:\\Users\\chai\\Documents\\哈工大停用词表.txt'):        stopwords = stopwords + list(line)returnstopwordsdefget_corpus():corpus = []foriteminarticle_content.find().limit(5): 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值