1. 前言
TFIDF值不仅仅取决于一个词在当前文档中的出现次数(即词频TF),还受到该词在整个文档集合中的分布情况(即逆文档频率IDF)的影响。具体来说,TFIDF值由两个部分组成:
1. 词频 (Term Frequency, TF):这个词在当前文档中出现的频率。
2. 逆文档频率 (Inverse Document Frequency, IDF):这个词在整个文档集合中的稀缺性。
2. 词频 (TF)
定义:某个词在当前文档中出现的次数除以文档中总词数。
公式:
\[ \text{TF}(t) = \frac{\text{词t在文档中出现的次数}}{\text{文档中总词数}} \]
3. 逆文档频率 (IDF)
定义:衡量一个词在整个文档集合中的普遍重要性。如果一个词在很多文档中都出现,那么它的IDF值会较低;反之,如果一个词只在少数文档中出现,那么它的IDF值会较高。
公式:
\[ \text{IDF}(t) = \log\left(\frac{\text{总文档数}}{\text{包含词t的文档数} + 1}\right) \]
4. TFIDF值
定义:将词频和逆文档频率结合起来,计算出一个词在当前文档中的重要性。
公式:
\[ \text{TFIDF}(t) = \text{TF}(t) \times \text{IDF}(t) \]
5. 例子
假设我们有两个词 a
和 b
,它们在当前文档中的出现次数如下:
词 a
在当前文档中出现10次。
词 b
在当前文档中出现1000次。
但是,在整个文档集合中,这两个词的分布情况不同:
词 a
出现在大多数文档中(例如80%的文档)。
词 b
只出现在少数文档中(例如5%的文档)。
5.1 计算过程
假设总文档数为1000个文档:
词 a
的IDF:
\[ \text{IDF}(a) = \log\left(\frac{1000}{0.8 \times 1000 + 1}\right) \approx \log(1.25) \approx 0.0969 \]
词 b
的IDF:
\[ \text{IDF}(b) = \log\left(\frac{1000}{0.05 \times 1000 + 1}\right) \approx \log(19.6078) \approx 1.292 \]
假设当前文档中有1000个词:
词 a
的TF:
\[ \text{TF}(a) = \frac{10}{1000} = 0.01 \]
词 b
的TF:
\[ \text{TF}(b) = \frac{1000}{1000} = 1.0 \]
5.2 计算TFIDF值
词 a
的TFIDF:
\[ \text{TFIDF}(a) = 0.01 \times 0.0969 \approx 0.000969 \]
词 b
的TFIDF:
\[ \text{TFIDF}(b) = 1.0 \times 1.292 \approx 1.292 \]
6. 结论
- 即使词
a
在当前文档中出现次数较少(10次),但由于它在大多数文档中都出现,其IDF值很低,导致最终的TFIDF值也很低。相反,词b
尽管在当前文档中出现次数非常多(1000次),但由于它只在少数文档中出现,其IDF值很高,因此最终的TFIDF值也较高。 - 这说明,TFIDF值不仅取决于词在当前文档中的出现频率,还取决于这个词在整个文档集合中的稀缺性。一个词在当前文档中出现次数多并不意味着它的TFIDF值就高,还需要考虑它在整个文档集合中的分布情况。
- 所以,训练模型时使用的语料素材非常重要。
本站文章除单独注明外均为原创,本文链接https://bowmanjin.com/1029,未经允许请勿转载。
请先
!