【NLP】例子说明TF-IDF

概述

百度(看不懂版本):

TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术。TF是词频(Term Frequency),IDF是逆文本频率指数(Inverse Document Frequency)。

TF-IDF(记住计算方式):

TF-IDF分为TF和IDF,计算方法为TF*IDF,其中,TF为词频(Term Frequency),IDF为逆向文件频率(Inverse Document Frequency)。

t f i d f ( w ) = t f ( d , w ) ∗ i d f ( w ) tfidf(w)=tf(d,w)*idf(w) tfidf(w)=tf(d,w)idf(w)

TF(理解如何计算):

t f ( d , w ) = t f ( 当前文档 , 目标词语 ) tf(d,w)=tf({\text{当前文档}}, {\text{目标词语}}) tf(d,w)=tf(当前文档,目标词语)

其中,d为当前文档,w为目标词语
含义为,当前文档中目标词语的出现频率

IDF(理解如何计算):

i d f ( w ) = l o g N N ( w ) + 1 = l o g 总文档数 包含词语w的文档数量 + 1 idf(w)=log\frac N{N(w)+1}=log\frac {\text{总文档数}}{{\text{包含词语w的文档数量}}+1} idf(w)=logN(w)+1N=log包含词语w的文档数量+1总文档数

其中,N为语料中的文档总数,N(w)为词语w出现在多少个文档中
含义为,总文档数量 / (包含词语的文档数量 + 1)。当多有文档总都没有出现词语w时,此时 N ( w ) N(w) N(w)便会为0,所以加一来保证分母不为零

例:

进行对比试验,假设语料中有1000篇文章,出现蛋黄派的总文章数N为50,出现巧克力的总文章数为20,出现我的总文章数为900

id文章词语出现次数TFIDFTF-IDF
1文章A(100词)蛋黄派1010 / 100 = 0.1log(1000 / (50 + 1)) = 1.290.1 * 1.29 = 0.129
2文章A(100词)巧克力2020 / 100 = 0.2log(1000 / (20 + 1)) = 1.680.2 * 1.68 = 0.336
3文章A(100词)2020 / 100 = 0.2log(1000 / (900 + 1)) = 0.0450.2 * 0.045 = 0.0225
4文章B(200词)蛋黄派1010 / 200 = 0.05log(1000 / (50 + 1)) = 1.290.05 * 1.29 = 0.0645
5文章B(200词)巧克力2020 / 200 = 0.1log(1000 / (20 + 1)) = 1.680.1 * 1.68 = 0.168
6文章C(5000词)蛋黄派1010 / 5000 = 0.002log(1000 / (50 + 1)) = 1.290.002 * 1.29 = 0.00258
7文章C(5000词)巧克力2020 / 5000 = 0.004log(1000 / (20 + 1)) = 1.680.004 * 1.68 = 0.0672

总结

TF的含义是目标词语在某篇文章出现的频率,IDF是所有出现过这个词语的文章数。

假设只有TF(出现频率),按照TF的大小来进行文章的排序,与TF-IDF计算出来的文章,一定是相同的,TF-IDF = TF * IDF,IDF就像是一个加权值,对TF进行一个加权。 对于id=1,3,5的数据来说,IDF是相同的,不同的是TF,所以,对于某个词语,按照TF和TF-IDF进行排序,结果相同。

那为什么要加IDF,这是为了针对不同的单词来进行比较,对于id=2,3的数据来说,巧克力的TF相同,IDF不同,巧克力的IDF得分为1.68,的IDF得分为0.045,巧克力的影响力更大,的影响力相对巧克力很小。因为出现的次数达到了900/1000,所以的IDF得分很低,即使出现的频率很高,也并不会有很高的得分。

所以,综上,如果对于相同的词语来说,使用TF就可以,可以完全不需要IDF,但是对比某篇文章里面的单词的影响力,就要使用TF-IDF来进行评分比较了。

参考:
https://zhuanlan.zhihu.com/p/198191847

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1543305.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

自恢复保险丝到底是什么?一篇文章足够让你了解清楚!!!

自恢复保险丝简介: 自恢复保险丝主要由核心材料高分子聚合物复合材料体组成,它是一种可反复使用的具有自恢复特性非线性的过流保护器件,聚合物复合材料体一般由聚合物、导电微粒、无机填料等组成。 自恢复保险丝是一种过流电子保护元件&#…

opencv-python学习笔记11-视频处理

目录 一、opencv视频处理的框架: 二、捕获视频类VideoCapture: (1)创建 VideoCapture 对象: (2)读取视频帧: (3)设置和获取视频属性: &#…

#联合体#

目录 定义 联合体的对齐方式 举个栗子🌰 联合体判断小端或大端 定义 联合也是一种特殊的自定义类型 这种类型定义的变量也包含一系列的成员,特征是这些成员公用同一块空间,地址一样(所以联合也叫共用体)。 联合体…

【揭秘大脑与AI的鸿沟:电化学信号与非线性动态交互的奥秘】

目录 【揭秘大脑与AI的鸿沟:电化学信号与非线性动态交互的奥秘】 1. 信息传递的奇迹:电化学信号的奥秘 2. 非线性动态交互:大脑的智慧之源 3. 结构与功能的鸿沟:从并行分布到有限层次 结语:探索未知的边界 【揭秘大脑与AI的鸿沟:电化学信号与非线性动态交互的奥秘】…

sql serve时间的比较:船舶是否在线,基站网络是否在线

