zoukankan      html  css  js  c++  java
  • 关于文档检索01

    TF-IDF提取关键词

    问题提出:对于一篇文章,我们应该用什么样的词或者词组来检索它?

    解决方法:自动提取一篇很长文章的关键词,有一种方法呢是(TF-IDF)

    方法思路:哪种词出现的次数最多,那么这个词就是要很重要,这就有了词频Term Frequency,也称为呢(TF)统计

    step 1:当然,使用最多的一定是这样诸如“的”、“是”、“在” ,我们把它叫做停用词 stop words,表示对结果毫无帮助,必须要过滤的词。我们应对其进行过滤。

    step 2: 我们将停用词过滤掉之后呢,只考虑剩下的具有实际含义的词。但是不同的词组即使出现的次数一样多,也并不能代表这些词组的权重就是一样。因为文章要有突出,要有重点,比如说“南海”、“非洲”、“火车”,异或是“”中国“”蜜蜂“养殖”,显然呢,这三个如果同时出现,因为中国是很常见的词,相对来说,蜜蜂和养殖就不那么常见,那么如果这三个词放在一篇文章而且出现的次数一样多的话,对于词的排序上,蜜蜂和养殖的重要程度要大于中国。也就是在关键词排序上,蜜蜂和养殖应该排在中国的前面。所以我们要有一个重要性的调整系数,用来很亮一个词是不是常见词,如果某个词比较少见,但是呢,它在这篇文章中多次出现,那么,他可能很好的反映了这篇文章的特性,正是我们需要的关键词 ,也就是说,在词频的基础上,要在对每个词分配一个重要性的权重。例如,最常见的“的”是“在”了“给予最小的权重,常见的词例如”中国“基于较小的权重,较少见的词,例如”养殖“”蜜蜂“我们给予较大的权重,这个赋予词的权重,这个权重称为逆文档频率Inverse document frequency 缩写为(IDF) ,即不常见的词权重给的大。

    step 3: 有了(TF) 词频,有了(IDF) 逆文档频率,也就是词的权重,将这两个值相乘,即得到这个词的TD-IDF值,这个值越高,就越可能是这篇文章的关键词。

    方法实现:

    1. 统计词频,某个词的TF=这个词在文章中出现的次数,因为呢,文章有长短之分,肯定是越长文章的某个词的TF值越大,故为了统一标准,对其“标准化”,这个标准化不是严格的概率论上的标准化,TF值=(某个词在文章中出现的次数/文章的总的词数) ,或者是某个词在文章中出现的次数/该文章中出现最多次数的词在文章中出现的次数。

    2. 计算IDF逆文档频率,需要一个语料库corpus,用来模拟语言的使用环境,逆文档频率IDF=log(语料库的文档总数/包含该词的文档数+1),如果这个词越常见,纳闷log里面的东西就越接近1,总的频率就接近0,分母之所以要加1,是为了避免如果该次在文档中没有出现,避免其值为0

    3. 计算TF-IDF,TF-IDF=词频TX( imes) 逆文档频率IDF,我们可以看到TF-IDF与一个词在文档中出现的次数成正比,与该词在整个语料库中出现的次数成反比。

    所以,取得一篇文章的关键词,就是计算文章中每个词的TF-IDF值,也就是计算每个词在文章中的得分,降序排列,取排在最前面的几个词。

    实例:以“中国蜜蜂养殖”为例,假定该长度为1000个词,中国,蜜蜂,养殖各出现20次,则这三个词频TF值均为0.02.然后,搜索google发现,包含”的“字的网页总共具有250亿张,假定这就是中文网页总数。包含中国的网页具有62,3亿张,包含蜜蜂的网页具有0.484亿张,包含养殖的网页为0.973亿张,则他们的逆文档频率IDF与TF-IDF值为

    img

    由表可以得到,蜜蜂的TF-IDE值最高,养殖其次,中国最低,要是还有计算TF-IDE的值,那会是极低。这个TD-IDF值不仅可知计算出文章的关键字,也可以对各个文章分别计算出文章中一组搜索词的TF-IDE值,,这个值最高的文档,就是搜索词最相关的文档。

    TF-IDF优缺点:

    1. 缺点,单纯以词频来衡量一个词的重要性,不够全面,有时重要的词出现的次数可能并不多,其次,这种算法无法体现出有关于词的位置的信息,出现位置靠前的词与位置靠后的词,被视为相同的重要性,这是不正确的。解决方法呢,是赋予每段第一句话加大的权重。这个缺点主要是在TF方面。赋予每个位置的词不同的权重就可以解决。

    总结TF-IDF有什么用:

    • 总结出文章的关键词
    • 对于要检索的一组词,找到所有文档中这一组词的TF-IDF值之和最高的文档,就是与要检索的一组词最相关的文档
    • 对于相当大的检索目标,需要有一定的方式来检索最符合关键字的文档,比如LSH

    来源:
    大神1号

  • 相关阅读:
    HDU 4069 Squiggly Sudoku
    SPOJ 1771 Yet Another NQueen Problem
    POJ 3469 Dual Core CPU
    CF 118E Bertown roads
    URAL 1664 Pipeline Transportation
    POJ 3076 Sudoku
    UVA 10330 Power Transmission
    HDU 1426 Sudoku Killer
    POJ 3074 Sudoku
    HDU 3315 My Brute
  • 原文地址:https://www.cnblogs.com/xiaofeisnote/p/13443431.html
Copyright © 2011-2022 走看看