当前位置:   article > 正文

jieba:关键词抽取(TD-IDF、TextRank)_jieba 抽取关键词

jieba 抽取关键词

目录

TF-IDF关键词抽取

TextRank关键词抽取


jieba实现了两种关键词抽取算法,分别是TF-IDF和TextRank。

TF-IDF关键词抽取

TF-IDF的主要思想是:如果某个词或短语在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。实际应用中主要是将TF(词频,词t在文档d中出现的频率)* IDF(逆文档率,语料库中包含词t的文档的数目的倒数)

jieba.analyse.extract_tags(sentence, topK=20, withWeight=False, allowPOS=())

其中,sentence为待提取文本,topK为返回几个TF-IDF值最大的关键词,默认20,withWeight为是否一并返回关键词权重值,默认值为False,allowPOS仅包括指定词性的词,默认值为空(不筛选)

  1. from jieba import analyse
  2. tfidf = analyse.extract_tags
  3. text = "传统数据基本都是结构化数据,每个字段都是有用的,价值密度非常高。\
  4. 大数据时代,越来越多数据都是半结构化和非结构化数据,比如网站访问日志,\
  5. 里面大量内容都是没价值的,真正有价值的比较少,虽然数据量比以前大了N倍,\
  6. 但价值密度确实低了很多。"
  7. # 基于TF-IDF算法关键词提取
  8. keywords = tfidf(text, topK=20, withWeight=True)
  9. print('keywords by tfidf:')
  10. for keyword, val in keywords:
  11. print(keyword + " " + str(val))

输出:

 

TextRank关键词抽取

TextRank 算法是一种用于文本的基于图的排序算法。其基本思想来源于谷歌的 PageRank算法, 通过把文本分割成若干组成单元(单词、句子)并建立图模型, 利用投票机制对文本中的重要成分进行排序, 仅利用单篇文档本身的信息即可实现关键词提取、文摘。

jieba.analyse.textrank(sentence, topK=20, withWeight=False, allowPOS=())

参数对应参考TF-IDF

  1. from jieba import analyse
  2. textrank = analyse.textrank
  3. text = "传统数据基本都是结构化数据,每个字段都是有用的,价值密度非常高。\
  4. 大数据时代,越来越多数据都是半结构化和非结构化数据,比如网站访问日志,\
  5. 里面大量内容都是没价值的,真正有价值的比较少,虽然数据量比以前大了N倍,\
  6. 但价值密度确实低了很多。"
  7. # 基于TF-IDF算法关键词提取
  8. keywords = textrank(text, topK = 10, withWeight = True)
  9. print('keywords by tfidf:')
  10. for keyword, val in keywords:
  11. print(keyword + " " + str(val))

输出:

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号