TF-IDF(2)
TF-IDF介绍(详见):https://www.cnblogs.com/yhll/p/9831267.html
例子:
假设有一篇文章包含了10000个词组,其中“中国”、“石油”、出现100次,“开采”出现200次,“的”出现500次(假设没有去除停用词) 语料库中共有1000篇文档,其中包含“中国”的文档有99篇,包含“石油”的文档59篇,包含“开采”的文档有19篇,包含“的”的文档有999篇。
1 计算词频
根据公式:词频 = 某个词组在文章中出现次数/该文章总词组数:
TF(中国)= 100/10000 = 0.01
TF(石油)= 100/10000 = 0.01
TF(开采)= 200/10000 = 0.02
TF(的)= 500/10000 = 0.05
2 计算逆文档频率
根据公式:逆文档频率 = log[语料库中文档总数/(包含该词组的文档数 + 1)]
这里的log表示以10为底
IDF(中国)= log(1000/100) = 1
IDF(石油)= log(1000/60) = 1.221
IDF(开采)= log(1000/20) = 1.7
IDF(的)= log(1000/1000) = 0
由上述结果可以发现,当某个词在语料库中各个文档出现的次数越多,它的IDF值越低,当它在所有文档中都出现时,其IDF计算结果为0,而通常这些出现次数非常多的词或字为“的”、“我”、“吗”等,它对文章的权重计算起不到较大的作用。
3 计算TF-IDF值根据公式:TF-IDF = 词频 * 逆文档频率
TF-IDF(中国) = 0.01 * 1 = 0.01
TF-IDF(石油) = 0.01 * 1.221 = 0.01221
TF-IDF(开采) = 0.02 * 1.7 = 0.034
TF-IDF(的) = 0.05 * 0 = 0
通过计算结果可以发现,如果只选取一个关键词,则整篇文章是关于“开采”的;如果选取两个关键词,则整篇文章是关于“开采”、“石油”的。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 《HelloGitHub》第 106 期
· 数据库服务器 SQL Server 版本升级公告
· 深入理解Mybatis分库分表执行原理
· 使用 Dify + LLM 构建精确任务处理应用