tf-idf 用于句子级特征

数据挖掘 机器学习 深度学习 nlp tfidf
2022-02-18 02:11:11

许多论文提到使用 tf-idf 度量比较句子,例如Paper

他们说:

第一个基于 tf-idf,其中向量表示中对应维度的值是该词在句子中出现的次数乘以该词的 idf(逆文档频率)。

虽然我熟悉每个标记的权重,但对于我来说,如何在两个句子之间提取一个相似度度量(给定它们各个标记tf-idf的权重)有点模糊。tf-idf

如果对论文本身的引用不清楚,那么问题是:给定一个包含多个句子的文档,

基于tf-idf每个句子中标记的分数,文档中的句子之间是否存在已知的相似性度量?

1个回答

对TFIDF感到困惑是很常见的,所以感谢您提出这个问题 :)

TFIDF 不是一个指标,它是一个加权方案

这意味着它是一种表示文档的方式,而不是比较文档。TFIDF 假设一个词袋(BoW)表示,即一个文档或句子被表示为一组词(它们的顺序无关紧要)。基本的 BoW 表示是用其频率 (TF) 对每个标记/单词进行编码;在 TFIDF 中,单词的频率乘以 IDF(实际上是 IDF 的对数),以便更加重视很少出现的单词。

两个重要的点:

  • TF 部分特定于文档,而 IDF 部分是针对集合中的所有文档计算的。
  • TFIDF 向量中的每个维度代表一个词。所有文档的维度都相同,它们对应于所有文档的完整词汇表(这样索引i总是对应同一个词wi)。

请注意,还有其他加权方案可用于将文档表示为向量,例如Okapi BM25

Cosine-TFIDF 是比较 TFIDF 向量的度量

一旦文档(或句子)使用相同的词汇表(相同的维度)被编码为 TFIDF 向量,这些向量就可以用来计算任何一对文档(或以相同方式编码的文档和查询)之间的相似度分数。

余弦相似度测量无疑是比较 TFIDF 向量的最常用方法这是很常见的,有时人们会忽略它或通过说他们“将文档与 TFIDF 进行比较”来过度简化解释(这在技术上是不正确的)。

请注意,其他相似性度量也可以与 TFIDF 向量一起使用。大多数其他度量(例如Jaccard)倾向于给出类似的结果,它们与余弦没有根本不同。