python实现关键词提取的示例讲解


Posted in Python onApril 28, 2018

新人小菜鸟又来写博客啦!!!没人表示不开心~~(>_<)~~

今天我来弄一个简单的关键词提取的代码

文章内容关键词的提取分为三大步:

(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)]

好啦,是不是很简单?

以上这篇python实现关键词提取的示例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python发送邮件的实例代码(支持html、图片、附件)
Mar 04 Python
Tornado服务器中绑定域名、虚拟主机的方法
Aug 22 Python
利用Python中的输入和输出功能进行读取和写入的教程
Apr 14 Python
Python通过Pygame绘制移动的矩形实例代码
Jan 03 Python
从django的中间件直接返回请求的方法
May 30 Python
对python同一个文件夹里面不同.py文件的交叉引用方法详解
Dec 15 Python
Python:Numpy 求平均向量的实例
Jun 29 Python
Python中的引用和拷贝实例解析
Nov 14 Python
如何解决tensorflow恢复模型的特定值时出错
Feb 06 Python
Python中内建模块collections如何使用
May 27 Python
python如何调用php文件中的函数详解
Dec 29 Python
用gpu训练好的神经网络,用tensorflow-cpu跑出错的原因及解决方案
Mar 03 Python
python实现扫描日志关键字的示例
Apr 28 #Python
python socket网络编程之粘包问题详解
Apr 28 #Python
在Windows中设置Python环境变量的实例讲解
Apr 28 #Python
PyTorch快速搭建神经网络及其保存提取方法详解
Apr 28 #Python
对Python中type打开文件的方式介绍
Apr 28 #Python
PyTorch上搭建简单神经网络实现回归和分类的示例
Apr 28 #Python
TensorFlow实现非线性支持向量机的实现方法
Apr 28 #Python
You might like
解析php如何将日志写进syslog
2013/06/28 PHP
Joomla简单判断用户是否登录的方法
2016/05/04 PHP
PHP邮箱验证示例教程
2016/06/01 PHP
源码分析 Laravel 重复执行同一个队列任务的原因
2017/12/25 PHP
laravel实现简单用户权限的示例代码
2019/05/28 PHP
php 实现简单的登录功能示例【基于thinkPHP框架】
2019/12/02 PHP
用JavaScript实现UrlEncode和UrlDecode的脚本代码
2008/07/23 Javascript
asp 取文本框名称代码
2008/12/02 Javascript
extjs grid取到数据而不显示的解决
2008/12/29 Javascript
JS 排序输出实现table行号自增前端动态生成的tr
2014/08/13 Javascript
input输入框鼠标焦点提示信息
2015/03/17 Javascript
js仿苹果iwatch外观的计时器代码分享
2015/08/26 Javascript
AngularJS基础 ng-csp 指令详解
2016/08/01 Javascript
js中判断变量类型函数typeof的用法总结
2016/08/09 Javascript
js实现table添加行tr、删除行tr、清空行tr的简单实例
2016/10/15 Javascript
vue弹窗插件实战代码
2018/09/08 Javascript
微信小程序实现简单跑马灯效果
2020/05/26 Javascript
JS实现数据动态渲染的竖向步骤条
2020/06/24 Javascript
[07:09]2014DOTA2国际邀请赛-Newbee再次发威成功晋级决赛
2014/07/19 DOTA
Python在Console下显示文本进度条的方法
2016/02/14 Python
pygame游戏之旅 添加游戏介绍
2018/11/20 Python
kafka-python批量发送数据的实例
2018/12/27 Python
12个步骤教你理解Python装饰器
2019/07/01 Python
pygame实现俄罗斯方块游戏(AI篇2)
2019/10/29 Python
Python如何定义有可选参数的元类
2020/07/31 Python
解决阿里云邮件发送不能使用25端口问题
2020/08/07 Python
CSS的pointer-events属性详细介绍(作用和注意事项)
2014/04/23 HTML / CSS
canvas实现飞机打怪兽射击小游戏的示例代码
2018/07/09 HTML / CSS
HTML5给汉字加拼音收起展开组件的实现代码
2020/04/08 HTML / CSS
软件测试工程师笔试题带答案
2015/03/27 面试题
销售经理工作职责范文
2013/12/03 职场文书
简历中个人自我评价范文
2013/12/26 职场文书
酒店管理求职信
2014/06/09 职场文书
Golang 正则匹配效率详解
2021/04/25 Golang
NASA 机智号火星直升机拍到了毅力号设备碎片
2022/04/29 数码科技
SpringBoot项目部署到阿里云服务器的实现步骤
2022/06/28 Java/Android