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


本文摘自php中文网,作者不言,侵删。

下面为大家分享一篇python实现关键词提取的示例讲解,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧

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

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

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

(1) 分词

(2) 去停用词

(3) 关键词提取

分词方法有很多,我这里就选择常用的结巴jieba分词;去停用词,我用了一个停用词表。

具体代码如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

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:仅包括指定词性的词,默认值为空,即不进行筛选。

阅读剩余部分

相关阅读 >>

巧妙解决Python多线程死锁问题

Python如何查看变量类型

解析Python实现mq消息队列以及消息队列的优点

Python主要做什么开发

Python之反转序列详解

Python是什么意思?怎么读?

Python3是什么

初中生如何学习Python

Python底层是用c写的吗

Python爬虫学到什么程度能找到工作

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...