TF/IDF/DF算法

TF-IDF

TF-IDF(term frequency - inverse document frequency) 是一种用于信息检索与文本挖掘的常用加权技术。TF-IDF是一种统计方法,用以评估一个字词对于一个文件集合或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比,但同事会随着它在语料库中出现的频率成反比。TF-IDF加权的各种形式常被搜索引擎应用,作为文件与用户查询之间相关程度的度量或评级。除了TF-IDF以为,互联网上的搜索引擎还会使用基于链接分析的评级方法,以确定文件在搜索结果中出现的位置。


目录

  • 1. 原理
  • 2. 例子
  • 3. 在向量空间模型里的应用
  • 4. 参考资料
  • 5. 外部链接

原理

在一份给定的文件里,词频(term frequency, TF)是指某一个给定的词语在该文件中出现的次数。这个数字通常会被正规化,以防止它偏向长的文件。(同一个词语在长文件里可能会比短文件有更高的词频,而不管该词语是否重要。)对于在某一特定文件里的词语ti来说,它的重要性可表示为: 

  \mathrm{tf_{i,j}} = \frac{n_{i,j}}{\sum_k n_{k,j}}

以上式子中,ni,j是该词在文件dj中的出现次数,而分母则是在该文件dj中所有字词的出现次数之和。


逆向文件频率(inverse document frequency, IDF)是一个词语普遍重要性的度量。某一特定词语的IDF,可以由总文件数目除以包含该词语的文件的数目,再将得到的商取对数得到:

\mathrm{idf_i} =  \log \frac{|D|}{|\{d: d \ni t_{i}\}|}

其中:

  • |D|:语料库中的文件总数
  •  :包含词语ti的文件数目(即ni!=0 的文件数目)

然后:

\mathrm{tf{}idf_{i,j}} = \mathrm{tf_{i,j}} \cdot  \mathrm{idf_{i}}

某一特定文件内的高词语频率,以及该词语在整个文件集合中的低文件频率,可以产生出高权重的TF-IDF。因此,TF-IDF倾向于过滤掉常见的词语,保留重要的词语。


例子

有很多不同的数学公式可以用来计算TF-IDF。这边的例子以上述的数学公式来计算。词频(TF)是一词语出现的次数除以该文件的总词语数。

假如一篇文章的总词语数是100个,而词语“奶牛”出现了3次,那么“奶牛”一词在该文件中的词频就是0.03(3/100)。一个计算文件频率(DF)的方法是测定有多少份文件出现过“母牛”一词,然后除以文件集里包含的文件总数。所以,“奶牛”在1000份文件出现过,而文件总数是10000000份的话,其IDF就是9.21 (log(10000000/1000))。最后TF-IDF的分数为0.28(0.03*9.21)。


在向量空间模型里的应用


TF-IDF权重计算方法经常会和余弦相似度(cosine similarity)一同使用于向量空间模型中,用以判断两份文件之间的相似性。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: TF-IDF(Term Frequency-Inverse Document Frequency)是一种用于自然语言处理和文本挖掘的常用算法。它的思想是:在一个文档集合中,如果一个词在一篇文档中出现的频率越高,并且在其他文档中出现的频率越低,那么这个词就越重要。 TF-IDF的具体计算方法如下: 对于一个给定的词w,它在一篇文档d中出现的频率被定义为TF(w,d),并计算如下: TF(w,d)=词w在文档d中出现的次数/文档d中所有词的总数 对于一个给定的词w,它在整个文档集合D中出现的频率被定义为DF(w),并计算如下: DF(w)=包含词w的文档数/文档总数 最后,对于一个给定的词w,它的TF-IDF值被计算如下: TF-IDF(w,d)=TF(w,d) * log(DF(w)) TF-IDF算法通常用于提取文本信息的关键词,或者用于文本的相似度计算。 ### 回答2: TF-IDF算法是一种常用于信息检索和文本挖掘中的算法,用于评估一个词对于一个文档或一个语料库的重要程度。 TF(Term Frequency),即词频,指的是一个词在文档中出现的频率。对于一个给定的词和文档,词频越高则表示该词对于文档的重要性越高。 IDF(Inverse Document Frequency),即逆文档频率,用于衡量一个词在整个语料库中出现的频率。IDF的计算公式为log(语料库文档总数/包含该词的文档数+1)。如果一个词在语料库中出现的次数越少,则其IDF值越大,表示该词对于识别一个特定文档的重要性越高。 TF-IDF算法的思想是将TF值和IDF值结合起来,计算一个词在文档中的重要程度。具体做法是将词频TF乘以逆文档频率IDF,得到的结果即为TF-IDF值。 TF-IDF算法的作用是过滤掉在语料库中出现频率较高的普通词语,突出在文档中出现频率较低但与文档主题相关的重要词语。通过计算每个词的TF-IDF值,可以确定一个词在一个文档中的重要程度,进而用于文本分类、聚类、关键词提取等任务中。 总之,TF-IDF算法通过综合考虑词频和逆文档频率,加权衡量词对于一个文档或一个语料库的重要程度,从而提高信息检索和文本挖掘的效果。 ### 回答3: TF-IDF(Term Frequency-Inverse Document Frequency)算法是一种用于信息检索与文本挖掘的常用算法。它基于一个简单的思想:一个词在文档中出现的频率越高,同时在所有文档中出现的频率越低,那么这个词对于该文档的重要性就越高。 TF(词频)用于衡量一个词在文档中出现的频率。一个词在文档中出现的次数越多,其对该文档的重要性就越大。但是,仅仅使用词频来评估一个词的重要性是不准确的,因为一些常见的词可能在大多数文档中频繁出现,但对区分不同文档并不重要。 IDF(逆文档频率)用于衡量一个词在所有文档中的普遍程度。如果一个词在大多数文档中都出现,则其对于区分文档的重要性较低。因此,IDF通过计算文档总数除以包含该词的文档数的比值的对数倒数来衡量一个词的重要性。 TFIDF的乘积就是TF-IDF值,用于表示一个词在一个文档中的重要性。一个词的TF-IDF值与其在文档中的频率成正比,与其在所有文档中的普遍程度成反比。因此,一个词在某个特定文档中频繁出现且在其他文档中较少出现,那么它的TF-IDF值就会较高,说明它对于该文档的区分能力较强。 在信息检索中,TF-IDF算法可以用于计算查询词与文档的相关性,从而对文档进行排序。在文本挖掘中,TF-IDF算法可以用于提取关键词,帮助理解文档的主题和内容。TF-IDF算法搜索引擎、文本分类、自然语言处理等领域有着广泛的应用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值