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

目录

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仅包括指定词性的词,默认值为空(不筛选)

from jieba import analyse
tfidf = analyse.extract_tags

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

输出:

 

TextRank关键词抽取

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

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

参数对应参考TF-IDF

from jieba import analyse
textrank = analyse.textrank

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

输出:

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值