提取简单的关键词
提取文章内容关键词分为三个步骤:
(1) 分词
(2) 去停用词
(3) 关键词提取
分词的方法有很多,所以我在这里选择常用的结巴jieba分词;去停用词,我用了一个停用词表。具体代码如下:
importjieba importjieba.analyse #第一步:分词,这里用结巴分词全模式 text='''新闻,又称新闻,是指报纸、电台、电视台、互联网经常使用的一种记录社会、传播信息、反映时代的风格。 它具有真实性、及时性、简洁性、可读性和准确性。\ 新闻概念可以分为广义和狭义。\ 广义上说,除了报纸、广播、电视上发表的评论和专文外,常用的文本都属于新闻,包括新闻、通讯、特写、素描 (有的将素描列入特写)等等。\ 狭义的新闻是指新闻,新闻是一种相对简洁、简洁的叙述方式,快速、及时地报道国内外最近发生的有价值的事实。\ 新闻也分为公共新闻和小道新闻。在结构上,每条新闻一般包括五个部分:标题、导语、主体、背景和结语。\ 前三者是主要部分,后两者是辅助部分。写作主要是叙述,有时还有讨论、描述、评论等。 ''' fenci_text=jieba.cut(text) #print("/".join(fenci_text)) #第二步:去停用词 #这里有一篇文件存储需要更改,一个文件存储停止表,然后与停止表中的单词进行比较,删除相同的单词,最后将结果存储在文件中 stopwords={}.fromkeys([line.rstrip()forlineinopen('stopwords.txt')]) final="" forwordinfenci_text: ifwordnotinstopwords: if(word!="。"andword!=","): final=final+""+word print(final) #第三步:提取关键词 a=jieba.analyse.extract_tags(text,topK=5,withWeight=True,allowPOS=()) b=jieba.analyse.extract_tags(text,topK=6,allowPOS=()) print(a) print(b) #text提取的文本 #topK:默认值为20,返回几个TF/IDF权重关键词。 #withWeight:默认值为False是否返回关键词权重值? #allowPOS:只包括指定词性的词,默认值为空,即不筛选。
运行结果如下:
新闻又称新闻,是指记录社会、传播信息、反映时代的文体,经常被报纸、广播电台、电视台和互联网使用。 具有真实性、及时性、简洁性、可读性和准确性的特点。新闻概念可以分为广义和狭义。从广义上讲,除了出版 报刊、广播、电视上的评论和专文以外的常用文本都属于新闻,包括新闻、通讯、特写、素描 (有的将素描列入特写)等狭义新闻是指新闻新闻是一种简洁而简洁的叙述方式 快速及时地报道国内外最近发生的有价值的事实新闻,也分为公共新闻和八卦新闻。 一般来说,前三个部分包括标题、导语、主题、背景和结语,后两个部分是主要部分,后两个部分是辅助部分。写作主要是叙述 有时还有讨论、描述、评论等 [('新闻',0.4804815696808);速写',0.212107125313131);消息',0.20363211136040404), ('特写',0.200236245272729);狭义',0.16168734917858588)] ['新闻','速写','消息','特写','狭义','广义']
python培训视频众多,全部在python学习网,欢迎在线学习!