自然语言处理中的Tf-idf是什么意思

  统计/机器学习 自然语言处理    浏览次数:9432        分享
2

自然语言处理中的Tf-idf是什么意思?最好能有例子,谢谢!

 

雕牌   2017-05-01 20:03



   2个回答 
5

TF是term frequency,词频。

IDF是inverse document frequency,逆向文件频率。

比如我们有m个文件,TF-IDF是衡量一个词汇对于某个文件的重要性。

词汇$T_i$在文件$D_j$中的词频TF等于

$$TF_{i,j}=\frac{n_{i,j}}{\sum_{k=1,\cdots,m} n_{k,j}},$$

其中$n_{i,j}$是词汇$t_j$在文件$D_j$中出现的次数,分母是文件$D_j$中所有词汇的个数,作用是归一化。

词汇$t_i$的逆向文件频率idf等于

$$IDF_{i}=\log \frac{m}{|\{j:t_i\in D_j\}|}$$

其中 $|\{j:t_i\in D_j\}|$是m个文件中,包含词汇$t_i$的文件的个数。


接下来我们就有了tfidf的定义:

$$TFIDF_{i,j}=TF_{i,j}\times IDF_{i}.$$

$TFIDF_{i,j}$越大,说明词汇$t_i$在文件$D_j$中重要性越大,越有助于文件的区分度。



SofaSofa数据科学社区DS面试题库 DS面经

可爱多   2017-05-02 08:22

请问下,TF的公式中,分母求和的k的取值范围,最大值不应该用m表示吧,因为您下面使用m表示文件个数了,这里的最大值应该是词汇表T中词的个数吧? - lxldyxhao   2018-10-10 13:29
我觉得你说的是对的,答主应该笔误了。 - 数据科学小K   2018-10-10 14:27
5

$tf$-$idf$就是$tf$和$idf$的乘积。

$$tf(w)=\frac{w \text{出现在该文档的次数}}{\text{该文档中总的词汇量}}$$

$$idf(w)=\log\frac{\text{文档的总个数}}{\text{包含}w\text{的文档的个数}}$$

$$tf\text{-}idf(w)=tf(w)\times idf(w)$$

SofaSofa数据科学社区DS面试题库 DS面经

数据科学小K   2018-10-10 14:30



  相关讨论

怎么判断一句中文话语是否通顺

文本处理中的tf是什么意思?如何计算?

文本处理中stop word什么意思

nlp里的stemming是什么意思?

jieba分词中最大正向匹配法是什么?

“阅读需要X分钟”这个功能是如何实现的?

jieba分词怎么用?

怎么把英文字符串转为小写(python)?

wordcloud安装报错error: Microsoft Visual C++ 14.0 is required

bert里cls和sep分别是什么意思?

  随便看看

'str' object has no attribute 'decode' 代码运行时有错误呢?请高手帮忙解决

抛的硬币直到连续出现两次正面为止,平均要扔多少次

向量梯度下降优化的最佳步长?

python产生服从常用概率分布的随机数

yolo v4和yolo v3的主要区别是什么?