【自然语言处理】TF/IDF算法

  • Post author:
  • Post category:其他




TF/IDF算法



前言

当我们去了解一篇文章是不是我们所需要时就要去看摘要,看关键字,而对于关键字的提取使用的主要流行的算法就是

IF/IDF



TextRank

算法,此篇博文重点是对

IF/IDF

算法的学习。



背景介绍

1:

IF/IDF

全称

Term Frequency-Inverse Document Frequency

,中文名称:

词频-逆文档频次算法

,它是一中

基于统计

的计算方法。

2:词频-逆文档频次算法(TF/IDF)常用于

评估一个文档集中一个词次对某份文档的重要程度。试想一下,一个词对于一个文章越重要,说明这个词越能说明它是关键词。

3:词频-逆文档频次算法(TF/IDF)是由两部分组成,其中

TF算法

是用于统计一个词在一篇文档出现的频次,

IDF算法

是统计一个词在文档集的多少个文档中出现。



基本思想


  • TF算法


    一个词在文档中出现的次数越多,则其对文档的表达能力也就越强。

  • IDF算法


    如果一个词在越少的文档中出现,则其对文档的区分能力也就是越强。



公式说明


  • TF算法





    t

    f

    i

    j

    =

    n

    i

    j

    k

    n

    k

    j

    tf_{ij=\frac{n_{ij}}{\sum_k n_{kj}}}






    t



    f











    i


    j


    =

























    k




















    n










    k


    j

































    n










    i


    j




























































  1. n

    i

    j

    n_{ij}







    n











    i


    j























    是表示词




    i

    i






    i






    在文档




    j

    j






    j






    中出现频次





  2. k

    n

    k

    j

    \sum_k n_{kj}


















    k





















    n











    k


    j























    表示统计文档中每个词出现次数的总和





  3. t

    f

    i

    j

    tf_{ij}






    t



    f











    i


    j























    就是它的概率



  • IDF算法





    i

    d

    f

    i

    =

    l

    o

    g

    (

    D

    1

    +

    D

    i

    )

    idf_i=log(\frac{|D|}{1+|D_i})






    i


    d



    f










    i




















    =








    l


    o


    g


    (














    1


    +






    D










    i



































    D
























    )








  1. D

    |D|









    D









    是文档集中总文档数





  2. D

    i

    |D_i|










    D










    i

























    是文档集中出现词



    i

    i






    i





    的文档数量,分母加



    1

    1






    1





    是为了采用拉普拉斯平滑,避免有部分新的词没有在语料库中出现过导致分母为零的情况出现。



  • TF-IDF算法





    t

    f

    ×

    i

    d

    f

    (

    i

    ,

    j

    )

    =

    t

    f

    i

    j

    ×

    i

    d

    f

    i

    =

    n

    i

    j

    k

    n

    k

    j

    ×

    l

    o

    g

    (

    D

    1

    +

    D

    i

    )

    tf×idf(i,j)=tf_{ij}×idf_i={\frac{n_{ij}}{\sum_k n_{kj}}}×log(\frac{|D|}{1+|D_i})






    t


    f




    ×








    i


    d


    f


    (


    i


    ,




    j


    )




    =








    t



    f











    i


    j





















    ×








    i


    d



    f










    i




















    =

































    k





















    n











    k


    j


































    n











    i


    j









































    ×








    l


    o


    g


    (














    1


    +






    D










    i



































    D
























    )







    说明


    计算得到的



    t

    f

    ×

    i

    d

    f

    (

    i

    ,

    j

    )

    tf×idf(i,j)






    t


    f




    ×








    i


    d


    f


    (


    i


    ,




    j


    )





    的值越高说明此词就越适合作为关键词,当然对于关键词可能不止一个,可以根据



    t

    f

    i

    d

    f

    tf-idf






    t


    f













    i


    d


    f





    的由大到小排序取前



    n

    n






    n





    个作为关键词。


说明


此次关于TF/IDF算法的学习参考的资料是《python自然语言处理实战核心技术与算法》



版权声明:本文为Jiajikang_jjk原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。