python实现关键词提取的示例讲解
作者:jingxian 发布时间:2021-09-02 05:38:58
标签:python,关键词,提取
新人小菜鸟又来写博客啦!!!没人表示不开心~~(>_<)~~
今天我来弄一个简单的关键词提取的代码
文章内容关键词的提取分为三大步:
(1) 分词
(2) 去停用词
(3) 关键词提取
分词方法有很多,我这里就选择常用的结巴jieba分词;去停用词,我用了一个停用词表。
具体代码如下:
import jieba
import jieba.analyse
#第一步:分词,这里使用结巴分词全模式
text = '''新闻,也叫消息,是指报纸、电台、电视台、互联网经常使用的记录社会、传播信息、反映时代的一种文体,具有真实性、时效性、简洁性、可读性、准确性的特点。新闻概念有广义与狭义之分。就其广义而言,除了发表于报刊、广播、电视上的评论与专文外的常用文本都属于新闻之列,包括消息、通讯、特写、速写(有的将速写纳入特写之列)等等。狭义的新闻则专指消息,消息是用概括的叙述方式,比较简明扼要的文字,迅速及时地报道国内外新近发生的、有价值的的事实。新闻也分公众新闻和小道新闻等。每则新闻在结构上,一般包括标题、导语、主体、背景和结语五部分。前三者是主要部分,后二者是辅助部分。写法上主要是叙述,有时兼有议论、描写、评论等。
'''
fenci_text = jieba.cut(text)
#print("/ ".join(fenci_text))
#第二步:去停用词
#这里是有一个文件存放要改的文章,一个文件存放停用表,然后和停用表里的词比较,一样的就删掉,最后把结果存放在一个文件中
stopwords = {}.fromkeys([ line.rstrip() for line in open('stopwords.txt') ])
final = ""
for word in fenci_text:
if word not in stopwords:
if (word != "。" and word != ",") :
final = final + " " + word
print(final)
#第三步:提取关键词
a=jieba.analyse.extract_tags(text, topK = 5, withWeight = True, allowPOS = ())
print(a)
#text 为待提取的文本
# topK:返回几个 TF/IDF 权重最大的关键词,默认值为20。
# withWeight:是否一并返回关键词权重值,默认值为False。
# allowPOS:仅包括指定词性的词,默认值为空,即不进行筛选。
运行结果:
runfile('D:/Data/文本挖掘/xiaojieba.py', wdir='D:/Data/文本挖掘')
新闻 消息 指 报纸 、 电台 、 电视台 、 互联网 记录 社会 、 传播 信息 、 时代 一种 文体 真实性 、 时效性 、 简洁性 、 可读性 、 准确性 新闻 概念 广义 狭义 之分 广义 发表 报刊 、 广播 、 电视 评论 专文 外 常用 文本 新闻 列 包括 消息 、 通讯 、 特写 、 速写 ( 速写 纳入 特写 列 ) 狭义 新闻 专指 消息 消息 概括 叙述 方式 简明扼要 文字 报道 国内外 新近 发生 、 价值 事实 新闻 分 公众 新闻 小道 新闻 每则 新闻 在结构上 包括 标题 、 导语 、 主体 、 背景 结语 五 前 三者 二者 辅助 写法 叙述 兼有 议论 、 描写 、 评论
[('新闻', 0.4804811569680808), ('速写', 0.2121107125313131), ('消息', 0.20363211136040404), ('特写', 0.20023623445272729), ('狭义', 0.16168734917858588)]
好啦,是不是很简单?
来源:https://blog.csdn.net/birdcome/article/details/77971921
0
投稿
猜你喜欢
- 平行坐标图,一种数据可视化的方式。以多个垂直平行的坐标轴表示多个维度,以维度上的刻度表示在该属性上对应值,相连而得的一个折线表示一个样本,以
- 前言本文主要介绍了关于Python+selenium自动化环境搭建的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧
- 遇到一个难题,在无物理键盘情况下,通过页面软键盘在页面文本框输入汉字,不知道51js的各位大牛有没有遇到过这种需求,如果遇到过是如何解决的,
- 滚动图片可以说是做网站经常会遇到的,特别是做企业网站,最常用的像产品展示,图片展示等,滚动的好处是吸引眼球,让人一下就注意到。之前本站发了一
- 修改MySql Server安装目录下的 my.ini 文件,在mysqld节下加入下面一行set-variable=lower_case_
- 概要:Oracle关系数据库系统以其卓越的性能获得了广泛的应用,而保证数据库的安全性 是数据库管理工作的重要内容。本文是笔者在总结Oracl
- 散点图散点图是指在 回归分析中,数据点在直角坐标系平面上的 分布图,散点图表示因变量随 自变量而 变
- 在asp里通过以下两个函数实现javascript里的escape函数和unescape函数加密功能。在ajax post或get时内容存在
- 说到 IE 的 bug,一个臭名昭著的例子是它对于“盒模型”的错误解释:在 IE5.x 以及 Quirks 模式的 IE6/7 中,将 bo
- 代码如下:<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"
- 1.查询高于平均价格的商品名称:SELECT item_name FROM ebsp.product_mark
- 如果我们希望把一个网站的更新实时发布到另一个网站上,最好的方法是通过 RSS 进行转载。如果只是需要简单的对更新的条目做个提示的话,使用 J
- 1、shutdown normal 正常方式关闭数据库。 2、shutdown imme
- number(<p>,<s>)精度p取值范围1~38有效位s取值范围-84~127最高整数位数=p-ss正数,小数点
- 本文实例讲述了PHP数据库表操作的封装类及用法。分享给大家供大家参考,具体如下:数据库表结构:CREATE TABLE `test_user
- 非原创:英文版混乱的标记语言XHTML2/HTML5源文地址:漫画英文版源文地址感谢我的同事Kevin Jaw的翻译。他的博客地址是:Kev
- 107条javascript(js)常用的方法技巧,十分的实用,相信看了下面的这些js编程技巧和方法,能够给javascript初学者解决很
- 以前工作的时候由于Oracle8i数据库经常出现用户过多的错误,由于数据量大,经常出现ORA:12500错误,但主要原因是访问过多而引起的,
- 鉴于人手严重不足(当时算两个半人的资源),打消了逐个库手动去改的念头。当前的程序结构不允许搞革命的做法,只能搞搞改良,所以准备搞个自动化工具
- '去掉字符串头尾的连续的回车和空格 function trimVBcrlf(str) tr