TF-IDF 是一种将一个文档表示为一个单词权重的向量的方法,它可以反映每个单词在文档中的重要性和区分度。TF-IDF 的计算公式如下:
其中, 表示单词 在文档 中的词频,即出现的次数。 表示单词 的逆文档频率,即所有文档的数量除以包含单词 的文档的数量的对数。 的作用是降低常见单词的权重,提高稀有单词的权重。
例如,假设我们有以下三个文档:
• 文档 1:This is a good book.
• 文档 2:This is a bad book.
• 文档 3:This book is not good.
我们可以用 TF-IDF 来将每个文档表示为一个单词权重的向量,首先我们需要计算每个单词的 TF 和 IDF 值:
单词 | TF(文档 1) | TF(文档 2) | TF(文档 3) | IDF |
---|---|---|---|---|
this | 1/5 | 1/5 | 1/5 | log(3/3) = 0 |
is | 1/5 | 1/5 | 1/5 | log(3/3) = 0 |
a | 1/5 | 1/5 | 0/5 | log(3/2) = 0.176 |
good | 1/5 | 0/5 | 1/5 | log(3/2) = 0.176 |
bad | 0/5 | 1/5 | 0/5 | log(3/1) = 0.477 |
book | 1/5 | 1/5 | 1/5 | log(3/3) = 0 |
not | 0/5 | 0/5 | 1/5 | log(3/1) = 0.477 |
然后我们可以用 TF-IDF 公式来计算每个单词在每个文档中的权重,例如:
最后我们可以将每个文档表示为一个由单词权重组成的向量,例如:
• 文档 1:[0, 0, 0.035, 0.035, 0, 0, 0]
• 文档 2:[0, 0, 0.035, 0, 0.095, 0, 0]
• 文档 3:[0, 0, 0, -0.035, -0.095, -0.095]
这样,我们就可以用 TF-IDF 将一个文档表示为一个单词权重的向量