学习笔记 — 关键词提取

作者: binzeng | 来源:发表于2018-04-22 14:39 被阅读397次

关键词是指能反映文本主题或者主要内容的词语。关键词提取是NLP领域的一个重要的子任务。在信息检索中,准确的关键词提取可以大幅提升效率;在对话系统中,机器可以通过关键词来理解用户意图;在文本分类中,关键词的发现也非常有帮助。

关键词提取的方法主要有:TF-IDF、TextRank、Rake、Topic-Model等。

TF-IDF


TF-IDF的基本思想是:词语的重要性与它在文件中出现的次数成正比,但同时会随着它在语料库中出现的频率成反比下降。

一个文档中多次出现的词总是有一定的特殊意义,但是并不是所有多次出现的词就都是有意义的,如果一个词在所有的文档中都多次出现,那么这个词就没有什么价值了。或者说,如果某个词或者短语在一个文档中出现多次,但是在其他文档中很少出现,就可以认为这个词或短语具有很好的区分性,适合用来对文档进行分类。

TF(Term Frequency)表示一个词在文档中出现的次数。

DF(Document Frequency)表示整个语料库中含有某个词的文档个数

IDF(Inverse Document Frequency)为逆文档频率,其计算公式为:
IDF= log(语料库中文档总数/(包含该词的文档数+1))

+1 的作用是确保分母不为零。

TF-IDF = TF * IDF

由公式可知:一个词在文档中出现的次数越多,其TF值就越大,整个语料库中包含某个词的文档数越少,则IDF值越大,因此某个词的TF-IDF值越大,则这个词是关键词的概率越大。

TF-IDF关键词提取算法的一大缺点是:为了精确的提取一篇文档中的关键词,需要有一整个语料库来提供支持。这个问题的解决方法,通常是在一个通用的语料库上提前计算好所有词的IDF值,jieba就是这么做的。这样的解决方案对于普通文档关键词提取有一定的效果,但是对于专业性稍微强一点的文档,表现就会差很多。

jieba中的已经有TF-IDF关键词提取算法的实现。使用jieba中的TF-IDF关键词提取算法的代码如下:

Rake


Rake的英文全称是Rapid Automatic Keyword Extraction。

Rake算法引入了一个degree(度)的概念,并且对词和短语不做任何区分,因此,它实际上是不仅仅是在提取关键词,也是在提取关键短语。

关于Rake中引入的degree,它其实是图论中的一个概念。在一张图上,任一顶点的degree(度)是指与该顶点相关联的边的条数。在Rake算法中,一个词的degree其实就是它在整个文档中的非重复共现词的数量。

举个例子来说明degree的计算。比如在 “我要买一个小米手机,因为大家都说小米手机很好用!”中,“小米”这个词出现了两次,共现词分别是 【一个,手机,说,手机】,因此,在这句话中,“小米”这个词的degree就是3。

使用Rake算法进行关键词提取不需要一整个语料库的支持,相比于TF-IDF,这是一个很大的优势。

Rake算法的输入参数有三个:1)停用词表(stop words);2)段落分割符;3)词语分割符。针对同一种语言,这三个参数事实上是一样的。

使用Rake算法进行关键词(短语)提取的过程如下:

step 1. 从输入文本中获取候选关键词(candidate keywords)

step 2. 计算所有候选关键词的得分,公式如下:

 score = sum(deg(w)/freq(w))

step 3. 拼接候选关键词(以同样的顺序相邻出现两次),获取带有停用词的关键词

step 4. 输出得分最高的前T个候选关键词作为关键词,作者的做法是输出前三分之一

Rake算法的实现,请点击:https://github.com/zelandiya/RAKE-tutorial

TextRank


关于TextRank算法,之前写过一篇,点击直达

参考资料


1、ROSE S, ENGEL D, CRAMER N等. Automatic Keyword Extraction from Individual Documents[G]//Text Mining. Wiley-Blackwell, 2010: 1–20.

2、关键词提取方法学习总结(TF-IDF、Topic-model、RAKE)

3、用 RAKE 和 Maui 做 NLP 关键词提取的教程

4、https://github.com/zelandiya

5、自然语言处理系列篇——关键词智能提取

相关文章

  • 学习笔记 — 关键词提取

    关键词是指能反映文本主题或者主要内容的词语。关键词提取是NLP领域的一个重要的子任务。在信息检索中,准确的关键词提...

  • 8/70《慢思考》第二章笔记

    今天的笔记用《学习之道》的方式来写。 1、提取本章关键词。 思考脑 反射脑 储存脑 2、使用联想、比喻等想象来记...

  • SYX-10-108Julie第三次作业

    《博赞学习技巧》第三章 很认真先读了书,自行做笔记提取关键词,再听音频,最后再结合老师的作品及自己的笔记进行绘制,...

  • 思维导图之路(二)

    第二节课学习了怎么用思维导图做笔记,怎么提取关键词。利用康奈尔笔记法跟思维导图相结合,总结部分用思维导图梳理自己的...

  • 文本挖掘Test

    导入常用stopwords 导入专业词库 关键词提取 用jieba提取关键词 2. 用sklearn实现关键词提取...

  • 思维导图双证班第29期上海站~王娟《思维导图关键词之道》

    今天带给大家的内容是思维导图关键词之道。 通过本节课的学习,我们了解到提取关键词的重要性,也掌握了如何去提取关键词...

  • 28-选择关键词

    构建某个主题的思考,应该专注于笔记层级。 在笔记层级当中,需要选择关键词,方便存储或提取。 笔记管理者,他们所思考...

  • 思维导图2019-4-4

    如何提取关键词 提取关键词是思维导图的核心技术,在线上课、线下课、师训班中都最为重要主题,每一个阶段都要学习关键词...

  • 双证班作业9--思维导图~关键词之道

    学习思维导图必不可少的就是提取关键词,阅读完一本书,或者对学习内容进行发散或者延展,都离不开关键词的提取,关...

  • 卡片阅读法

    Day2【卡片阅读法】 核心关键词:存入越难,提取越快 卡片相对脑图和知识管理笔记提取更容易。 ①卡片是什么? 卡...

网友评论

本文标题:学习笔记 — 关键词提取

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