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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mpk_no1/article/details/75201546

关键词是一篇文档中表达的主要话题,处理文档或句子时,提取关键词是最重要的工作之一,这在NLP中也是一个十分有用的task。

常见的关键词提取方法有:TF-IDF关键词提取方法、Topic-model关键词提取方法和RAKE关键词提取。


TF-IDF:

使用TF-IDF提取关键词的方法十分好理解,TF衡量了一个词在文档中出现的频率,一个文档中多次出现的词总是有一定的特殊意义,但是并不是所有多次出现的词就都是有意义的,如果一个词在所有的文档中都多次出现,那么这个词就没有什么价值了。

TF-IDF就很好地衡量了这些因素:TF= (词在文档中出现的次数)/ (文章总词数),IDF= log(语料库中文档综述/(包含该词的文档数+1))

TF-IDF= TF* IDF

TF-IDF值越大,则这个词成为一个关键词的概率就越大。


Topic-model:

使用主题模型提取关键词的关键思想是认为文章是由主题组成的,而文章中的词是以一定概率从主题中选取的,即文章与词之间存在一个主题集合。不同的主题下,词出现的概率分布是不同的。

根据LDA主题模型的学习可以获取文档的主题词集合。


RAKE关键词提取:

RAKE(Rapid Automatic Keyword Extraction)算法的原作者是Alyona Medelyan,RAKE的更新版本就是她完成的,muai indexer也是她的杰作,她的GitHub上有很多关键字提取的项目。

有一篇介绍RAKE算法的文章,链接是:http://python.jobbole.com/82230/

RAKE提取的关键词并不是单一的单词,有可能是一个短语。

每个短语的得分有组成短语的词累加得到,而词的得分与词的度与词频有关:score = degree / freq

其中,当与一个词共现的词越多,则该词的度就越大。

原始的RAKE的GitHub地址: https://github.com/zelandiya/RAKE-tutorial

我自己也创建了一个使用RAKE提取英文句子关键词的项目,可以作为一个RAKE的使用示例,大家可以从我的GitHub上获取,地址为:https://github.com/mpk001/RAKE-keywordsExtraction

猜你喜欢

转载自blog.csdn.net/mpk_no1/article/details/75201546