zoukankan      html  css  js  c++  java
  • TF-IDF

    tf-idf 全称为 term frequency-inverse document frequency,中文名称为 词频-逆文档频率,tf代表词频,idf代表逆文档频率

    tf-idf 本质上是一种加权方法,idf代表权重,被加权的变量是tf词频。

    怎么理解呢?

    词频可以理解为词的出现次数,那出现次数越多是不是越重要呢?貌似正确,其实不然,比如 “的”,每篇文章都会出现很多次,但一点不重要,所以除了词频之外,还需要对该词的重要性进行评价,即对该词进行权重判断,

    idf 就是用来评价词语的重要性的,如果一个词在每篇文章中都出现,那它的重要性肯定不高,这句话用数学公式表示就是 出现该词的文章数/总文章数,即经常出现的词权重较小,很少出现的词权重较大,

    idf 叫 逆文档频率,就是上式的导数,只是方便计算而已。

    词频 * 逆文档频率 = 词语的重要性

    也就是说,在这篇文章中经常出现,而在其他文章中很少出现,才能证明他很重要,可以很好地代表这篇文档的主题。

    由于在实际问题中,文章总数已经确定,每个词都会除以文章总数,那相当于都不除,所以 tf-idf 也可以表示为

    词频 / 出现该词的文章总数

    主要用途

    1. 文本分类

    2. 关键词提取

    实操方法

    1. 词频计算

    词频计算有多种方式

    词频=该词在文章中的出现次数

    但是有些文章长,有些文章短,长的次数自然多,所以

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

    词频=该词在文章中的出现次数/该文章中出现最多的词的次数

    2. 逆文档频率计算

    idf=log(文章总数 / (出现该词的文档数+1) )

    +1 是为了避免分母为0

    3. tf-idf计算

    tf-idf=tf * idf

    4. 关键词提取

    计算出文章中每个词的tf-idf后,排序,选前N个

    5. 文本相似性

    计算出每篇文章的关键词,每篇文章选取相同个关键词,组成一个词语集合,然后计算每篇文章词语集合中词的词频,

    作为词向量,根据欧氏距离或者余弦相似度来计算文本相似性

    总结

    这种方法容易理解,也容易实现,

    但IDF的简单结构并不能有效地反映单词的重要程度和特征词的分布情况,使其无法很好的完成对权值的调整功能,所以在一定程度上该算法的精度并不是很高。

    除此之外,算法也没有体现位置信息,对于出现在文章不同位置的词语都是一视同仁的,

    而我们知道,在文章首尾的词语势必重要性要相对高点。据此,我们或许也可以将处于文章不同位置的词语赋予不同的权重。

  • 相关阅读:
    sed
    UCOSIII(二)
    UCOSIII(一)
    IIC
    SPI
    vii
    find
    grep
    Scrum项目4.0
    Scrum项目3.0
  • 原文地址:https://www.cnblogs.com/yanshw/p/10646897.html
Copyright © 2011-2022 走看看