文章目录 引言I 在线船舶查询在线或者离线船舶显示在线状态统计在线船舶II 基站网络是否在线III 知识扩展MyBatis引言 I 在线船舶 查询在线或者离线船舶 假定2个小时之内有报位的数据认为在线 查询7天之内有报位的离线船舶AND s.dwtime BETWEEN dateadd(day,-7,GETDATE()

怎么把excel翻译成英文?这些翻译技巧记得收藏

在处理Excel数据时,我们常常会遇到多语言的数据集,这无疑给数据分析和整理带来了不小的挑战。 幸运的是,随着技术的发展,现在有多种工具可以帮助我们进行Excel中的批量翻译,这些工具以其强大的翻译功能和便捷的操作方…

Unity 设计模式 之 行为型模式 -【访问者模式】【模板模式】【策略模式】

Unity 设计模式 之 行为型模式 -【访问者模式】【模板模式】【策略模式】 目录 Unity 设计模式 之 行为型模式 -【访问者模式】【模板模式】【策略模式】 一、简单介绍 二、访问者模式(Visitor Pattern) 1、什么时候使用访问者模式 2、使用访问者模…

这是一篇给Java小白看的JVM文章

文章目录 前言从 Java 的跨平台特性说起Java 跨平台的实现:JVMJVM 的定义跨平台问题说明从编码到运行 JVM 已成为规范JVM 的后续了解总结 前言 很多Java开发人员,还不清楚JVM是什么,就直接涉足JVM调优。 很多Java开发人员,说起J…

Deepgram推出新API:让跨语言交流不再是梦!

​ Deepgram 在人工智能飞速发展的今天,语音交互技术正在成为我们与机器沟通的主要方式。然而,现有的语音AI技术在速度、成本和对话质量等方面仍存在诸多问题。 为了解决这些痛点,语音识别领域的佼佼者Deepgram公司推出了一款全新的文本转语音…

精准运营,提升排名:亚马逊商品详情数据接口助力商家成长

一、接口重要性与作用 亚马逊商品详情数据接口是电商运营中不可或缺的桥梁,它连接着商家与消费者,承载着商品信息的精准传递与高效管理。通过此接口,商家能够实时获取并更新商品详情,从而显著提升运营效率,增强用户体…

如何用ComfyUI生成专业电商产品背景图?

如何用ComfyUI生成专业电商产品背景图——简单易用的工作流指南 随着电商行业的飞速发展,产品展示的质量直接影响到消费者的购买决策。而通过AI生成的背景图,不仅提升了图片的质感,还能节省大量后期处理时间。今天我们要介绍的是利用ComfyUI生…

idea上使用tomcat运行web项目

idea上使用tomcat运行web项目 首先需要安装tomcat,可以查看我上一篇文章 如果你已经配置tomcat,这里不需要改动。如果未配置,需要在这里选择你tomcat目录 修改下面的上下文,也就是网页上访问时http://localhost:8080/后面拼…

Linux c文件中创建一个由汇编代码构成的函数方法

c文件中经常使用asm完成嵌入式汇编&#xff0c;例如 #include <stdio.h>void a() {int result 0;int input 1;asm volatile ("movl %1, %0\n": "r"(result): "r"(input));printf("result %d\n", result);printf("input…

2024年高分项目管理系统推荐,奥博思 PowerProject 不容错过

PowerProject 支持项目全生命周期管理&#xff0c;涵盖立项、计划、执行监控与收尾的各个阶段。系统是包含项目管理、项目集管理、项目组合管理的一站式企业级项目管理平台。 PowerProject 是目前市面上功能相当齐全的一款项目管理软件&#xff0c;大中型企业软件选型首选。 立…

导出导入Oracle数据库使用黑框命令方式exp、imp【亲测】

下载工具 根据自己数据库的版本下载&#xff0c;以v19为例&#xff1a; 下载基础包Basic Package和工具包Tools Package 两个压缩包中的文件夹一样&#xff0c;但内容不一样&#xff0c;将两个压缩包中的文件解压合并到一起 https://www.oracle.com/database/technologies/inst…

复选框选择示例【JavaScript】

这段代码实现的功能是一个简单的复选框示例&#xff0c;它可以进行全选、反选和取消选中操作。 实现功能&#xff1a; 1. 全选&#xff1a;当点击标签"全选"旁边的复选框时&#xff0c;该页面上所有具有"item"类的复选框都会被选中&#xff08;或者取消选…

linux基础(二)远程连接、cd、rm、cp、mv、cat、绝对路径、管道符、

1.远程链接: SecureCRT、xshell&#xff1a;windows连接linux的工具 SecureFX、xftp&#xff1a;用于远程传输文件。 远程连接&#xff1a; windows远程连接windows&#xff1a;mstsc administrator windows远程连接linux&#xff1a;SecureCRT、xshell、 linux远程…

DK5V100R20H 同步整流芯片12V2.4A 封装SM-7

高性能双引脚同步整流芯片 DK5V100R20H是一款简单高效率的同步整流芯片&#xff0c;只有A&#xff0c;K两个引脚&#xff0c;分别对应肖特基二极管的PN管脚。芯片内部集成了100V功率NMOS管&#xff0c;可以大幅降低二极管导通损耗&#xff0c;提高整机效率&#xff0c;取代或替…

Docker全家桶:技术架构演进之路

在学习Docker之前&#xff0c;我们需要了解每种技术架构以及如何演进的&#xff0c;熟悉Docker在架构中的核心作用。在此&#xff0c;我们介绍一个从百级别的并发到千万级别甚至亿级别的并发情况下&#xff0c;服务端架构的演进过程&#xff0c;同时列举出每个阶段会遇到的问题…

LLM大模型一些碎片知识

预训练和微调 预训练阶段&#xff1a;使用公开数据经过预训练过程得到预训练模型&#xff0c;预训练模型具备语言的初步理解&#xff1b;训练周期比较长&#xff1b;微调阶段1&#xff1a;SFT&#xff08;指令微调/有监督微调&#xff09;。如果想要预训练模型在某个垂直领域&a…