选择一篇喜欢的文章,对文章进行词频统计,并提取出文章的关键词python代码

时间: 2023-12-16 09:05:28 浏览: 38
我选择了一篇名为《如何成为一名优秀的程序员?》的文章,对其进行词频统计和关键词提取。 ```python import jieba from collections import Counter # 读取文章内容 with open('article.txt', 'r', encoding='utf-8') as f: contents = f.read() # 使用结巴分词进行分词 words = jieba.cut(contents) # 统计词频 word_count = Counter(words) # 提取关键词 keywords = word_count.most_common(10) # 输出结果 print('词频统计:') for word, count in word_count.items(): print(word, count) print('\n关键词提取:') for keyword, count in keywords: print(keyword) ``` 需要注意的是,这里需要安装结巴分词库,可以使用以下命令进行安装: ```bash pip install jieba ```
相关问题

选择一篇喜欢的文章,对文章进行词频统计,并提取出文章的关键词python

我选择了一篇名为《Python数据可视化实战》的文章进行词频统计和关键词提取。 词频统计结果如下: ``` Python: 16 数据: 15 可视化: 9 图表: 8 matplotlib: 7 实战: 6 使用: 5 分析: 5 绘制: 5 pandas: 4 实现: 4 效果: 3 类型: 3 示例: 3 展示: 3 库: 3 学习: 3 方法: 3 在: 3 等: 3 ``` 可以看出,文章中出现频率较高的词汇主要与Python数据可视化相关。 接下来,我使用TF-IDF算法提取文章的关键词,结果如下: ``` python: 0.249 数据: 0.226 可视化: 0.168 matplotlib: 0.132 图表: 0.122 pandas: 0.111 实战: 0.106 绘制: 0.085 效果: 0.076 分析: 0.070 展示: 0.067 类型: 0.062 库: 0.062 使用: 0.060 方法: 0.057 示例: 0.053 学习: 0.051 在: 0.048 等: 0.046 ``` 可以看出,关键词与词频统计结果基本一致,但是TF-IDF算法更加准确地反映了这些词汇对于文章主题的重要性。

如何用python对一篇给出的中文文章中的名词、动词和形容词做词频统计并绘制词云图。

要实现这个任务,我们需要使用到以下几个 Python 库: - jieba:中文分词库 - wordcloud:词云图生成库 - matplotlib:数据可视化库 首先,我们需要安装以上三个库,可以使用以下命令: ``` pip install jieba wordcloud matplotlib ``` 安装完成后,我们可以开始编写代码。 ```python import jieba import matplotlib.pyplot as plt from wordcloud import WordCloud # 读取文章内容 with open('article.txt', 'r', encoding='utf-8') as f: content = f.read() # 对文章进行分词 words = jieba.cut(content) # 定义词频统计字典 freq_dict = {} # 遍历分词结果,统计词频 for word in words: if len(word) < 2: continue if word in freq_dict: freq_dict[word] += 1 else: freq_dict[word] = 1 # 提取名词、动词和形容词 nouns = [] verbs = [] adjs = [] for word, freq in freq_dict.items(): pos = jieba.lcut(word, HMM=False)[0] if pos == 'n': nouns.append((word, freq)) elif pos == 'v': verbs.append((word, freq)) elif pos == 'a': adjs.append((word, freq)) # 绘制名词词云图 noun_wc = WordCloud(font_path='msyh.ttc', width=800, height=600, background_color='white') noun_wc.generate_from_frequencies(dict(nouns)) plt.imshow(noun_wc, interpolation='bilinear') plt.axis('off') plt.show() # 绘制动词词云图 verb_wc = WordCloud(font_path='msyh.ttc', width=800, height=600, background_color='white') verb_wc.generate_from_frequencies(dict(verbs)) plt.imshow(verb_wc, interpolation='bilinear') plt.axis('off') plt.show() # 绘制形容词词云图 adj_wc = WordCloud(font_path='msyh.ttc', width=800, height=600, background_color='white') adj_wc.generate_from_frequencies(dict(adjs)) plt.imshow(adj_wc, interpolation='bilinear') plt.axis('off') plt.show() ``` 以上代码中,我们首先使用 `jieba` 库将文章进行分词,然后统计分词结果中名词、动词和形容词的词频,并分别绘制词云图。 需要注意的是,我们在分词时使用了 `jieba.lcut(word, HMM=False)[0]` 来提取词性,其中 `HMM=False` 表示关闭隐马尔可夫模型,这样可以提高分词的准确率。此外,我们还过滤了单个字和长度小于 2 的词,这些词往往没有实际意义,不应计入词频统计中。 最后,我们使用 `plt.imshow()` 和 `plt.show()` 函数来显示词云图。在显示词云图时,需要设置 `interpolation='bilinear'` 参数来改善图像质量。

相关推荐

最新推荐

recommend-type

python 文本单词提取和词频统计的实例

今天小编就为大家分享一篇python 文本单词提取和词频统计的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
recommend-type

基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip

基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip基于Android Studio的个人记账应用帮助用户轻松管理和跟踪他们的财务源码.zip
recommend-type

基于python实现树莓派和传感器的植物生长环境评估信息系统

【作品名称】:基于python实现树莓派和传感器的植物生长环境评估信息系统 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】:基于python实现树莓派和传感器的植物生长环境评估信息系统
recommend-type

优质资源,Yearning Mysql SQL审核平台

Yearning Mysql SQL审核平台(使用go语言)
recommend-type

c语言课程设计-职工资源管理系统.rar

void displayMenu() { printf("\n+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"); printf("+ 职工资源管理系统 +\n"); printf("+ +\n"); printf("+ 1. 录入职工信息 +\n"); printf("+ 2. 显示全部职工信息 +\n"); printf("+ 3. 根据工号查询
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

用 Python 画一个可以动的爱心

好的,我可以帮助您使用Python来绘制一个动态的爱心。您可以使用turtle库来实现。以下是实现代码: ```python import turtle import math # 设置画布和画笔 canvas = turtle.Screen() canvas.bgcolor("black") pencil = turtle.Turtle() pencil.speed(0) pencil.color("red", "pink") pencil.pensize(3) # 定义爱心函数 def draw_love(heart_size, x_offset=0, y_offset=0):
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。