TF-IDF(Term Frequency - Inverse Document Frequency)

TF-IDF(Term Frequency - Inverse Document Frequency)是一种在信息检索与文本挖掘中非常常用的关键词提取方法,用于衡量一个词在文档集合中的重要性。它的核心思想是:

如果一个词在某个文档中出现得频繁,同时在其他文档中很少出现,那么这个词对该文档具有较强的区分性,应当被赋予较高的权重。


一、TF-IDF 的基本组成

1. TF(Term Frequency)------词频

表示词语在当前文档中出现的频率。常见定义如下:

用于衡量词对当前文档的重要性。


2. IDF(Inverse Document Frequency)------逆文档频率

表示某个词在整个语料库中出现的"稀有程度":

其中:

  • NNN:语料库中的文档总数

  • ∣{d∈D:t∈d}:包含词 t 的文档数量

  • 加 1 是为了避免除以 0

IDF 越大,说明词越"稀有",对区分性越重要。


3. TF-IDF 计算公式

即:某词在某文档中的词频 × 该词在整个语料库中的逆文档频率。


二、TF-IDF 的直观理解

  • 一个词在文档中频繁出现 → TF 高 → 可能重要

  • 但如果这个词在所有文档中都频繁出现(比如 "的""是""and") → IDF 低 → 权重应该降低

  • 所以 TF-IDF 是一种平衡词频与泛用性的机制


三、使用场景

  • 关键词提取:找出一篇文章中最重要的词语

  • 文本分类:将文档向量化后用于机器学习模型

  • 信息检索:计算查询和文档之间的相关性(如搜索引擎)


四、TF-IDF 的特点

优点:

  • 简单高效,无需训练模型

  • 能过滤掉高频但无意义的词(如停用词)

  • 常用于传统机器学习方法(SVM、朴素贝叶斯等)中的文本特征表示

缺点:

  • 无法捕捉语义("漂亮"和"美丽"是不同的词)

  • 对词的顺序不敏感(bag-of-words 特性)

  • 对长文档可能存在偏差(词频偏大)


五、TF-IDF 在 Python 中的使用示例(基于 scikit-learn)

python 复制代码
from sklearn.feature_extraction.text import TfidfVectorizer

corpus = [
    "我喜欢自然语言处理",
    "语言模型是人工智能的核心",
    "我正在学习文本挖掘"
]

vectorizer = TfidfVectorizer()
tfidf_matrix = vectorizer.fit_transform(corpus)

# 输出词汇表
print(vectorizer.get_feature_names_out())

# 查看第一个句子的TF-IDF向量
print(tfidf_matrix[0].toarray())
相关推荐
UnderTurrets2 分钟前
A_Survey_on_3D_object_Affordance
pytorch·深度学习·计算机视觉·3d
koo3645 分钟前
pytorch深度学习笔记13
pytorch·笔记·深度学习
黄焖鸡能干四碗5 分钟前
智能制造工业大数据应用及探索方案(PPT文件)
大数据·运维·人工智能·制造·需求分析
高洁017 分钟前
CLIP 的双编码器架构是如何优化图文关联的?(3)
深度学习·算法·机器学习·transformer·知识图谱
世岩清上12 分钟前
乡村振兴主题展厅本土化材料运用与地域文化施工表达
大数据·人工智能·乡村振兴·展厅
工藤学编程41 分钟前
零基础学AI大模型之LangChain智能体执行引擎AgentExecutor
人工智能·langchain
图生生1 小时前
基于AI的商品场景图批量生成方案,助力电商大促效率翻倍
人工智能·ai
说私域1 小时前
短视频私域流量池的变现路径创新:基于AI智能名片链动2+1模式S2B2C商城小程序的实践研究
大数据·人工智能·小程序
yugi9878381 小时前
用于图像分类的EMAP:概念、实现与工具支持
人工智能·计算机视觉·分类
aigcapi1 小时前
AI搜索排名提升:GEO优化如何成为企业增长新引擎
人工智能