TF-IDF算法(原理+python代码实现)

本文介绍了TF-IDF算法的由来、原理,详细解释了TF、IDF和TF-IDF的计算方法,并探讨了TF-IDF的应用、不足之处及常见变种。文章还提供了Python代码实现,包括常规实现、NLTK和Jieba的TF-IDF算法实现。
摘要由CSDN通过智能技术生成

目录

前言

一、TF-IDF的由来

二、什么是TF-IDF?

2.1 TF(Term Frequency)

2.2 IDF(Inverse Document Frequency)

2.3 TF-IDF(Term Frequency-Inverse Document Frequency)

三、TF-IDF应用

四、代码实现

4.1 常规Python实现TF-IDF

4.2 NLTK实现TF-IDF

4.3 Jieba实现TF-IDF算法

五、TF-IDF不足之处

六、TF-IDF变种

5.1 通过对数函数避免 TF 线性增长

5.2 标准化解决长文档、短文档问题

5.3 对数函数处理 IDF

5.4 查询词及文档向量标准化

六、参考文章


前言

最近在读一篇论文《Mining Quality Phrases from Massive Text Corpora》,其中涉及到了TF-IDF和随机森林算法(Random Forest),顾对两个算法进行巩固加深记忆,这篇文章主要是讲TF-IDF算法,行文过程中参考了几篇博文,做了如下总结。

一、TF-IDF的由来

把查询关键字(Query)和文档(Document)都转换成 “向量”,并且尝试用线性代数等数学工具来解决信息检索问题,这样的努力至少可以追溯到 20 世纪 70 年代。

1971 年,美国康奈尔大学教授杰拉德 · 索尔顿(Gerard Salton)发表了《SMART 检索系统:自动文档处理实验》(The SMART Retrieval System—Experiments in Automatic Document Processing)一文,文中首次提到了把查询关键字和文档都转换成 “向量”,并且给这些向量中的元素赋予不同的值。这篇论文中描述的 SMART 检索系统,特别是其中对 TF-IDF

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dr.Petrichor

作者逐个题目分析的噢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值