TF-IDF

参考:http://www.cnblogs.com/ybjourney/p/4793370.html

http://www.cnblogs.com/ybjourney/p/4824903.html

https://janav.wordpress.com/2013/10/27/tf-idf-and-cosine-similarity/

 

词频(TF)和逆文档频率IDF

 

 

我们需要一个重要性调整系数,衡量一个词是不是常见词。如果某个词比较少见,但是它在这篇文章中多次出现,那么它很可能就反映了这篇文章的特性,正是我们所需要的关键词。

用统计学语言表达,就是在词频的基础上,要对每个词分配一个"重要性"权重。最常见的词("的"、"是"、"在")给予最小的权重,较常见的词("中国")给予较小的权重,较少见的词("蜜蜂"、"养殖")给予较大的权重。这个权重叫做"逆文档频率"(Inverse Document Frequency,缩写为IDF),它的大小与一个词的常见程度成反比。

 

步骤

(1)计算词频

  词频 = 某个词在文章中出现的总次数

当然为了消除不同文章大小之间的差异,便于不同文章之间的比较,我们在此标准化词频:

  词频 = 某个词在文章中出现的总次数/文章的总词数

或者:词频 = 某个词在文章中出现的总次数/文章中出现次数最多的词的个数 

(2)计算逆文档频率

在此,首先需要一个语料库来模拟语言的使用环境。

逆文档频率(IDF) = log(词料库的文档总数/包含该词的文档数+1)

为了避免分母为0,所以在分母上加1.

(3)计算TF-IDF值

基于之前的分析了解,有:TF-IDF值 = TF * IDF。

在此有:TF-IDF值与该词的出现频率成正比,与在整个语料库中的出现次数成反比,符合之前的分析。

(4)求出关键字

计算出文章中每个词的TF-IDF值之后,进行排序,选取其中值最高的几个作为关键字。

(5)计算文章的相似性

    计算出每篇文章的关键词,从中各选取相同个数的关键词,合并成一个集合,计算每篇文章对于这个集合中的词的词频,生成两篇文章各自的词频向量,进而通过欧氏距离或余弦距离求出两个向量的余弦相似度,值越大就表示越相似。

 

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

 

优缺点

 1.优点是算法的容易理解,便于实现。

 2.缺点:IDF的简单结构并不能有效地反映单词的重要程度和特征词的分布情况,使其无法很好的完成对权值的调整功能,所以在一定程度上该算法的精度并不是很高。除此之外,算法也没哟体现位置信息,对于出现在文章不同位置的词语都是一视同仁的,而我们知道,在文章首尾的词语势必重要性要相对高点。据此,我们可以或许也可以将处于文章不同位置的词语赋予不同的权重。

转载于:https://www.cnblogs.com/pengwang52/p/7886751.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值