无尘阁日记

无尘阁日记

词袋模型中的TF-IDF是什么意思
2025-06-08

这是一个用来衡量一个词在一篇文章中**“有多重要”**的算法。

它的全称是:

  • TF:Term Frequency → 词频,词在一篇文章中出现的次数。

  • IDF:Inverse Document Frequency → 逆文档频率,词在整个语料库中有多常见。

最终:
👉 TF-IDF = TF × IDF

用生活比喻讲一下

假设你在一堆朋友圈文章中找“真正有意义的词”。

TF:这个词在这篇文章里出现多少次?

比如你在一篇文章里看到“猫”出现了10次,那它在这篇文章中可能挺重要。

IDF:但如果“猫”也在几乎所有文章里都出现过,那就不稀奇了。

就像“我”“你”“今天”等词,在每一篇文章里都有,这些词就算再多,也没什么辨识度,不重要。

所以,常见词要打折扣,冷门词才加权重。

举个具体例子:

你有两篇文章:

  • 文章A:讲“养猫的幸福”

    • “猫”出现了10次

    • “幸福”出现了2次

  • 文章B:讲“职场焦虑”

    • “猫”只出现1次

    • “焦虑”出现了8次

如果“猫”这个词在所有文章中都很常见,那它的 IDF 很低。
而“焦虑”这个词在文章B中出现多,且在其它文章中很少提到,它的 IDF 高。

所以:

  • “猫”虽然在文章A里词频高,但因为太常见,重要性就被抵消了;

  • “焦虑”在文章B里出现多,而且很少在别的文章中看到,它就被判定为这篇文章的关键词。

数学上长什么样?(可跳过,只看意思)

  • TF = 某词在文章中出现的次数 ÷ 文章总词数

  • IDF = log(总文章数 ÷ 含这个词的文章数)

  • TF-IDF = TF × IDF

直白地说:
出现得越多,越重要;
出现得越稀有,越重要。

TF-IDF 是干嘛用的?

  • 搜索引擎:判断用户搜索词和网页的匹配度

  • 关键词提取:从一堆文章中挑出“每篇的重点词”

  • 文章分类、推荐系统:先看哪些词“代表这篇内容”,再找相似的

小结一句话

TF-IDF 就像是“找关键词的雷达”:

  • 一个词在这篇文章里很常见 → 说明这篇文章在讲它(TF高)

  • 但如果它在所有文章都常见 → 说明它不特别(IDF低)

  • 所以,真正重要的词,是那种“这篇文章提了很多,别的文章却很少提”的词。