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实现的二叉树算法和kmp算法实例
Apr 25 Python
Python实现partial改变方法默认参数
Aug 18 Python
python获取Linux下文件版本信息、公司名和产品名的方法
Oct 05 Python
Python 搭建Web站点之Web服务器网关接口
Nov 06 Python
正确理解python中的关键字“with”与上下文管理器
Apr 21 Python
深入探究Django中的Session与Cookie
Jul 30 Python
python实现读取excel写入mysql的小工具详解
Nov 20 Python
Python实现matplotlib显示中文的方法详解
Feb 06 Python
python 限制函数执行时间,自己实现timeout的实例
Jan 12 Python
在django view中给form传入参数的例子
Jul 19 Python
python中rc1什么意思
Jun 19 Python
python Protobuf定义消息类型知识点讲解
Mar 02 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
2006/12/13 PHP
解析php通过cookies获取远程网页的指定代码
2013/06/25 PHP
生成随机字符串和验证码的类的PHP实例
2013/12/24 PHP
js 返回时间戳所对应的具体时间
2010/07/20 Javascript
jquery实现marquee效果(文字或者图片的水平垂直滚动)
2013/01/07 Javascript
javascript不可用的问题探究
2013/10/01 Javascript
文字垂直滚动之javascript代码
2015/07/29 Javascript
JavaScript+CSS无限极分类效果完整实现方法
2015/12/22 Javascript
javascript事件绑定学习要点
2016/03/09 Javascript
js实现把图片的绝对路径转为base64字符串、blob对象再上传
2016/12/29 Javascript
浅谈JS函数节流防抖
2017/10/18 Javascript
bootstrap Table的一些小操作
2017/11/01 Javascript
vue里的data要用return返回的原因浅析
2019/05/28 Javascript
JQuery发送ajax请求时中文乱码问题解决
2019/11/14 jQuery
在vue中使用image-webpack-loader实例
2020/11/12 Javascript
实用的 vue tags 创建缓存导航的过程实现
2020/12/03 Vue.js
vue前端和Django后端如何查询一定时间段内的数据
2021/02/28 Vue.js
[16:43]Heroes19_剃刀(完美)
2014/10/31 DOTA
Python切片用法实例教程
2014/09/08 Python
Python模拟登录验证码(代码简单)
2016/02/06 Python
spyder常用快捷键(分享)
2017/07/19 Python
python 3.6 tkinter+urllib+json实现火车车次信息查询功能
2017/12/20 Python
Python程序运行原理图文解析
2018/02/10 Python
python Manager 之dict KeyError问题的解决
2019/12/21 Python
Python socket聊天脚本代码实例
2020/01/02 Python
使用python 的matplotlib 画轨道实例
2020/01/19 Python
英国人最爱的饰品网站:Accessorize
2016/08/22 全球购物
单位工程竣工验收方案
2014/03/16 职场文书
2014预备党员党课学习心得范文
2014/07/08 职场文书
党支部特色活动方案
2014/08/20 职场文书
个人年底工作总结
2015/03/10 职场文书
小人国观后感
2015/06/11 职场文书
2015年暑期见闻
2015/07/14 职场文书
2015年车间管理工作总结
2015/07/23 职场文书
Vue.js中v-for指令的用法介绍
2022/03/13 Vue.js
《辉夜大小姐想让我告白》第三季正式预告
2022/03/20 日漫