Term Frequency-Inverse Document Frequency

简介: TF-IDF算法全称是"Term Frequency-Inverse Document Frequency",可译为"术语频率-文档逆向频率"。

TF-IDF算法全称是"Term Frequency-Inverse Document Frequency",可译为"术语频率-文档逆向频率"。

它用来评估一个词对一个文档的代表性。TF-IDF值越高,说明该词在该文档中出现的频率越高,同时在整个语料库中出现的频率越低,表示其代表性越强。

原理
TF-IDF = TF * IDF

TF(Term Frequency):某个词在某篇文档中出现的频率

IDF(Inverse Document Frequency):逆向文档频率,反映了词在所有文档中的泛用程度

IDF = log(总文档数/ 包含该词的文档数+ 1)
应用
信息检索 :利用TF-IDF模型,评估查询词与文档的相关程度

文本挖掘 :基于TF-IDF模型提取文本关键词

混合推荐:训练用户TF-IDF向量,推荐相关项目

示例代码
scheme
Copy

from sklearn.feature_extraction.text import TfidfVectorizer

corpus = [
    'This is the first document.',
    'This document is the second document.',  
    'And this is the third one.'
]

# TF-IDF vectors for each document    
vector = TfidfVectorizer().fit_transform(corpus)

print(vector)
#[[0.65364373 0.8164966  0.         ... 0.         0.8164966  
  0.65364373]
 [0.5 parapaparaphrased        ...         
 [0.8164966  0.65364373 0.]]

print(vectorizer.get_feature_names())

['and', 'document', 'first', 'is', 'one', 'second', 'the', 'third', 'this']

sklearn中提供了TfidfVectorizer实现TF-IDF算法。

TF-IDF 算法的一些推荐资料:

书籍:

《自然语言处理:理论与技术综述》

讲解了TF-IDF及其变种算法的原理和应用。

《Speech and Language Processing》

第三章讲解了TF-IDF及其在文本挖掘中的应用。

在线课程:

Andrew Ng 机器学习课程

中介绍了 TF-IDF 在文本处理中的应用。

coursera NLP 课程

中讲解了 TF-IDF 在文本预处理中的作用。

Stanford CS230 人工智能课程

中也有 TF-IDF 的案例与实战。

可学习的内容:

TF-IDF 的数学原理
TF-IDF 的变种算法,如IDF,TF*IDF等
在不同场景下的应用,如文本挖掘、搜索引擎等
用编程实现 TF-IDF 算法
TF-IDF 与其他特征 extraction 技术的比较
除此之外,可以:

在 Kaggle 与 GitHub 上查找 TF-IDF 的项目,查看源码
在 Kaggle 上查找相关数据集,练手实现 TF-IDF
查看 TF-IDF 的文章与博客,解决常见疑问
总的来说,从不同角度学习与实践 TF-IDF:

数学原理
变种算法
实际应用
编程实战
理论分析

目录
相关文章
|
机器学习/深度学习 自然语言处理 算法
词频-逆文档频率(Term Frequency-Inverse Document Frequency,
词频-逆文档频率(Term Frequency-Inverse Document Frequency,简称 TF-IDF)是一种统计方法,用以评估一个词对于一个文本或一组文本的重要性。
520 3
|
存储 机器学习/深度学习 人工智能
PTPCG: Efficient Document-level Event Extraction via Pseudo-Trigger-aware Pruned Complete Graph论文解读
据我们所知,我们目前的方法是第一项研究在DEE中使用某些论元作为伪触发词的效果的工作,我们设计了一个指标来帮助自动选择一组伪触发词。此外,这种度量也可用于度量DEE中带标注触发词的质量。
126 1
|
机器学习/深度学习 移动开发 自然语言处理
DEPPN:Document-level Event Extraction via Parallel Prediction Networks 论文解读
当在整个文档中描述事件时,文档级事件抽取(DEE)是必不可少的。我们认为,句子级抽取器不适合DEE任务,其中事件论元总是分散在句子中
132 0
DEPPN:Document-level Event Extraction via Parallel Prediction Networks 论文解读
|
机器学习/深度学习 数据挖掘
ACL2023 - An AMR-based Link Prediction Approach for Document-level Event Argument Extraction
最近的工作引入了用于文档级事件论元提取(文档级EAE)的抽象语义表示(AMR),因为AMR提供了对复杂语义结构的有用解释,并有助于捕获长距离依赖关系
191 0
|
Python
“cosine_distance“ “KMeansClusterer“ is not defined
“cosine_distance“ “KMeansClusterer“ is not defined
114 0
【1096】Consecutive Factors (20 分)
【1096】Consecutive Factors (20 分) 【1096】Consecutive Factors (20 分)
124 0
|
SQL Shell Perl
[20170604]12c Top Frequency histogram 2
[20170604]12c Top Frequency histogram补充.txt 1.环境: SCOTT@test01p> @ ver1 PORT_STRING                    VERSION        BANNER       ...
1010 0