美文网首页
TF-IDF算法之文本分析

TF-IDF算法之文本分析

作者: 哈喽小生 | 来源:发表于2019-01-16 17:32 被阅读0次

    一:TF-IDF是什么?

    TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术。TF意思是词频(Term Frequency),IDF意思是逆文本频率指数(Inverse Document Frequency)。

    二:原理介绍

    TFIDF的主要思想是:如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。TFIDF实际上是:TF * IDF,TF词频(Term Frequency),IDF逆向文件频率(Inverse Document Frequency)。TF表示词条在文档d中出现的频率。IDF的主要思想是:如果包含词条t的文档越少,也就是n越小,IDF越大,则说明词条t具有很好的类别区分能力。如果某一类文档C中包含词条t的文档数为m,而其它类包含t的文档总数为k,显然所有包含t的文档数n=m+k,当m大的时候,n也大,按照IDF公式得到的IDF的值会小,就说明该词条t类别区分能力不强。但是实际上,如果一个词条在一个类的文档中频繁出现,则说明该词条能够很好代表这个类的文本的特征,这样的词条应该给它们赋予较高的权重,并选来作为该类文本的特征词以区别与其它类文档。这就是IDF的不足之处. 在一份给定的文件里,词频(term frequency,TF)指的是某一个给定的词语在该文件中出现的频率。这个数字是对词数(term count)的归一化,以防止它偏向长的文件。(同一个词语在长文件里可能会比短文件有更高的词数,而不管该词语重要与否。)如图理解:

    英文公式:

    image.png

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

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

    image.png

    |D|:语料库中的文件总数

    包含词语的文件数目(即的文件数目)如果该词语不在语料库中,就会导致分母为零,因此一般情况下使用作为分母。

    ·

    image.png

    idf公式分母

    然后再计算TF与IDF的乘积。

    image.png

    中文公式:

    image.png

    示例:

    假设100篇文档有10000个词,研究某篇500词文章,“机器学习”出现了20次,“而且”出现了20次,那么他们的TF都是20/500=0.04。再来看IDF,对于语料库的100篇文章,每篇都出现了“而且”,因此它的IDF就是log1=0,他的TFIDF=0。而“机器学习”出现了10篇,那么它的IDF就是log10=1,他的TFIDF=0.04>0,显然“机器学习”比“而且”更加重要。

    Ps:未完待续。。。
    (欢迎加入Python交流群:930353061。人生苦短,我用python!!!)

    相关文章

      网友评论

          本文标题:TF-IDF算法之文本分析

          本文链接:https://www.haomeiwen.com/subject/uvomdqtx.html