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

作者:jingxian 时间:2021-09-02 05:38:58 

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

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

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

(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

标签:python,关键词,提取
0
投稿

猜你喜欢

  • 用python脚本24小时刷浏览器的访问量方法

    2022-07-16 18:21:33
  • 巧用mysql提示符prompt清晰管理数据库的方法

    2024-01-24 14:05:07
  • python numpy.linalg.norm函数的使用及说明

    2022-05-27 10:20:32
  • Python中的pathlib库使用详解

    2023-07-22 02:09:24
  • OpenCV实现机器人对物体进行移动跟随的方法实例

    2023-04-20 08:50:49
  • 一文教你实现Python重试装饰器

    2022-04-23 08:01:07
  • Swoole webSocket消息服务系统代码设计详解

    2023-06-09 01:05:28
  • 升级SQL Server 2014的四个要点要注意

    2024-01-18 09:58:01
  • Django后端接收嵌套Json数据及解析详解

    2021-04-24 20:11:38
  • ASP强制刷新和判断文件地址是否存在

    2007-09-16 17:11:00
  • Python(PyS60)实现简单语音整点报时

    2023-07-06 03:05:23
  • JavaScript让Textarea支持tab按键的方法

    2024-05-05 09:15:00
  • scrapy-redis的安装部署步骤讲解

    2023-03-18 11:53:41
  • python异常中else的实例用法

    2021-02-05 06:18:56
  • 如何在django里上传csv文件并进行入库处理的方法

    2022-02-07 00:19:31
  • pycharm中使用request和Pytest进行接口测试的方法

    2022-06-30 03:34:46
  • python随机生成大小写字母数字混合密码(仅20行代码)

    2021-04-03 23:28:47
  • 《悟透JavaScript》之 甘露模型

    2008-06-09 14:03:00
  • 详解python中的defaultdict 默认值

    2022-12-27 08:51:40
  • asp如何实现无组件上传二进制文件?

    2010-06-03 10:09:00
  • asp之家 网络编程 m.aspxhome.com