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

  统计/机器学习 自然语言处理    浏览次数: 1596
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面经 问答 实战

可爱多   2017-05-02 08:22

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

$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面经 问答 实战

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



  相关主题

文本处理中stop word什么意思   2回答

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

nlp里的stemming是什么意思?   2回答

用python统计字符串中空格的个数   3回答

python里怎么把中文字符串转化为成list   1回答

python里实现词云的package   3回答

如何用python统计一个txt文本的行数   3回答

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

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

word2vec怎么处理一词多义的情况?   0回答

自然语言处理中的分词是什么意思?   1回答

求推荐条件随机场(CRF)的python package   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!