通俗理解TF-IDF与TextRank

通俗理解TF-IDF与TextRank

本文参考以下博客整理得到,侵删
参考博客:

  1. 机器学习:生动理解TF-IDF算法
  2. 通俗易懂理解——TF-IDF与TextRank

TF-IDF

TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术,常用于挖掘文章中的关键词,而且算法简单高效,常被工业用于最开始的文本数据清洗。

  • TF,Term Frequency:词频,表示关键词 w 在文档 Di 中出现的频率
    通俗理解TF-IDF与TextRank_第1张图片
    count(w)为关键词w的出现次数,|Di|为文档Di中所有词的数量。

  • IDF,Inverse Document Frequency:逆文档频率,表示一个词的普遍度,当关键词的IDF值越低,表示其普遍度越高;当关键词的IDF值越高,表示其普遍度越低。
    通俗理解TF-IDF与TextRank_第2张图片
    对数 log 中分母 +1 是为了分母为0(无文档包含该词的情况)

  • TF-IDF
    在这里插入图片描述
    TF-IDF值越高,表示该关键字对于文章中的代表越高。
    因此,通过计算文章中各个词的TF-IDF,值最高的几个词就是该文章的关键词。

优点:计算简单、速度快,可解释。
缺点:对文章的衡量度不够;无法体现词的位置信息、关联上下文信息。

TextRank

TextRank由Mihalcea与Tarau于EMNLP’04 提出来,其思想非常简单:通过词之间的相邻关系构建网络,然后用PageRank迭代计算每个节点的rank值,排序rank值即可得到关键词。

网页之间的链接关系可以用图表示,那么怎么把一个句子(可以看作词的序列)构建成图呢?TextRank将某一个词与其前面的N个词、以及后面的N个词均具有图相邻关系(类似于N-gram语法模型)。具体实现:设置一个长度为N的滑动窗口,所有在这个窗口之内的词都视作词结点的相邻结点;则TextRank构建的词图为无向图。下图给出了由一个文档构建的词图(去掉了停用词并按词性做了筛选):
通俗理解TF-IDF与TextRank_第3张图片
考虑到不同词对可能有不同的共现(co-occurrence),TextRank将共现作为无向图边的权值。那么,TextRank的迭代计算公式如下:
在这里插入图片描述
通俗理解TF-IDF与TextRank_第4张图片

TextRank与TFIDF均严重依赖于分词结果,如果某词在分词时被切分成了两个词,那么在做关键词提取时无法将两个词黏合在一起。因此是否添加标注关键词进自定义词典,将会造成准确率、召回率大相径庭。
TextRank虽然考虑到了词之间的关系,但是仍然倾向于将频繁词作为关键词。

你可能感兴趣的:(NLP,自然语言处理)