TF-IDF算法原理

TF-IDF基本假设:

一个词在文档中出现的频率越高,说明它越重要

但一个词在太多文档中出现,说明它越普通,区分度越低(IDF)

应用场景:

搜索引擎:用于排序搜索结果

文本分类: 提取文档特征

关键词提取:找出文档的重要词汇

推荐系统:  计算用户兴趣和物品的相似度

TF(文档中出现的频率)

TF(t,d) =  词t在文档d中出现的次数 / 文档d的总次数

IDF(逆文档频率) Inverse Document Frequency

定义:表示词的稀有程度,即一个词在多少文档中出现

IDF(t,D) = log(总文档数/包含词t的文档数)

TF-IDF值:      TF-IDF = TF*IDF

意义:

TF高,IDF高: 词在文档中出现的频率高,但在整个文档集中很少出现-> 重要关键词

TF高,IDF低:  词在文档中频繁出现,但在整个文档集中也经常出现->常用词,区分度低

TF低,IDF高: 词在文档中出现少,但在整个文档集中很少出现 -> 可能是专业术语

TF低,IDF低: 词在文档中出现少,在整个文档集中也经常出现-> 普通词,不重要

TF-IDF的缺点:

不考虑词序: 将文档视为词的集合,忽略词序信息

不考虑语义: 无法理解同义词,近义词的关系

稀疏性: 对于长文档,TF-IDF向量会非常稀疏

需要预处理: 对中文需要分词,对英文需要处理词形变化

TF-IDF算法的实现:

import jieba

text = "Python是一种优秀的编程语言,广泛用于数据科学和机械学习领域"

#分词
words = jieba.cut(text)
print("原始文本:",text)
print("\n分词结果:","/".join(words))

"/".join的意思是

就是用/将words列表中的元素拼接起来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值