tfidf原理及实现

TFIDF原理

TF:单词词频。一个词在文章中出现的频率,公式:tf=词在文章中出现的次数/文章总的词汇数。文章可以是一个句子,也可以是一篇文章,根据具体情况定。

idf:逆文件频率。词在该文章中出现的次数越少,越能够代表该文章。

IDF=log(语料库的总文档数/包含该词条的文档数+1),分母+1是为了避免分母为0

TFIDF=TF*IDF

代码实现:

两种方法:gesim实现和sklearn实现。先提供gensim的版本的实现

gesim实现:

from gensim import corpora,similarities,models
import jieba
#第一步:确定语料库的语料和要进行判断的句子:
#wordlist作为语料库,语料库中有三句话,相当于三篇文章.比较sentences和wordlist中三句话的相似度
wordlist=['我喜欢编程','我想变漂亮','今天吃午饭了吗']
#注意这里是个字符串
sentenses='我喜欢什么'
#第二步:使用语料库建立词典,也就是给预料库中的每个单词标上序号,类似:{'我':1,'喜欢':2,'编程':3,....}首先进行中文分词
text=[[word for word  in jieba.cut(words) ]for words in wordlist]
dictionary=corpora.Dictionary(text)
#第三步,对语料中的每个词进行词频
  • 4
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值